![]() |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
![]() |
xsires |
![]() ![]()
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Реальное имя: Alex Репутация: ![]() ![]() ![]() |
помогите с рекурсивной функцией
procedure box(x1m,y1m,x2m,y2m:real;l:boolean);
var x1,x2,y1,y2:integer;
begin
if l=true then
SetFillStyle(1,11)
else
setfillstyle(1,black);
x1:=integer(round(x1m));
x2:=integer(round(x2m));
y1:=integer(round(y1m));
y2:=integer(round(y2m));
bar(x1,y1,x2,y2);
end;
рисует квадратик елси l = true если l = false закрашиваем квадратик а вот сама в процедура которую я немогу доделать ( ( (
procedure build(x1,y1,x2,y2:real);
begin
box(x1,y1,x2,y2,true);
box(x1,y1,x1+((x2-x1)/3),y1+((y2-y1)/3),false);
box(x2-((x2-x1)/3),y1,x2,y1+((y2-y1)/3),false);
box(x1,y2-((y2-y1)/3),x1+((x2-x1)/3),y2,false);
box(x2-((x2-x1)/3),y2-((y2-y1)/3),x2,y2,false);
box(x1-((x2-x1)/3),y1,x1,y1+((y2-y1)/3),true);
box(x2-((x2-x1)/3),y1 -((y2-y1)/3),x2,y1,true);
box(x1,y2,x1 +((x2-x1)/3),y2+((y2-y1)/3),true);
box(x2,y2-((y2-y1)/3),x2+((x2-x1)/3),y2,true);
build(x1-((x2-x1)/3),y1,x1,y1+((y2-y1)/3));
build(x2-((x2-x1)/3),y1 -((y2-y1)/3),x2,y1);
build(x1,y2,x1 +((x2-x1)/3),y2+((y2-y1)/3));
build(x2,y2-((y2-y1)/3),x2+((x2-x1)/3),y2);
end;
строки
build(x1-((x2-x1)/3),y1,x1,y1+((y2-y1)/3));
build(x2-((x2-x1)/3),y1 -((y2-y1)/3),x2,y1);
build(x1,y2,x1 +((x2-x1)/3),y2+((y2-y1)/3));
build(x2,y2-((y2-y1)/3),x2+((x2-x1)/3),y2);
должны выполнятся все сразу а на деле выполняется ток первая строка
build(x1-((x2-x1)/3),y1,x1,y1+((y2-y1)/3));
кто нить подскажите решение проблемы .... мне нуна чтобы выполнялись 4 строки сразу а не ток первая |
![]() ![]() |
![]() |
Текстовая версия | 18.07.2025 0:56 |