Нарисовать дом, дерево и солнце
Написать программу, которая нарисует дом, дерево и солнце.
Исходный код на языке 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 .