Нарисовать "лес", состоящий из нескольких рядов одинаковых ёлочек - Turbo Pascal
Формулировка задачи:
Нарисовать "лес", состоящих из нескольких рядов одинаковых ёлочек. Использовать процедуру рисования одной ёлочки.
Может есть у кого нибудь такая задача?
Решение задачи: «Нарисовать "лес", состоящий из нескольких рядов одинаковых ёлочек»
textual
Листинг программы
uses graph; procedure elka(x,y,a:integer); procedure trg; begin setcolor(2); setfillstyle(1,2); line(x-a,y+a,x+a,y+a); line(x-a,y+a,x,y); line(x,y,x+a,y+a); floodfill(x,y+a div 2,2); end; var i:integer; begin for i:=1 to 6 do begin trg; y:=y+2*a div 3; a:=a+5 end; setcolor(6); setfillstyle(1,6); bar(x-a div 8,y+a div 3,x+a div 8,y+a div 3+a div 4); end; var x,y,i,j:integer; begin initgraph(x,y,''); y:=1; while y<getmaxY do begin x:=1; while x<getmaxX do begin elka(x,y,5); x:=x+60; end; y:=y+90; end; readln end.
Объяснение кода листинга программы
- В начале кода используется библиотека graph, которая предоставляет функции для работы с графиками.
- В процедуре elka(x,y,a) рисуется треугольник с вершинами (x-a,y+a), (x+a,y+a), (x,y). Переменные x и y представляют координаты вершин, а переменная a определяет высоту треугольника.
- В процедуре trg выполняется рисование фона. Устанавливается цвет и стиль заливки, затем рисуются линии и заливка прямоугольника.
- Переменная i используется для цикла, который повторяется 6 раз. Внутри цикла вызывается процедура trg, изменяются значения переменных x и y, а также значение переменной a.
- В конце кода рисуется горизонтальная полоса с помощью функции bar. Устанавливаются параметры начала и конца полосы, а также её высота.
- Переменные x, y, i и j инициализируются значениями 1.
- Запускается цикл while, который продолжается до тех пор, пока значение переменной y меньше максимального значения y.
- Внутри цикла while инициализируется значение переменной x равным 1.
- Запускается вложенный цикл while, который повторяется до тех пор, пока значение переменной x меньше максимального значения x.
- Внутри вложенного цикла while вызывается процедура elka(x,y,5), рисуется треугольник, затем значение переменной x увеличивается на 60.
- После окончания вложенного цикла while значение переменной y увеличивается на 90.
- Конец программы.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д