В квадратном графическом окне нарисовать спираль. Размер окна и шаг спирали задаются константами - PascalABC.NET

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

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

Здравствуйте,впервые на этом форуме и немного времени изучаю паскаль.Нужна помощь в решении задачи кого-нибудь более опытного. Задача: Напишите программу,которая в квадратном графическом окне рисует спираль.Размер окна и шаг спирали задаются константами.Начинается спираль в точке с координатами (2,2),а заканчивается в центре графического окна.При выполнении задачи используйте из операторов множественного повтора только оператор "Repeat...Until". Прошу если возможно прямо в эту тему прислать уже написанную программу. Рассчитываю на вас,заранее спасибо
*спираль должна состоять из линий.

Решение задачи: «В квадратном графическом окне нарисовать спираль. Размер окна и шаг спирали задаются константами»

textual
Листинг программы
  1. Program spiral;
  2. uses graphabc;
  3. const
  4.   s=10;
  5.   d=400;
  6. Var
  7.   x1,x2,y1,y2:Integer;
  8. Begin;
  9.   SetWindowSize(d,d);
  10.   SetPenColor(rgb(random(256),random(256),random(256)));
  11.   SetWindowCaption('Спираль');
  12.   x1:=2;
  13.   x2:=d;
  14.   y1:=2;
  15.   y2:=d;
  16. Repeat
  17.   Line (x1,y1,x2,y1);
  18.   sleep(100);
  19.   Line (x2,y1,y2,y2);
  20.   x1:=x1+s;
  21.   y1:=y1+s;
  22.   sleep(100);
  23.   Line (x2,y2,x1,y2);
  24.   sleep(100);
  25.   Line (x1,y2,x1,y1);
  26.   x2:=x2-s;
  27.   y2:=y2-s;
  28.   sleep(100);
  29. Until (x2-x1<s) and (y2-y1<s);
  30. End.

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

  1. Программа начинается с объявления переменных x1,x2,y1,y2 типа Integer
  2. Затем устанавливается размер окна и цвет линии с помощью функций SetWindowSize и SetPenColor соответственно
  3. Функция SetWindowCaption устанавливает заголовок окна на 'Спираль'
  4. Переменные x1,x2,y1,y2 инициализируются значениями 2,d,2,d соответственно
  5. В цикле repeat выполняются следующие действия:
    • Строка (x1,y1,x2,y1) рисует линию от точки (x1,y1) до точки (x2,y1)
    • Функция sleep(100) задерживает выполнение программы на 100 миллисекунд
    • Строка (x2,y1,x2,y2) рисует линию от точки (x2,y1) до точки (x2,y2)
    • Переменные x1 и y1 инкрементируются на значение s
    • Переменные x2 и y2 декрементируются на значение s
    • Если (x2-x1<s) и (y2-y1<s) выполняется до тех пор, пока разница между x2 и x1 меньше s и разница между y2 и y1 меньше s
  6. После окончания цикла программа завершается

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


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

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

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

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

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

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