IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> помогите с рекурсивной функцией
xsires
сообщение 2.06.2010 23:52
Сообщение #1





Группа: Пользователи
Сообщений: 3
Пол: Мужской
Реальное имя: Alex

Репутация: -  0  +


помогите с рекурсивной функцией


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 строки сразу а не ток первая
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

- Текстовая версия 18.07.2025 0:56
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"