Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТPascal Сборник конспектов.doc
Скачиваний:
24
Добавлен:
10.11.2018
Размер:
924.67 Кб
Скачать

23. Решение задач на подпрограммы.

1. Написать программу для построения изображения:

Использовать подпрограммы для построения следующих элементов:

Треугольник.

Формальные параметры:

x1,y1,x2,y2,x3,y3 –координаты вершин

Cl – цвет линий

Сf – цвет заливки

Примечание:

Центр треугольника находится так:

XC=(x1+x2+x3)/3

YC=(y1+y2+y3)/3

Procedure Tr(x1,y1,x2,y2,x3,y3,cl,cf:Integer);

Var xc,yc:Integer;

Begin

SetColor(cl);

Line(x1,y1,x2,y2);

Line(x2,y2,x3,y3);

Line(x3,y3,x1,y1);

xc:=Round((x1+x2+x3)/3);

yc:=Round((y1+y2+y3)/3);

SetfillStyle(1,cf);

FloodFill(xc,yc,cl);

End;

Ёлка.

y4

y3

y2

h

y1

y

x1 x x2

w

Формальные параметры:

x,y – координаты основания

h – высота, w – ширина

ck – цвет кроны

cs – цвет ствола

Procedure El(x,y,h,w,ck,cs:Integer);

Var x1,x2,y1,y2,y3,y4:Integer;

Begin

x1:=x-Round(w/2); x2:=x+Round(w/2);

y1:=y-Round(h/4); y2:=y-Round(h/2);

y3:=y-Round(3*h/4); y4:=y-h;

Tr(x1,y3,x,y4,x2,y3,ck,ck);

Tr(x1,y2,x,y3,x2,y2,ck,ck);

Tr(x1,y1,x,y2,x2,y1,ck,ck);

SetFillStyle(1,cs);

Bar(x-Round(w/10),y1,x+Round(w/10),y);

End;

2. Добавьте в вашу программу следующие элементы:

Подпрограмма «Береза»

Procedure Ber(x,y,h,ck,cn:Integer);

Var y1,y2,y3,y4,r2,r3,r4 : Integer;

Begin

y1:=Round(y-6*h/24);

y2:=Round(y-10*h/24); r2:=Round(h/6);

y3:=Round(y-17*h/24); r3:=Round(h/8);

y4:=Round(y-22*h/24); r4:=Round(h/12);

SetFillStyle(1,cn);

Bar(x-Round(h/20),y,x+Round(h/20),y1);

Setcolor(ck);SetFillStyle(1,ck);

Circle(x,y2,r2);FloodFill(x,y2,ck);

Circle(x,y3,r3);FloodFill(x,y3,ck);

Circle(x,y4,r4);FloodFill(x,y4,ck);

End;

Подпрограмма «Мухомор».

x-w/2

x-w/4

x

x+w/4

x+w/2

y-h

y-7h/8

y-5h/8

h

y-h/2

x,y

y

w

Радиус белой точки = h/30

Эту процедуру вам нужно разработать самим

Procedure much(x,y,w,h,cs,cn:Integer);

Var ……..

Begin

……………………..

……………………..

……………………..

……………………..

……………………..

……………………..

……………………..

End;

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]