Перейти к содержимому

Как нарисовать домик в паскале абс

  • автор:

Нарисовать дом, дерево и солнце

Написать программу, которая нарисует дом, дерево и солнце.

Исходный код на языке Pascal

uses GraphABC; begin writeln(WindowWidth, ' ', windowheight); line(0, 160 * 2, 640, 160 * 2); line(340, 320, 340, 170); line(490, 320, 490, 170); line(305, 170, 525, 170); line(305, 170, 415, 170); line(415, 100, 525, 170); line(415, 100, 305, 170); line(170, 320, 170, 220); line(150, 320, 150, 220); line(170, 220, 150, 220); Ellipse(100, 230, 220, 70); Rectangle(375, 210, 455, 290); line(415, 210, 415, 290); line(375, 250, 455, 250); circle(600, 40, 30); line(540, 40, 500, 40); line(600, 100, 600, 140); line(555, 80, 520, 110); end.

Как в Паскале АВС нарисовать дом? Помогите пожалуйста, срочно надо. =(

И еще что такое FillRect, Rectangle,SetPenColor,FloodFill и какую сделать команду, чтобы поменять размер окна?

Голосование за лучший ответ

Program kukareku;
uses crt;
begin
clrscr;
writeln(‘___/\____’);
writeln(‘__/__\___’);
writeln(‘_/____\__’);
writeln(‘_|____|__’);
writeln(‘_|____|__’);
readkey;
end.

uses graphabc;
begin
line(10,100,50,50);
line(50,50,100,100);
rectangle(10,100,100,200);
end.

Program p23;
uses graphabc;
begin
setpencolor(clTurquoise);
rectangle(50,150,350,350);
setbrushcolor(clTurquoise);
floodfill(150,250,clTurquoise);
setpencolor(clgreen);
line(50,150,200,50);
line(350,150,200,50);
floodfill(150,100,clForestGreen);
setpencolor(clred);
rectangle(100,200,150,250);
rectangle(250,200,300,250);
setbrushcolor(clred);
floodfill(125,225,clred);
floodfill(275,225,clred);
setpencolor(clblack);
line(125,200,125,250);
line(100,225,150,225);
line(275,200,275,250);
line(250,225,300,225);
setpencolor(clbrown);
rectangle(175,275,225,350);
setbrushcolor(clbrown);
fillrect(175,275,225,350);
end.

Program Domik;
uses Graphabc; //подключение модуля GraphABC
begin
SetWindowWidth(800); //ширина окна программы
SetWindowHeight(600); //высота окна программы
SetPenWidth(3); //толщина пера
SetFontSize(18); //размер шрифта
SetFontColor(clRed); //цвет шрифта
SetFontStyle(fsBold); //жирный стиль шрифта
TextOut(100,100,’Домик’); //текст
Rectangle(200, 300, 600,600); //дом
Circle(400,225, 40); //круг
SetBrushColor(clAqua); //цвет заливки окна
FillRect(300, 400,500,500); //процедура заливки окна
rectangle(300,400,500,500); //окно
Line(400,400,400,500); // окно
Line(300,450,500,450); //окно
Line(200,300,400,150); //крыша
Line(400,150,600,300); //крыша
Line(480,210,480,160); //труба
Line(480,160,520,160); //труба
Line(520,160,520,240); //труба
end.

Исполнитель Чертежник

Исполнитель Чертежник предназначен для построения рисунков и чертежей на плоскости с координатами. Чертежник имеет перо, которое он может поднимать, опускать и перемещать. При перемещении опущенного пера за ним остается след.

Исполнитель Чертежник и поле, на котором он работает, отображаются на экране следующим образом:

Здесь маленький квадрат изображает Чертежника, красным цветом изображены отрезки, которые надо нарисовать, а синим — уже нарисованные Чертежником отрезки. Когда перо Чертежника опущено, он изображается квадратом меньшего размера.

Команды исполнителя Чертежник содержатся в модуле Drawman :

ToPoint(x,y) – перемещает перо Чертежника в точку (x,y) ;
OnVector(a,b) – перемещает перо Чертежника на вектор (a,b) ;
PenUp – поднимает перо Чертежника;
PenDown – опускает перо Чертежника.

Для вызова задания для исполнителя Чертежник используется следующий шаблон программы:

uses Drawman;
begin
Task(‘c1’);
end.

В конце программы перо Чертежника должно быть поднято и находиться в начале координат.

Здесь Task ¦— процедура, содержащаяся в модуле Drawman и вызывающая задание с указанным именем.

Имеются следующие группы заданий для исполнителя Чертежник:

a – вводные задания;
c – цикл с параметром;
cc – вложенные циклы;
p – процедуры без параметров;
pp – процедуры с параметрами.

Для создания произвольного поля размера 20 x 30 используется процедура StandardField без параметров, а для создания поля размера N x M — процедура Field(N,M) .

Как нарисовать домик в паскале абс

!Нужно использовать оператор цикла для рисования одинаковых частей!
мне нужна только картинка, которая находится во 2й четверти(деление на четверти должно быть)
спасибо заранее!

Изображения

картинка.png (50.2 Кб, 144 просмотров)

Регистрация: 12.01.2011
Сообщений: 19,500

Вы не перепутали «помогите» и «сделайте за меня»?

Покажите свои наработки, конкретные вопросы и т.п.

Или в раздел Фриланс если вы не хотите ничего делать, а ищете кого-то, кто выполнит ваши задачи за вознаграждение.

Регистрация: 09.01.2008
Сообщений: 26,238
Сообщение от Jenee
Нужно использовать оператор цикла для рисования одинаковых частей!

Если нужно — используйте.
Что не получается?

Сообщение от Jenee
мне нужна только картинка, которая находится во 2й четверти(деление на четверти должно быть)

так все картинки во всех четвертях одинаковы
а в остальных четвертях вашего рисунка что должно быть? пусто?
оператор цикла для рисования забора нужен?

Сообщение от Jenee
нарисовать дом в Паскале!

графика в разных Паскалях очень сильно отличается.
Поэтому обязательно указывайте, какой у Вас Паскаль.

Serge_Bliznykov
Посмотреть профиль
Найти ещё сообщения от Serge_Bliznykov

Пользователь
Регистрация: 24.02.2017
Сообщений: 20

мне не понятен оператор цикла для одинаковых частей! к примеру:
. (идёт программа)
и вот нужны необходимые одинаковые детали
я не понимаю как работать с циклами для рисования! или как это делать через процедуру?

uses crt,graphABC; begin setwindowwidth(800); setwindowheight(600); line(0,300,800,300); line(400,0,400,600); rectangle(0,0,400,300); floodfill(2,2,clcyan); setpencolor(clgreen); rectangle(100,70,300,230); floodfill(101,71,clgreen); setpencolor(clyellow); //нужно в цикле rectangle(120,90,160,140); floodfill(122,99,clyellow); setpencolor(clgreen); line(140,90,140,160); setpencolor(clred); line(100,70,200,40); line(200,40,300,70); floodfill(121,66,clred); setpencolor(clblack); line(250,55,250,35); line(250,35,270,35); line(270,35,270,62); floodfill(255,40,clblack); setpencolor(clorange); //нужно в цикле line(0,300,0,200); line(0,200,15,180); line(15,180,30,200); line(30,200,30,300); floodfill(10,196,clorange); end.

_____
Код программы нужно выделять (форматировать) тегами [CODE] (читать FAQ)
Модератор
Последний раз редактировалось Вадим Мошев; 05.04.2017 в 21:52 .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *