Конспект урока на тему Циклы. Программирование рисунка


Тема урока: Циклы. Программирование рисунка.

Цель Урока: - Показать использование функций графики в циклах.

План Урока: 1. Алгоритм построение рисунка. Сценарий рисунка.

Программа рисунка для ЭВМ

Ход Урока:

Uses Crt, GraphABC;













































































































Var x, i,y, r:integer;

BEGIN

Floodfill(1,1,clnavy);

Темно-синий фон

Рисование тучи

randomize;

setbrushcolor(cllightgray);

Светло-серый круг

setpencolor(cldarkgray);

Темно-серая окружность

For x:=100 To 400 Do

ellipse(x, random(30)+10,x+50,random(70));

Эллипс разного размера

Рисование дождя

setpencolor(clgray);

Серый цвет

x:=120;

Repeat

line(x,80,x+20,random(120)+120);

Линии дождя

x:=x+10;

delay(10);

Until x>400;

Рисование стены дома

x:=350;

y:=360;

Repeat

Repeat

setpencolor(clmaroon);

Кирпичный цвет

Fillrect(x+2,y+2,x+51,y+11);

Блоки дома по вертикали

Setpencolor(clLightgray);

Светло-серый цвет

rectangle(x, y,x+50,y+10);

Раствор между кирпичами

y:=y-10;

delay(50);

Until y

y:=360; x:=x+50;

И по горизонтали

Until x>500;

Рисование украшение на дом виде кружков

y:=200; r:=15;

Repeat

setbrushcolor(clOlive);

Оливковый цвет

circle(350,y, r);

Круги слева

circle(550,y, r);

Круги справа

y:=y+20;

Увеличение Y вниз

r:=r-2;

Уменьшение радиуса

delay(10);

Пауза

Until y>280;

Рисование крыши

x:=10;

For y:=200 Downto 100 Do

Begin

setpencolor(clpurple);

Line(300+x, y,600-x, y);

Трапеция

X:=x+1;

delay(50);

End;

Рисование окна

For y:=300 Downto 230 Do

Begin

setpencolor(clyellow);

Желтый цвет

fillrect(410,y,480,y-10);

Фон окна

delay(10);

End;

Рисование ступенек

X:=520; y:=330;

While X<=610 Do

Begin

Setbrushcolor(clSkyBlue);

Небесно-голубой цвет

rectangle (x, y,x+30,y+10);

Ступенька

x:=x+30;

y:=y+10;

delay(10);

End;

Рисование фонаря

For r:=1 To 9 Do

Begin

setpencolor(clfuchsia);

Фиолетовый цвет

Arc(580,280,r2,0,360);

Фонарь из кругов

Line(540,290+r,580,295+r);

Подставка

delay(10);

End;

Рисование забора

x:=50;

While x<400 Do

Begin

setpencolor(clred);

Красный цвет

rectangle(x-2,258,x+32,372);

Контур забора

setbrushcolor(clgray);

Серый цвет

fillrect(x,260,x+30,370);

Фон забора

x:=x+40;

delay(10);

End;

Рисование Ёлки

For I:=120 Downto 0 Do

Begin

Setpencolor(clgreen);

Зеленый цвет

Line(80+random(i-1),260+i,80-random(i-1),260+i);

Ветки ёлки

Setpencolor(clbrown);

Коричневый цвет

Line(80,270+i,85,270+i);

Ствол ёлки

Setpencolor(cllime);

Салатный цвет

Line(80-random(i-1),250+i,80+random(i+1),250+i);

Ветки елки

delay(10);

End;

END.


Похожая картина в редакторе ТР

Uses Crt, Graph;























































Var x, i,y, r:integer;

BEGIN

i:=detect;

InitGraph(i, i,'');

Randomize;

setbkcolor(1);

Цвет фона (синий)

setcolor(8);

Цвет эллипса (серый)

setfillstyle(1,7);

Стиль (сплошной, св. серый)

Эллипсовидные тучи

For x:=100 To 400 Do

Begin

fillellipse(x, random(50)+40,random(40),random(20));

Случайное построение эллипса

delay(2500);

Пауза в выполнении

End;

setcolor(3);

Дождь с помощью линий

x:=120;

Repeat

line(x,100,x+20,random(120)+120);

Линии случайной длины

delay(2300);

Пауза в выполнении

x:=x+10;

Увеличение х на 10

Until x>400;

Забор с контуром и фоном

x:=100;

While xDo

Begin

setcolor(15);

rectangle(x-2,258,x+32,372);

Контур прямоугольника

setfillstyle(random(10)+1,random(16)+3);

bar(x,260,x+30,370);

Фон прямоугольника

x:=x+40; End;

Нечто зеленое и дом

For y:=400 Downto 200 Do

Begin

setcolor(2);

Установка зеленого цвета

line(random(100)+100,y, random(200),y);

delay(2000);

Пауза в выполнении

setcolor(6);

Установка коричневого цвета

line(500,y,620,y); End;