Практикум по программированию на языке Turbo Pascal. Часть 2. Портнягина В.В - 91 стр.

UptoLike

который очень легко реализуется при помощи цикла (ЗАДА-
ЧА 3 этой лабораторной работы).
В задаче 6 используем рекурсию для определения боль-
шего из четырех чисел ( 2 - й случай ).
В задаче 5 вычисление факториала было сделано с по-
мощью цикла, в задаче 8 используем рекурсию для вычисле-
ния факториала..
Задача 8
Cоставить рекурсивную функцию Factorial для вычисле-
ния факториала числа n (n! = 1 * 2 * 3 … * n, 0! = 1, 1! = 1),
которая основывается на многоразовом (рекурсивном) ис-
пользовании формулы n! = n * (n – 1)!.
Текст программы:
Program Lab11_8;
Uses Crt;
Var k: Integer;
F: Integer;
{Описание функции вычисления факториала}
Function Factorial (N: Integer): Integer;
Begin
If N = 0 Then Fact: = 1 {Это стопусловие}
Else Fact: = N * Fact (N – 1);
End;
{Исполнимая часть головной программы}
Begin
ClrScr;
Write ('Введи количество k');
ReadLn (k);
F: = Factorial (k);
WriteLn ('F =', F: 5);
ReadKey;
End.
Контрольный пример. Введи количество k
5.
F = 120
4.1. Особенности рекурсии
рекурсивная форма организации алгоритма обычно
91
который очень легко реализуется при помощи цикла (ЗАДА-
ЧА 3 этой лабораторной работы).
    В задаче 6 используем рекурсию для определения боль-
шего из четырех чисел ( 2 - й случай ).
    В задаче 5 вычисление факториала было сделано с по-
мощью цикла, в задаче 8 используем рекурсию для вычисле-
ния факториала..

    Задача 8
    Cоставить рекурсивную функцию Factorial для вычисле-
ния факториала числа n (n! = 1 * 2 * 3 … * n, 0! = 1, 1! = 1),
которая основывается на многоразовом (рекурсивном) ис-
пользовании формулы n! = n * (n – 1)!.
    Текст программы:
    Program Lab11_8;
    Uses Crt;
    Var k: Integer;
    F: Integer;
    {Описание функции вычисления факториала}
    Function Factorial (N: Integer): Integer;
    Begin
    If N = 0 Then Fact: = 1 {Это стоп – условие}
    Else Fact: = N * Fact (N – 1);
    End;
    {Исполнимая часть головной программы}
    Begin
    ClrScr;
    Write ('Введи количество k');
    ReadLn (k);
    F: = Factorial (k);
    WriteLn ('F =', F: 5);
    ReadKey;
    End.
    Контрольный пример. Введи количество k 5.
    F = 120

    4.1. Особенности рекурсии
    – рекурсивная форма организации алгоритма обычно
                             91