Нарисовать дорожный знак. - Pascal ABC
Формулировка задачи:
Нарисовать этот дорожный знак.
Решение задачи: «Нарисовать дорожный знак.»
textual
Листинг программы
- uses graphABC;
- var c,r:integer;
- begin
- setwindowsize(400,400);
- centerwindow;
- c:=200;
- r:=c-10;
- circle(c,c,r);
- r:=r-15;
- setpenwidth(20);
- setpencolor(clRed);
- circle(c,c,r);
- setfontname('Times New Roman');
- setfontsize(60);
- setbrushstyle(bsClear);
- textout(c-35,c+20,'10');
- textout(c-17,c+75,'м');
- setpenwidth(1);
- setpencolor(clBlack);
- line(c-65,c+40,c-65,c+120);
- line(c-65,c+40,c-105,c+80);
- line(c-105,c+80,c-65,c+120);
- floodfill(c-70,c+80,clBlack);
- line(c+65,c+40,c+65,c+120);
- line(c+65,c+40,c+105,c+80);
- line(c+105,c+80,c+65,c+120);
- floodfill(c+70,c+80,clBlack);
- //рама и низ кабины
- setbrushcolor(clBlack);
- rectangle(c-105,c-20,c+105,c-5);
- rectangle(c-105,c-40,c-30,c-20);
- //колеса
- setpencolor(clWhite);
- setbrushcolor(clWhite);
- circle(c-65,c-5,20);
- circle(c+65,c-5,20);
- setpencolor(clBlack);
- setbrushcolor(clBlack);
- circle(c-65,c-5,18);
- circle(c+65,c-5,18);
- setpencolor(clWhite);
- setbrushcolor(clWhite);
- circle(c-65,c-5,12);
- circle(c+65,c-5,12);
- //кузов
- setpencolor(clBlack);
- setbrushcolor(clBlack);
- rectangle(c-25,c-120,c+100,c-25);
- //кабина
- line(c-105,c-39,c-85,c-90);
- line(c-85,c-90,c-31,c-90);
- line(c-31,c-90,c-31,c-40);
- floodfill(c-70,c-50,clBlack);
- setpencolor(clWhite);
- setbrushcolor(clWhite);
- line(c-95,c-39,c-40,c-39);
- line(c-95,c-39,c-80,c-85);
- line(c-80,c-85,c-40,c-85);
- line(c-40,c-85,c-40,c-39);
- floodfill(c-50,c-60,clWhite);
- end.
Объяснение кода листинга программы
- Используется библиотека graphABC, которая предоставляет функции для работы с графикой.
- Переменные c и r инициализируются значением 200 и вычитаются 10, чтобы получить начальные координаты центра окружности.
- Создается окружность с центром в точке (c,c) и радиусом r.
- Устанавливается цвет шрифта на черный и устанавливается размер шрифта на 60 пунктов.
- Выводится текст
10
под точкой (c-35,c+20). - Выводится текст
м
под точкой (c-17,c+75). - Устанавливается цвет шрифта на черный и устанавливается размер шрифта на 1 пункт.
- Выполняется линия от точек (c-65,c+40) до (c-65,c+120).
- Выполняется линия от точек (c-65,c+40) до (c-105,c+80).
- Выполняется линия от точек (c-105,c+80) до (c-65,c+120).
- Выполняется floodfill для области под рамкой и над нижней частью кабины.
- Выполняется линия от точек (c+65,c+40) до (c+65,c+120).
- Выполняется линия от точек (c+65,c+40) до (c+105,c+80).
- Выполняется линия от точек (c+105,c+80) до (c+65,c+120).
- Выполняется floodfill для области под рамкой и над верхней частью кабины.
- Устанавливается цвет шрифта на белый и устанавливается размер шрифта на 1 пункт.
- Выводится текст
м
под точкой (c+105,c+80). - Устанавливается цвет шрифта на черный и устанавливается размер шрифта на 60 пунктов.
- Выполняется рама и низ кабины.
- Выполняются колеса.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д