Рекурсия, рекурсивный вывод текста - Turbo Pascal

Узнай цену своей работы

Формулировка задачи:

Реализовать вывод известного детского стишка "У попа была собака.." с использованием рекурсивных методов.

Решение задачи: «Рекурсия, рекурсивный вывод текста»

textual
Листинг программы
procedure PriestAndDog(n:integer);
begin
writeln('У попа была собака, он ее любил.');
writeln('Она съела кусок мяса, он ее убил,');
writeln('вырыл яму, закопал и на камне написал:');
if n>1 then
 begin
 dec(n);
 PriestAndDog(n);
 end;
end;
var n:integer;
begin
write('n=');
readln(n);
PriestAndDog(n);
end.

Объяснение кода листинга программы

  1. В процедуре PriestAndDog(n) переменная n представляет собой целое число, которое передается в качестве аргумента.
  2. Выводится текст У попа была собака, он ее любил.
  3. Выводится текст Она съела кусок мяса, он ее убил, вырыл яму, закопал и на камне написал:.
  4. Если значение переменной n больше 1, то происходит рекурсивный вызов процедуры PriestAndDog(n-1).
  5. Переменная n уменьшается на 1.
  6. Процедура PriestAndDog(n) вызывается снова с новым значением переменной n.
  7. Код завершается после рекурсивного вывода текста для значения переменной n равного 0.
  8. В начале программы объявлена переменная n типа integer.
  9. Выводится сообщение n= для ввода значения переменной n.
  10. Чтение значения переменной n из ввода пользователя.
  11. Вызов процедуры PriestAndDog(n).
  12. Код завершается после рекурсивного вывода текста для значения переменной n равного 0.

Оцени полезность:

6   голосов , оценка 4.667 из 5
Похожие ответы