Нарисовать цепочку из квадратов, расположенных на диагонали экрана - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Нарисовать цепочку из квадратов, расположенных на диагонали экрана. С клавиатуры вводятся значение ребра квадрата и значение ребра малого квадрата, получающегося при наложении квадратов друг на друга.
Листинг программы
  1. uses
  2. graph, crt;
  3. const
  4. x1=1;
  5. y1=1;
  6. var
  7. x2, y2, i, err, gd, gm, rebro, period, kol_kv: integer;
  8. begin
  9. writeln('Введите значения ребер большого и малого квадратов, а также количество квадратов:');
  10. readln(rebro, period, kol_kv);
  11. gd:=vga;
  12. gm:=vgahi;
  13. initgraph(gd, gm, 'd:\bp\bgi');
  14. err:=graphresult;
  15. if err<>grok then
  16. begin
  17. writeln('Ошибка открытия графики');
  18. halt(1)
  19. end;
  20. for i:=1 to kol_kv do
  21. begin
  22. setcolor(4);
  23. x2:=x1+rebro;
  24. y2:=y1+rebro;
  25. rectangle(x1, y1, x2, y2);
  26. x1:=x1+rebro-period;
  27. y1:=y1+rebro-period
  28. end;
  29. readln;
  30. closegraph;
  31. end.

Решение задачи: «Нарисовать цепочку из квадратов, расположенных на диагонали экрана»

textual
Листинг программы
  1. uses
  2.   graph, crt;
  3.  
  4. var
  5.   x1,y1,x2, y2, i, err, gd, gm, rebro, period, kol_kv: integer;
  6.  
  7. begin
  8.   writeln('Введите значения ребер большого и малого квадратов, а также количество квадратов:');
  9.   readln(rebro, period, kol_kv);
  10.   gd := vga;
  11.   gm := vgahi;
  12.   initgraph(gd, gm, 'd:\bp\bgi');
  13.   err := graphresult;
  14.   if err <> grok then
  15.   begin
  16.     writeln('Ошибка открытия графики');
  17.     halt(1)
  18.   end;
  19.   x1:=1;
  20.   y1:=1;
  21.   for i := 1 to kol_kv do
  22.   begin
  23.     setcolor(4);
  24.     x2 := x1 + rebro;
  25.     y2 := y1 + rebro;
  26.     rectangle(x1, y1, x2, y2);
  27.     x1 := x1 + rebro - period;
  28.     y1 := y1 + rebro - period
  29.   end;
  30.   readln;
  31.   closegraph;
  32. end.

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

  1. В начале кода подключаются необходимые библиотеки graph и crt.
  2. Переменные x1, y1, x2, y2, i, err, gd, gm, rebro, period и kol_kv инициализируются значениями, введенными пользователем.
  3. Функция initgraph() используется для настройки графического дисплея, указав путь к файловой системе BGI.
  4. Если произошла ошибка при открытии графики, выводится сообщение об ошибке и программа завершается.
  5. Установлены начальные координаты x1, y1 для первого квадрата.
  6. Запускается цикл for, который выполняется kol_kv раз.
  7. Внутри цикла устанавливается цвет фона равным 4.
  8. Вычисляются координаты x2 и y2 для следующего квадрата, как сумма rebro и текущего значения x1 и y1 соответственно.
  9. Вычисляются координаты x1 и y1 для следующего квадрата, как сумма rebro и period и текущего значения x1 и y1 соответственно.
  10. Круглые фигуры рисуются с помощью функции rectangle().
  11. После завершения цикла выводится сообщение readln().
  12. Закрывается графический дисплей с помощью функции closegraph().

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


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

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

14   голосов , оценка 3.714 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы