Паскаль. Основы программирования


Функции


Язык программирования Паскаль допускает введение в программу функции, определяемой пользователем. Она помещается в разделе описаний основной программы.

Запись функции начинается так:

    Function

<имя> (<список формальных параметр.>) : <тип рез.>

          var

             <описание переменных, участвующих в работе функции>

Дальнейшее построение такое же, как и во всех других программах на языке Паскаль.

    begin

       <операторы>

       <имя> := <результат>

    end;

Обязательной

является команда присваивания имени функции результата, полученного в итоге ее работы. Функция может быть использована несколько раз в программе.

Для ее вызова достаточно указать имя функции и задать значение формальных параметров: <имя> (<значение параметров>).

Например: s(2, 3) или s(n, a). Параметры и переменные функции могут иметь те же имена, что и переменные в основной программе.

Снова обратимся к наиболее типичным примерам, создаваемых функций. Как вы смогли уже убедиться, их конструкция мало чем отличается от процедур, да и существует возможность обратных преобразований функций в процедуру и процедур в функции.

Известный ряд чисел Фибоначчи имеет вид:

1, 1, 2, 3, 5, 8, 13, 21, 34, ...

Каждый член этой последовательности, начиная с третьего, равен сумме двух предыдущих членов.

Если первый член последовательности обозначить f1, второй -

 
 тогда можно составить такую зависимость:

Пользуясь такой зависимостью, можно получить все члены последовательности чисел Фибоначчи.

Формулу, выражающую любой член последовательности, начиная с некоторого, через предыдущие (один или несколько), называют рекуррентной (от латинского слова recurro - возвращаться).

Зная зависимость между последующим и предыдущими членами, легко создать рекурсивную функцию, позволяющую найти n-е число ряда Фибоначчи:

   Function fib(n : integer) : longint;

        begin

           if (n = 1) or (n = 2) then fib := 1

                                           else  fib := fib(n - 1) + fib(n - 2)




Начало  Назад  Вперед



Книжный магазин