Программирование. Pascal ABC. Циклы в графике


Чтобы посмотреть презентацию с оформлением и слайдами, скачайте ее файл и откройте в PowerPoint на своем компьютере.
Текстовое содержимое слайдов:

Циклы в графикеГрафические орнаменты:линии Циклы в графикеДля большего понимания работы циклов рассмотрим их применение для рисования повторяющихся фигур.Рисовать будем на полном экране черным цветом, следовательно, начало программ будет выглядеть так:program z;uses graphabc;begin maximizewindow; setpencolor(0);end. Вертикальные линииДля начала рассмотрим простейший случай изменения координат при рисовании вертикальных линий:Что изменяется при рисовании линий?Какой вид цикла можно использовать?Каково начальное значение переменной?Каково конечное значение переменной?Каков шаг изменения переменной?Что остаётся неименным при рисовании?



Вертикальные линииИтак, выберем переменную (например, x, так как изменяется именно координата x).Выберем вид цикла (например, c постусловием – вообще можно и с предусловием и даже цикл for, но, так как мы один раз точно будем рисовать и не хотим заморачиваться с операторными скобками и вычислениями, то подойдет и цикл repeat-until)Начальное значение переменной равно нулю, конечное – ширине экрана, шаг изменения, например, 20.Неизменным остаются координаты по y: первая равна нулю, а вторая – высоте экрана. Вертикальные линииИсходя из всего вышеперечисленного, получаем программу:uses graphabc;var x:integer;begin maximizewindow; x:=0; repeat line(x,0,x,windowheight); x:=x+20; until x>windowwidth;end. Горизонтальные линииПопробуйте изменить программу для рисования горизонтальных линий (имя переменной можно не менять): Горизонтальные линии: Ответprogram z;uses graphabc;var x:integer;begin maximizewindow; setpencolor(0); setpenwidth(3); x:=0; repeat line(0,x,windowwidth,x); x:=x+20; until x>windowheight;end. Диагональные линииИзмените программу для рисования диагональных линий (возможно придется изменить конечное значение переменной): Диагональные линии: Ответ x:=0; repeat line(x,0,0,x); x:=x+20; until x>windowwidth*2; Диагональные линииА теперь так: Диагональные линии 2: Ответ x:=0; repeat line(windowwidth-x,0, windowwidth,x); x:=x+20; until x>windowwidth*2; ЗаданияСледующие слайды демонстрируют примерную картину заданий:Вертикальные «песочные часы»Горизонтальные «песочные часы»ПаутинкиЛевый верхний уголПравый верхний уголЛевый нижний уголПравый нижний уголСтранная завитуха Задание: Вертикальные «песочные часы» Задание: Горизонтальные «песочные часы» Задание: Паутинка (левый верхний угол) Задание: Паутинка (правый верхний угол) Задание: Паутинка (левый нижний угол) Задание: Паутинка (правый нижний угол) Задание: Странная завитуха


С помощью цикла создайте следующие картинки:
1. Квадраты со стороной 40 (координаты изменяются одинаково)

2. Окружности радиусом 40 (координаты изменяются одинаково)

3. Дуги по вертикали
Координаты центра экрана по оси x можно найти так: windowwidth div 2

4. Квадраты со стороной 40 с вписанными окружностями (здесь в цикле происходит рисование сразу двух фигур: прямоугольника и окружности)
Координаты центра экрана по оси y можно найти так: windowheight div 2

5. Вложенные прямоугольники


6. Вложенные окружности


Приложенные файлы