Видео:Вычисление площади круга и длинны окружности по заданному радиусу в Паскаль с применением константыСкачать
Программа на паскаль для рисования графических узоров
В этой статье мы научимся писать программу на паскаль, которая рисует красивые графические узоры из концентрических окружностей. Концентрические окружности имеют общий центр и разные радиусы.
Напишем процедуру uzor для рисования концентрических окружностей, в качестве параметров в процедуру будем передавать центр концентрических окружностей, количество окружностей и шаг изменения радиуса
Подробно о процедурах в Паскале В цикле for будем рисовать заданное число окружностей, при этом радиус окружностей будет постоянно увеличиваться( r:=r+v;)
Чтобы цвет окружностей чередовался, будем использовать оператор выбора case в паскале и в зависимости от остатка от деления на 3 (число цветов можно увеличить) будет устанавливаться соответствующий цвет. Для определения остатка от деления используется оператор переменная mod число
procedure uzor(x, y, n, v : integer);
var i,r:integer;
begin
r:=10;
for i:=1 to n do begin
r:=r+v;
SetPenColor(clRed);
case i mod 3 of
0 : SetPenColor(clRed);
1 : SetPenColor(clGreen);
2 : SetPenColor(clBlue);
end;
drawcircle (x,y,r);
end;
end;
теперь в теле основной программы на паскаль мы можем вызывать процедуру uzor с различными значениями параметров. Если изменять координаты x и y то можно красиво наложить узоры из концентрических окружностей.
Полная версия программы на паскаль для рисования графических узоров из концентрических окружностей
uses GraphABC;
procedure uzor(x, y, n, v : integer);
var i,r:integer;
begin
r:=10;
for i:=1 to n do begin
r:=r+v;
SetPenColor(clRed);
case i mod 3 of
0 : SetPenColor(clRed);
1 : SetPenColor(clGreen);
2 : SetPenColor(clBlue);
end;
drawcircle (x,y,r);
end;
end;
begin
setWindowSize(500, 500);
uzor(100,150,20,4);
uzor(150,150,20,4);
uzor(125,100,20,4);
uzor(125,200,20,4);
end.
Получится такой красивый узор
Полезно почитать по теме графика в паскаль
Графика на паскале
Анимация на паскале
Видео:Нахождение длины окружности и площади круга на ПаскальСкачать
Концентрические окружности в паскале
Pascal ABC
ГЛАВНАЯ | |||
УСТАНОВКА | |||
ОКНО ПРОГРАММЫ | |||
ЛИНЕЙНЫЕ АЛГОРИТМЫ | |||
ЧЕРТЁЖНИК | |||
GraphABC | |||
РОБОТ | |||
АЛГОРИТМЫ С ВЕТВЛЕНИЯМИ | |||
АЛГОРИТМЫ С ПОВТОРЕНИЯМИ | |||
ПРОЦЕДУРЫ И ФУНКЦИИ | |||
ТЕСТЫ | |||
ТВОРЧЕСКИЕ РАБОТЫ | |||
ОЛИМПИАДНЫЕ ЗАДАНИЯ |
Этапы выполнения задания. I. Результат работы программы не зависит от исходных данных II. Определение результатов: рисунок, отображающий ряд окружностей вдоль верхнего края экрана. III. Алгоритм решения задачи. 1. Определение положения первой окружности. Окружность задается радиусом и координатами центра. Радиус r=10. Первую окружность расположим в верхнем левом углу. Координаты центра – x=11, y=11. 2. Положение любой другой окружности, удовлетворяющей условию задачи, будет определяться координатой x. Поэтому в цикле будем изменять значение координаты x. Каждое новое значение будет на 20 больше предыдущего. 3. Цикл должен завершиться, когда значение координаты x станет большим, чем горизонтальный размер экрана (например, 800 пикселей). IV . Описание переменных: Переменные x, y, r – integer. Можешь загрузить! Пример 1_1 VI . Тестирование программы: 1 . З апустите программу, проверьте, результат должен быть следующим:
2. Окружности нарисованы не до конца, поэтому увеличьте размер окна вывода. 3. Почему все окружности рисуются черным цветом? Внесите изменения в программу так, что бы все окружности были красными. 4 . Добавьте в программу переменную c, для изменения цвета окружностей в цикле. Начальное значение переменной с=1, в теле цикла вписать команду SetPenColor(c). Для изменения цвета в теле цикла (после изменения значения координаты x) нужно добавить команду: c:=c+1; Можешь загрузить! Пример 1_2 5. Цвет окружностей можно задавать случайным образом. Для этого значение переменной c нужно задать следующим образом: В начале программы нужно вписать команду randomize; для настройки датчика случайных чисел. 6. Какие изменения нужно внести в программу, чтобы окружности рисовались вдоль левого края экрана? 5*. Какие изменения нужно внести в программу, что бы на экране рисовались концентрические окружности, с центром в середине экрана?
Пример 2. Нарисовать на экране k разноцветных кругов, с радиусом 5 пикселей. Расположение кругов определяется случайным образом. Те круги, для которых координата x > y , закрасить синим цветом, а остальные желтым. Этапы выполнения задания. I. Определение исходных данных: переменная k(количество кругов). II. Определение результатов: рисунок, отображающий k кругов. III. Алгоритм решения задачи. 2. Подсчет кругов будем осуществлять с помощью цикла for. Переменная цикла n будет изменяться от 1 до k. 3. В цикле выполняем следующие действия:
б) С помощью условного оператора if будем проверять условие x>y. В зависимости от истинности условия установим синий или желтый цвет заливки круга. в) Нарисуем круг. IV . Описание переменных: Переменные x, y (координаты центра круга), с (цвет), n, k – integer. writeln(‘kol-vo krugov’); readln(k); if x>y then c:=clblue else c:=clred; Можешь загрузить! Пример 2 VI . Тестирование программы: 1. Проверьте работу программы для следующих значений k: 10, 100, 1000 2. Как располагаются кружки на экране? 3. Внесите в программу изменения так, чтобы синие кружки располагались слева, а желтые справа. 4. Какие алгоритмические структуры использовались при написании данной программы? Видео:Вычисление площади и периметра прямоугольника в ПаскальСкачать Используем в рисовании переменные величиныЕсли вы нарисовали снеговика, то наверное согласитесь, что для этого вам пришлось основательно потрудиться, хотя сам рисунок не слишком богат, в нем всего порядка десяти элементов. Как заставить Паскаль короткой программой рисовать множество элементов? Ответ: применять циклы, используя в обращениях к графическим процедурам вместо чисел переменные величины и арифметические выражения. Задача: Нарисовать горизонтальный ряд окружностей радиусом 10 на расстоянии 100 от верхнего края экрана и с такими горизонтальными координатами 50, 80, 110, 140, , 290. Как видим, центры соседних окружностей отстоят друг от друга на 30. Вот примитивный фрагмент, решающий эту задачу: При вводе этой программы вас будет раздражать необходимость вводить много раз почти одно и то же. Воспользуйтесь копированием, которое объяснено в параграфе «Копирование и перемещение фрагментов текста» из части IV. Мы видим, что здесь Паскаль 9 раз выполнит одну и ту же процедуру, причем при каждом следующем обращении первый параметр вырастает на 30. А теперь решим эту же задачу при помощи цикла. Придумаем для первого параметра переменную величину, например, х. Чтобы х изменялся, организуем цикл repeat. Вот программа решения задачи: VAR x, Device, Mode :Integer; Задание 69:. Попробуйте уменьшить расстояние между центрами окружностей, не изменяя их радиуса, нарисовав их плотнее, чтобы они пересекались, еще плотнее, пока они не образуют “трубу”. Задание 70:. Удлините трубу налево и направо до краев экрана. Задание 71:. Увеличьте толщину трубы. Заставим окружности вести себя посложнее. Например, расположим их не по горизонтали, а по диагонали экрана в направлении от левого верхнего угла в правый нижний. Для этого организуем еще одну переменную — вертикальную координату у — и заставим ее тоже изменяться одновременно с x. VAR x, y, Device, Mode : Integer; Если мы захотим менять радиус, то организуем переменную R, тоже типа Integer. Задание 72:. Нарисуйте ряд точек по направлению из левого нижнего угла в правый верхний. Задание 73:. “Круги на воде”. Нарисуйте пару десятков концентрических окружностей, то есть окружностей разного радиуса, но имеющих общий центр. Задание 74:. “Компакт-диск”. Если радиус самого маленького “круга на воде” будет порядка 50, а самого большого — во весь экран, и если радиусы соседних окружностей будут различаться на 2-3 пиксела, то на экране вы увидете привлекательный “компакт-диск”. Сделайте его золотым (Yellow). Задание 75:. Не трогая x, а меняя только y и R, вы получите коническую башню. Задание 76:. Меняя все три параметра, вы получите трубу, уходящую в бесконечность. Задание 77:. Разлинуйте экран в линейку. Задание 78:. А теперь в клетку. Задание 79:. А теперь в косую линейку. Задание 80:. Начертите ряд квадратов. Чтобы получить богатые рисунки, нужно использовать богатые возможности Паскаля: вложенные циклы, ветвление внутри цикла и т.д., например: Задание 81:. Нарисуйте шахматную доску. Задание 82:. “Ковер”. В задании 69 вы рисовали горизонтальный ряд пересекающихся окружностей. Теперь нарисуйте один под другим много таких рядов. Указания: Здесь вам понадобятся вложенные циклы. Если центры соседних окружностей отстоят друг от друга на одинаковое расстояние что по горизонтали, что по вертикали, и если удачно подобраны остальные числа, то у вас получится красивый ковер во весь экран с аккуратными краями. Задание 83:. Пусть у этого ковра будет вырезан левый нижний угол. Задание 84:. и вдобавок вырезан квадрат посередине. 📽️ ВидеоПаскаль Блез. Биография Паскаля. Интересные Факты о Паскале. Великий Математик и МыслительСкачать Паскаль с нуля [ч3]. Константы и ввод данныхСкачать Pascal. Работа с графикой (Ellipse, rectangle, circle, textout)Скачать Урок 21. Подпрограммы. Функции на языке ПаскальСкачать Матрицы в паскале: задачи с массивами из задачника М. Э. Абрамян (Matrix27)Скачать Блез Паскаль философия кратко. Книга "Мысли" анализ. История европейской культуры 8 - А. ПустовитСкачать Паскаль с Нуля. Арифметические действия, DIV, MOD. Урок 3Скачать Рисование в Pascal ABC (размеры окна, основные фигуры, заливка, текст, толщина и цвет линий)Скачать Рисуем в среде программирования PascalСкачать Решение задач по программированию на Pascal. Занятие 2Скачать Pascal Полный курс с нуля за 4 часаСкачать Урок 22. Процедуры на ПаскалеСкачать Паскаль с Нуля. Переменные, Оператор присваивания, Оператор ввода. Урок 2Скачать Зачем изучать ПаскальСкачать рисование в паскалеСкачать История Западной философии. Лекция №25. «Философия Блеза Паскаля»Скачать |