Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Комбинация прямой и обратной рекурсии



Третью форму рекурсивных подпрограмм покажем на примере следующей задачи.

Задача. Вывести на печать символы введенной строки 'HELLO' в обратном направлении.

Решение этой задачи выполнено в виде показанной ниже программы Reverse_String, использующей рекурсивную процедуру Reverse. Напомним, что функция EoLn возвращает значение, равное False, если строка еще не окончилась, и значение, равное True, когда считывается последний символ строки.

Program Reverse_String;

Procedure Reverse;

Var

Ch: Char;

Begin

If not EoLn then

Begin

Read (Ch);

Reverse;

Write (Ch);

End

End;

Begin

Reverse

End.

Если после запуска программы на выполнение в качестве входной строки ввести слово 'HELLO', то соответствующая такой исходной строке таблица трассировки по уровням рекурсии будет иметь следующий вид:

Рис.3. Трассировка значений параметров





Дата публикования: 2014-12-08; Прочитано: 222 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.005 с)...