Программа для PascalABC: нужен рисунок, где будет дом с трубой, небо, земля, солнце и гараж.
Ответы на вопрос
Для PascalABC.NET можно написать программу, которая нарисует красивый дом с трубой, небо, зелёную землю, солнце и гараж. Для рисования будем использовать библиотеку GraphABC.
Готовая программа на PascalABC.NET
Скопируйте этот код в PascalABC.NET и запустите с помощью клавиши F9.
uses GraphABC;
begin
SetWindowSize(800, 600);
SetWindowTitle('Дом с гаражом');
// Небо
SetBrushColor(clSkyBlue);
FillRectangle(0, 0, 800, 400);
// Земля
SetBrushColor(clGreen);
FillRectangle(0, 400, 800, 600);
// Солнце
SetBrushColor(clYellow);
SetPenColor(clOrange);
Circle(680, 90, 45);
// Лучи солнца
SetPenColor(clYellow);
SetPenWidth(4);
Line(680, 20, 680, 0);
Line(680, 160, 680, 180);
Line(610, 90, 590, 90);
Line(750, 90, 770, 90);
Line(630, 40, 610, 20);
Line(730, 40, 750, 20);
Line(630, 140, 610, 160);
Line(730, 140, 750, 160);
// Стены дома
SetPenWidth(2);
SetPenColor(clBlack);
SetBrushColor(clYellow);
Rectangle(150, 250, 450, 450);
// Труба
SetBrushColor(clBrown);
Rectangle(350, 145, 390, 230);
// Крыша дома
SetBrushColor(clRed);
Polygon(Arr(
Pnt(120, 250),
Pnt(300, 120),
Pnt(480, 250)
));
// Дверь
SetBrushColor(clBrown);
Rectangle(270, 350, 350, 450);
// Ручка двери
SetBrushColor(clYellow);
Circle(335, 405, 5);
// Левое окно
SetBrushColor(clLightBlue);
Rectangle(175, 290, 245, 360);
Line(210, 290, 210, 360);
Line(175, 325, 245, 325);
// Правое окно
SetBrushColor(clLightBlue);
Rectangle(365, 290, 430, 360);
Line(397, 290, 397, 360);
Line(365, 325, 430, 325);
// Стены гаража
SetBrushColor(clGray);
Rectangle(480, 320, 700, 450);
// Крыша гаража
SetBrushColor(clDarkGray);
Polygon(Arr(
Pnt(460, 320),
Pnt(590, 260),
Pnt(720, 320)
));
// Ворота гаража
SetBrushColor(clSilver);
Rectangle(510, 350, 670, 450);
// Полосы на воротах
SetPenColor(clGray);
Line(510, 375, 670, 375);
Line(510, 400, 670, 400);
Line(510, 425, 670, 425);
// Дорожка к дому
SetPenColor(clBlack);
SetBrushColor(clLightGray);
Polygon(Arr(
Pnt(270, 450),
Pnt(350, 450),
Pnt(400, 600),
Pnt(220, 600)
));
// Облака
SetPenColor(clWhite);
SetBrushColor(clWhite);
Circle(100, 90, 30);
Circle(135, 80, 40);
Circle(175, 90, 30);
Circle(440, 70, 25);
Circle(475, 60, 35);
Circle(510, 70, 25);
end.
Что будет нарисовано?
Объяснение программы
В программе используются следующие команды:
SetWindowSize(800, 600)— создаёт окно размером 800 на 600 пикселей.SetBrushColor(...)— задаёт цвет заливки фигуры.SetPenColor(...)— задаёт цвет контура.Rectangle(x1, y1, x2, y2)— рисует прямоугольник.Circle(x, y, r)— рисует круг с центром в точке(x, y)и радиусомr.Line(x1, y1, x2, y2)— рисует линию.Polygon(Arr(...))— рисует многоугольник, например треугольную крышу.
Важно: координаты в PascalABC.NET отсчитываются от верхнего левого угла окна. Чем больше координата X, тем правее располагается объект, а чем больше Y — тем ниже.
В результате получится цветной рисунок: голубое небо с облаками и солнцем, зелёная земля, жёлтый дом с красной крышей и коричневой трубой, два окна, дверь, дорожка и серый гараж с воротами.
Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili

