Нарисовать паркет с помощью процедуры - Pascal ABC
Формулировка задачи:
Нарисовать паркет с помощью процедуры
Решение задачи: «Нарисовать паркет с помощью процедуры»
textual
Листинг программы
uses GraphABC; type point=record x,y:integer; end; procedure plitk(x,y,r:integer); var p:array[1..9]of point; a,da:real; i:byte; begin a:=pi/2; da:=pi/4; for i:=1 to 9 do begin p[i].x:=x+round(r*cos(a)); p[i].y:=y-round(r*sin(a)); a:=a+da; end; polygon(p,9); end; var r,i,j,x,y,d:integer; begin r:=20; y:=r; while y<=windowheight do begin x:=r; while x<=windowwidth do begin plitk(x,y,r); x:=x+2*r; end; y:=y+2*r end; end.
Объяснение кода листинга программы
- В начале кода подключается библиотека GraphABC.
- Создается тип данных
point
, представляющий точку с координатами x и y. - Определяется процедура
plitk
, которая принимает три аргумента: x, y и r. Эта процедура рисует полигон с помощью функцииpolygon
из библиотеки GraphABC. - Создается переменная
p
, которая представляет собой массив из 9 точек. - Вычисляются значения
a
иda
- углы, используемые для расчета координат точек. - Запускается цикл, который рисует полигон, начиная с точки (x, y) и увеличивая x и y на r с каждой итерацией.
- В цикле while выполняется до тех пор, пока y меньше или равно высоте окна.
- В цикле while выполняется до тех пор, пока x меньше или равно ширине окна.
- В каждой итерации цикла while вызывается процедура
plitk
с текущими значениями x и y и значением r, увеличенным в два раза. - После завершения цикла while значение y увеличивается в два раза.
- Код завершается.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д