Изобразить окружность и показать ее сжатие в эллипс - Free Pascal

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

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

Изобразить окружность и показать ее сжатие в эллипс.

Решение задачи: «Изобразить окружность и показать ее сжатие в эллипс»

textual
Листинг программы
uses crt, graph;
var
  grDriver: integer;
  grMode:   integer;
  ErrCode:  integer;
  i : integer;
begin
  grDriver := Detect;
  InitGraph(grDriver, grMode,'');
  ErrCode := GraphResult;
  if ErrCode <> grOk then
  begin
    Writeln('Graphics error:', GraphErrorMsg(ErrCode));
    repeat until KeyPressed;
    Halt;
  end;
 
  circle(getmaxx div 2, getmaxy div 2, 50);
  for i := 49 downto 25 do
  begin
    delay(25);
    cleardevice;
    ellipse(getmaxx div 2, getmaxy div 2, 0, 359, 50, i);
  end;
  readln;
  closegraph;
end.

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

  1. Объявлены переменные: — grDriver — для хранения номера драйвера графической карты; — grMode — для хранения режима работы с графикой; — ErrCode — для хранения кода ошибки; — i — для использования в цикле.
  2. Получен номер драйвера графической карты с помощью функции Detect и сохранен в переменную grDriver.
  3. Инициализирована графическая система с помощью функции InitGraph, в которую переданы: — номер драйвера графической карты (grDriver); — режим работы с графикой (grMode); — пустая строка, которая передается как сообщение об ошибке, в случае возникновения ошибки будет выведено сообщение об ошибке.
  4. Получен код ошибки от работы функции InitGraph, сохранен в переменную ErrCode.
  5. Если код ошибки не равен grOk (то есть произошла ошибка), то выведено сообщение об ошибке с помощью функции GraphErrorMsg, после чего программа ожидает нажатия клавиши.
  6. Если код ошибки равен grOk, то нарисована окружность с помощью функции circle, в которую переданы: — координаты центра окружности (x = (getmaxx div 2), y = (getmaxy div 2)); — радиус окружности (50).
  7. Затем в цикле с помощью функции delay происходит задержка в 25 миллисекунд.
  8. С помощью функции cleardevice очищается экран.
  9. С помощью функции ellipse нариссован эллипс, в которую переданы: — координаты центра эллипса (x = (getmaxx div 2), y = (getmaxy div 2)); — начальный угол (0); — конечный угол (359); — радиус оси x (50); — радиус оси y (i).
  10. Цикл выполняется, пока значение переменной i больше или равно 25.
  11. После окончания цикла программа ожидает ввода с клавиатуры с помощью функции readln.
  12. Закрыта графическая система с помощью функции closegraph.
  13. Программа завершена.

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


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

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

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