Графический режим: вывод точек по всему экрану за исключением круга заданного радиуса - PascalABC.NET

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

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

Написать программу , которая выводила бы в графическом режиме на весь экран монитора , кроме круга с центром ( 200,200 ) и радиусом 80, случайно точки до тех пор , пока не будет нажата клавиша Esc.

Решение задачи: «Графический режим: вывод точек по всему экрану за исключением круга заданного радиуса»

textual
Листинг программы
  1. uses
  2.   GraphABC;
  3.  
  4. procedure KeyDown(Key: integer);
  5. begin
  6.   if Key = VK_Enter then
  7.     halt;
  8. end;
  9.  
  10. var
  11.   x, y: integer;
  12.  
  13. begin
  14.   OnKeyDown := KeyDown;
  15.   SetWindowSize(640, 480);
  16.   Circle(200, 200, 80);
  17.   repeat
  18.     x := random(0, WindowWidth);
  19.     y := random(0, WindowHeight);    
  20.     if sqr(x - 200) + sqr(y - 200) > sqr(80) then
  21.       PutPixel(x, y, rgb(random(255), random(255), random(255)));
  22.   until false;
  23. end.

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

  1. Объявлены переменные x и y типа integer.
  2. Задана функция обратного вызова KeyDown для обработки нажатий клавиш.
  3. Установлен размер окна 640x480 пикселей.
  4. Выведен круг с центром в точке (200, 200) и радиусом 80 пикселей.
  5. В цикле повторяется 20 раз: 5.1. Генерируются случайные координаты x и y в пределах окна. 5.2. Проверяется, находится ли точка внутри круга: если расстояние от точки до центра круга больше его радиуса, то она считается вне и на неё выводится пиксель случайного цвета.
  6. Цикл повторяется до тех пор, пока не будет нажата клавиша Enter.

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


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

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

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

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

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

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