Нарисовать цепочку из квадратов, расположенных на диагонали экрана - Turbo Pascal
Формулировка задачи:
Нарисовать цепочку из квадратов, расположенных на диагонали экрана. С клавиатуры вводятся значение ребра квадрата и значение ребра малого квадрата, получающегося при наложении квадратов друг на друга.
Решение задачи: «Нарисовать цепочку из квадратов, расположенных на диагонали экрана»
textual
Листинг программы
uses graph, crt; var x1,y1,x2, y2, i, err, gd, gm, rebro, period, kol_kv: integer; begin writeln('Введите значения ребер большого и малого квадратов, а также количество квадратов:'); readln(rebro, period, kol_kv); gd := vga; gm := vgahi; initgraph(gd, gm, 'd:\bp\bgi'); err := graphresult; if err <> grok then begin writeln('Ошибка открытия графики'); halt(1) end; x1:=1; y1:=1; for i := 1 to kol_kv do begin setcolor(4); x2 := x1 + rebro; y2 := y1 + rebro; rectangle(x1, y1, x2, y2); x1 := x1 + rebro - period; y1 := y1 + rebro - period end; readln; closegraph; end.
Объяснение кода листинга программы
- В начале кода подключаются необходимые библиотеки graph и crt.
- Переменные x1, y1, x2, y2, i, err, gd, gm, rebro, period и kol_kv инициализируются значениями, введенными пользователем.
- Функция initgraph() используется для настройки графического дисплея, указав путь к файловой системе BGI.
- Если произошла ошибка при открытии графики, выводится сообщение об ошибке и программа завершается.
- Установлены начальные координаты x1, y1 для первого квадрата.
- Запускается цикл for, который выполняется kol_kv раз.
- Внутри цикла устанавливается цвет фона равным 4.
- Вычисляются координаты x2 и y2 для следующего квадрата, как сумма rebro и текущего значения x1 и y1 соответственно.
- Вычисляются координаты x1 и y1 для следующего квадрата, как сумма rebro и period и текущего значения x1 и y1 соответственно.
- Круглые фигуры рисуются с помощью функции rectangle().
- После завершения цикла выводится сообщение readln().
- Закрывается графический дисплей с помощью функции closegraph().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д