Изобразить окружность и показать ее сжатие в эллипс - 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.
Объяснение кода листинга программы
- Объявлены переменные: — grDriver — для хранения номера драйвера графической карты; — grMode — для хранения режима работы с графикой; — ErrCode — для хранения кода ошибки; — i — для использования в цикле.
- Получен номер драйвера графической карты с помощью функции Detect и сохранен в переменную grDriver.
- Инициализирована графическая система с помощью функции InitGraph, в которую переданы: — номер драйвера графической карты (grDriver); — режим работы с графикой (grMode); — пустая строка, которая передается как сообщение об ошибке, в случае возникновения ошибки будет выведено сообщение об ошибке.
- Получен код ошибки от работы функции InitGraph, сохранен в переменную ErrCode.
- Если код ошибки не равен grOk (то есть произошла ошибка), то выведено сообщение об ошибке с помощью функции GraphErrorMsg, после чего программа ожидает нажатия клавиши.
- Если код ошибки равен grOk, то нарисована окружность с помощью функции circle, в которую переданы: — координаты центра окружности (x = (getmaxx div 2), y = (getmaxy div 2)); — радиус окружности (50).
- Затем в цикле с помощью функции delay происходит задержка в 25 миллисекунд.
- С помощью функции cleardevice очищается экран.
- С помощью функции ellipse нариссован эллипс, в которую переданы: — координаты центра эллипса (x = (getmaxx div 2), y = (getmaxy div 2)); — начальный угол (0); — конечный угол (359); — радиус оси x (50); — радиус оси y (i).
- Цикл выполняется, пока значение переменной i больше или равно 25.
- После окончания цикла программа ожидает ввода с клавиатуры с помощью функции readln.
- Закрыта графическая система с помощью функции closegraph.
- Программа завершена.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д