Нарисовать "лес", состоящий из нескольких рядов одинаковых ёлочек - 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.

Объяснение кода листинга программы

  1. В начале кода используется библиотека graph, которая предоставляет функции для работы с графиками.
  2. В процедуре elka(x,y,a) рисуется треугольник с вершинами (x-a,y+a), (x+a,y+a), (x,y). Переменные x и y представляют координаты вершин, а переменная a определяет высоту треугольника.
  3. В процедуре trg выполняется рисование фона. Устанавливается цвет и стиль заливки, затем рисуются линии и заливка прямоугольника.
  4. Переменная i используется для цикла, который повторяется 6 раз. Внутри цикла вызывается процедура trg, изменяются значения переменных x и y, а также значение переменной a.
  5. В конце кода рисуется горизонтальная полоса с помощью функции bar. Устанавливаются параметры начала и конца полосы, а также её высота.
  6. Переменные x, y, i и j инициализируются значениями 1.
  7. Запускается цикл while, который продолжается до тех пор, пока значение переменной y меньше максимального значения y.
  8. Внутри цикла while инициализируется значение переменной x равным 1.
  9. Запускается вложенный цикл while, который повторяется до тех пор, пока значение переменной x меньше максимального значения x.
  10. Внутри вложенного цикла while вызывается процедура elka(x,y,5), рисуется треугольник, затем значение переменной x увеличивается на 60.
  11. После окончания вложенного цикла while значение переменной y увеличивается на 90.
  12. Конец программы.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 3.8 из 5
Похожие ответы