Нарисовать букву Р - Pascal ABC

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

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

Вот такую

Решение задачи: «Нарисовать букву Р»

textual
Листинг программы
  1. uses graphABC;
  2. var i,d:integer;
  3. begin
  4. setwindowsize(420,420);
  5. centerwindow;
  6. d:=50;
  7. for i:=1 to 9 do
  8.  begin
  9.   line(10,10+(i-1)*d,410,10+(i-1)*d);
  10.   line(10+(i-1)*d,10,10+(i-1)*d,410);
  11.  end;
  12. setbrushcolor(clRed);
  13. for i:=1 to 6 do
  14. rectangle(10+d,10+i*d,10+2*d,10+(i+1)*d);
  15. for i:=1 to 3 do
  16.  begin
  17.   rectangle(10+(i+1)*d,10+d,10+(i+2)*d,10+2*d);
  18.   rectangle(10+(i+1)*d,10+4*d,10+(i+2)*d,10+5*d);
  19.  end;
  20. for i:=1 to 2 do
  21. rectangle(10+5*d,10+(i+1)*d,10+6*d,10+(i+2)*d);
  22. end.

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

  1. Подключается библиотека graphABC.
  2. Объявляются две переменные: i и d, типа integer.
  3. Устанавливается размер окна приложения.
  4. Вычисляется и устанавливается размер шрифта.
  5. Задается начальное положение кисти для рисования (цвет - красный).
  6. Запускается цикл for, который выполняется 9 раз.
  7. Внутри цикла рисуются две линии, используя функцию line. Первая линия рисуется от координат (10,10) до (410,10), вторая - от (10,10) до (10,410), с шагом (i-1)*d.
  8. Задается цвет кисти на красный.
  9. Запускается еще один цикл for, который выполняется 6 раз.
  10. Внутри цикла рисуются 6 прямоугольников, используя функцию rectangle. Первые два прямоугольника имеют размеры (10+(i+1)d,10+d,10+(i+2)d,10+2d), вторые два - (10+(i+1)d,10+4d,10+(i+2)d,10+5d), а третий - (10+(i+1)d,10+5d,10+(i+2)d,10+6*d).
  11. Цикл for завершается.
  12. Кисть сбрасывается на свой первоначальный цвет.
  13. Закрывается окно приложения.

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


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

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

10   голосов , оценка 3.8 из 5

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

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

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