Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Графика и игры
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 22.05.2011, 23:51
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
Вопрос нарисовать фрактал

помогите реализовать плиз:

в коде где-то ошибка, а вот где понять не могу:
Код:
procedure TForm1.ToBuild(x1,y,x2:integer);
var ax1,bx1,ax2,bx2:integer;
begin
  image1.Canvas.MoveTo(x1,y);
  image1.Canvas.LineTo(x2,y);
  ax1:=x1;
  bx1:=x1+round((x2-x1)/3);
  ax2:=x2-round((x2-x1)/3);
  bx2:=x2;
if round((x2-x1)/3)>=1 then exit;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ToBuild(5,20,605);
end;
end.
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 23.05.2011 в 09:34.
Ответить с цитированием
  #2  
Старый 23.05.2011, 00:09
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

что-то не наблюдаю рекурсивный вызов функции........
Ответить с цитированием
  #3  
Старый 23.05.2011, 00:15
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
По умолчанию

Цитата:
Сообщение от Pilot_Red
что-то не наблюдаю рекурсивный вызов функции........
это???
Код:
if round((x2-x1)/3)>=1 then
  begin
   ToBuild(ax1,y+50,bx1);
   ToBuild(ax2,y+50,bx2);
  end;
можно как-нибудь заменить???

Последний раз редактировалось lmikle, 24.05.2011 в 00:02.
Ответить с цитированием
  #4  
Старый 23.05.2011, 00:18
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

типа, того...
В смысле заменить???
Ответить с цитированием
  #5  
Старый 23.05.2011, 00:21
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
По умолчанию

по иному это же прописать нужно...так не принимает препод...
Ответить с цитированием
  #6  
Старый 23.05.2011, 00:35
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от lesya_ya
по иному это же прописать нужно...так не принимает препод...
как понять по иному, т.е. не используя рекурсивный мЭтод???
Ответить с цитированием
  #7  
Старый 23.05.2011, 00:38
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
По умолчанию

да...
либо рекурсию как-то по другому описать можно???
Ответить с цитированием
  #8  
Старый 23.05.2011, 00:45
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

в принципе описано все правильно, алгоритм выдерживает хороший тон, если честно, даже не знаю что вашему преподу нужно..

если только его как-нибудь оптимизировать, например это
(x2-x1)/3
заменить на это
(x2-x1)*0.3

или на это
(x2-x1) div 3 при этом тогда не нужно округление роундом

и.т.д.
Ответить с цитированием
  #9  
Старый 23.05.2011, 00:49
lesya_ya lesya_ya вне форума
Прохожий
 
Регистрация: 22.05.2011
Сообщения: 13
Репутация: 10
По умолчанию

я тоже не понимаю препода...
спасибо за помощь;-)
Ответить с цитированием
  #10  
Старый 23.05.2011, 00:51
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от lesya_ya
я тоже не понимаю препода...
спасибо за помощь;-)
помощи то с гулькин нос
Ответить с цитированием
  #11  
Старый 23.05.2011, 16:18
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Может препод хочет без рекурсии? В теории любой рекурсивный алгоритм можно описать циклом и наоборот. А вот как именно - думать надо.
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
  #12  
Старый 23.05.2011, 18:09
Аватар для Pilot_Red
Pilot_Red Pilot_Red вне форума
Продвинутый
 
Регистрация: 01.11.2006
Адрес: Карелия
Сообщения: 702
Версия Delphi: D7
Репутация: 11581
По умолчанию

Цитата:
Сообщение от Bargest
Может препод хочет без рекурсии? В теории любой рекурсивный алгоритм можно описать циклом и наоборот. А вот как именно - думать надо.

Если бы препод предложил поиск факториала без ракурсии написать, я бы бровью не повел. но в данном случае я бы его послал в рекурсивный нах...
Ответить с цитированием
  #13  
Старый 23.05.2011, 22:19
Аватар для Bargest
Bargest Bargest вне форума
Профессионал
 
Регистрация: 19.10.2010
Адрес: Москва
Сообщения: 2,390
Версия Delphi: XE3/VS12/FASM
Репутация: 14665
По умолчанию

Да мало ли, чего ему в голову взбрело...
__________________
jmp $ ; Happy End!
The Cake Is A Lie.
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 22:27.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter