0 / 0 / 0
Регистрация: 26.07.2016
Сообщений: 33
1

Из Repeat сделать рекурсию

03.04.2018, 15:50. Показов 908. Ответов 2
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте, дано код на PascalABC.NET, в нет есть цикл repeat - until, нужно переделать программу на рекурсию, но вот как сделать я не пойму... Подскажите пожалуйста, буду очень благодарен.
P.S.Программа рисует фрактал Ресслера
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
uses crt, graphABC;
var x, y, z, dt, a, b, c, x1, y1, z1: real;
    x2, y2: integer;
begin
   x := 3.051522;
   y := 1.582542;
   z := 15.62388;
   dt := 0.0001;
   a := 0.2;
   b := 0.2;
   c := 5.7;
repeat
      x1 := x + (-y-z)*dt;
      y1 := y + (x+a*y)*dt;
      z1 := z + (b+z*(x-c))*dt;
      x := x1;
      y := y1;
      z := z1;
      putpixel(round(19.3*(y - x*0.292893) + 320), round(-11*(z + x*0.292893) + 392), clBlack);
   until keypressed;
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
03.04.2018, 15:50
Ответы с готовыми решениями:

Сделать рекурсию
Помогите исправить код. procedure Find(k: integer); var L,R,i,j: integer; w,x: integer;...

Сделать рекурсию
Сделать рекурсию. Имеется двумерное рекуррентное соотношение: \begin{cases}x_{n+1}=...

Как из цикла for сделать цикл repeat-until?
Как из цикла for сделать цикл repeat-until? Вот программа: program zadanie4; uses crt; function...

Как из цикла repeat-until сделать цикл for?
Как из цикла repeat-until сделать цикл for? Вот сама программа: program L4; uses crt; var ...

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32986 / 21294 / 8178
Регистрация: 22.10.2011
Сообщений: 36,580
Записей в блоге: 8
03.04.2018, 18:38 2
Цитата Сообщение от Linkolnnn Посмотреть сообщение
нужно переделать программу на рекурсию
Плохая идея. Как такового цикла - нет, есть цикл "от забора и до обеда", то есть, пока пользователь не нажмет клавишу, чтобы прервать построение. А это поведет за собой бесконечную (очень глубокую) рекурсию.

Написать, конечно, можно, но скорее всего программа просто вылетит с переполнением стека.
0
Почетный модератор
64304 / 47599 / 32743
Регистрация: 18.05.2008
Сообщений: 115,181
03.04.2018, 19:26 3
Цитата Сообщение от volvo Посмотреть сообщение
Написать, конечно, можно, но скорее всего программа просто вылетит с переполнением стека
Попробовал, рисует штук 100 пикселелей и вылетает.
0
03.04.2018, 19:26
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.04.2018, 19:26
Помогаю со студенческими работами здесь

Подсчитать количество отрицательных чисел в массиве из семи элементов. Сделать нужно в Repeat-Until!
Препод задал задачку, подсчитать количество отрицательных чисел в массиве через Repeat-Until. Это...

Выяснить, перечислены ли ученики в списке в порядке убывания их роста. нужно сделать через REPEAT-UNTIL
Имеется список учащихся класса с указанием роста каждого из них. Выяснить, перечислены ли ученики в...

Сделать рекурсию
(defun f (lst) (remove-if #'complexp (remove-if #'integerp lst))) надо добавить рекурсию

Как сделать рекурсию?
Помогите, как сделать рекурсию? Ставлю nod = b(p1,p2); За этим следует ошибка Process is...

Не получается сделать рекурсию
Не получается сделать задачу: Разработать рекурсивную процедуру двоичного поиска элемента...

Сделать хвостовую рекурсию
Программа выглядит следующим образом: domains i=integer predicates div(i,i,i) clauses...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru