Нарисовать цепочку из квадратов, расположенных на диагонали экрана - Turbo Pascal
Формулировка задачи:
Нарисовать цепочку из квадратов, расположенных на диагонали экрана. С клавиатуры вводятся значение ребра квадрата и значение ребра малого квадрата, получающегося при наложении квадратов друг на друга.
Листинг программы
- uses
- graph, crt;
- const
- x1=1;
- y1=1;
- var
- 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;
- 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.
Решение задачи: «Нарисовать цепочку из квадратов, расположенных на диагонали экрана»
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().
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д