Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 30.04.2012, 18:49   #1
stas45rus
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 46
По умолчанию Составить рекурсивный алгоритм рисования вложенных квадратов

Помогите пжл. разобраться в условии задачи.
Составить рекурсивный алгоритм рисования вложенных квадратов. Строится первый квадрат со сторонами параллельными осям координат экрана. Каждая его сторона делится в отношении m=0,09, указывая таким образом на новую вершину. Затем на вновь полученных вершинах строится новый квадрат и т.д.
Строю квадрат со стороной равной 715 пикс. (на моём мониторе - это максимальная высота). Далее 715/0,09=7944,444... . Что я не правильно делаю? Сторона должна быть меньше, а получается ещё больше. Или может нужно построить маленький квадрат и увеличиваться до допустимого разрешения? Ещё вариант это найти какое количество пикселей приходится на отношение 0,09. 0,09*715=64 (примерно). Потом вычитать из 715 это количество и по ним строить квадрат. Разъясните как правильно?
stas45rus вне форума Ответить с цитированием
Старый 30.04.2012, 19:00   #2
IT-man
АльTRUEи$т
Форумчанин
 
Аватар для IT-man
 
Регистрация: 19.03.2009
Сообщений: 784
По умолчанию

мне кажется что m все таки 0.9 должно быть
Цитата:
«Никто не войдет в Рай, имея хотя бы крупицу гордыни в своем сердце». «Аллах Красив и любит красоту. Гордыня означает отказ от истины и высокомерие»
IT-man вне форума Ответить с цитированием
Старый 30.04.2012, 19:27   #3
stas45rus
Пользователь
 
Регистрация: 26.08.2011
Сообщений: 46
По умолчанию

Нет условие именно такое
stas45rus вне форума Ответить с цитированием
Старый 30.04.2012, 19:47   #4
BDA
МегаМодератор
СуперМодератор
 
Аватар для BDA
 
Регистрация: 09.11.2010
Сообщений: 7,291
По умолчанию

Не рекурсивная "рисовалка" (код на дельфи):
Код:
var
  a, b: array[1..4, 1..2] of integer;
  i, j, r: integer;
begin
  r := 400;
  a[1, 1] := 100;
  a[1, 2] := 50;
  a[2, 1] := a[1, 1] + r;
  a[2, 2] := a[1, 2];
  a[3, 1] := a[2, 1];
  a[3, 2] := a[2, 2] + r;
  a[4, 1] := a[1, 1];
  a[4, 2] := a[3, 2];
  for i := 1 to 1000 do
  begin
    canvas.Pen.Color:=i*25;
    canvas.moveto(a[4, 1], a[4, 2]);
    for j := 1 to 4 do
      canvas.lineto(a[j, 1], a[j, 2]);
    for j := 1 to 4 do
    begin
      b[j, 1] := round(a[j, 1] + (a[j mod 4 + 1, 1] - a[j, 1]) * 0.9);
      b[j, 2] := round(a[j, 2] + (a[j mod 4 + 1, 2] - a[j, 2]) * 0.9);
    end;
    a := b;
  end;
end;
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись )
BDA вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Нарисовать в графике пять разноцветных вложенных квадратов (Паскаль) Tanja =) Помощь студентам 5 03.10.2011 13:07
рекурсивный алгоритм. Nelson1992 Помощь студентам 9 21.03.2010 12:09
Рекурсивный алгоритм SVM Общие вопросы C/C++ 7 13.11.2009 09:24
Разработать рекурсивный алгоритм lucky Паскаль, Turbo Pascal, PascalABC.NET 4 08.05.2009 15:04