Студопедия
rus | ua | other

Home Random lecture






Занятие 9. Подпрограммы. Функции


Date: 2015-10-07; view: 378.


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

Процедуры и функции бывают стандартными и нестандартными. Стандартные подпрограммы входят в библиотеку, которая поставляется вместе с системой программирования. Нестандартные процедуры и функции программисты пишут сами.

Вы уже использовали стандартные функции, теперь давайте напишем свою функцию.

FUNCTION имя (список параметров)
тело функции - список операторов
END FUNCTION

Пример: функция возвращающая куб числа

FUNCTION kub (x)
kub=x*x*x
END FUNCTION

REM Вывод кубов натуральных чисел от 1 до 10
CLS
FOR I=1 TO 10
PRINT kub(I)
NEXT
END

В этой программе в цикле происходит обращение к функции kub, которая вычисляет куб числа.

Процесс, когда в процедуре происходит обращение к самой себе, называется рекурсией (рекурсия - возврат). (Происходит от латинского recurreus - возвращающийся).

Рекурсия - это такой способ организации подпрограммы, при котором в ходе выполнения она обращается сама к себе.

Ниже приведена программа вычисления факториала числа, в которой используется рекурсивная процедура fak:

FUNCTION fak (f)
IF f = 0 OR f = 1 THEN
fak = 1
ELSE
fak = fak(f - 1) * f
END IF
END FUNCTION

REM "Вычисление факториала"
INPUT "Введите число: ", a
PRINT "Факториал = ", fak(a)
END

Для вычисления факториала числа n, т.е. n! надо умножить последовательно n натуральных чисел от 1 до n: n!=1*2*3*4. Так, 4! будет равно: 4!=1*2*3*4. Это прямой путь вычисления или итеративный.
Возможен и другой путь вычисления: n!=n*(n-1)*...*1. Т.е. 4!=4*3*2*1. Этот путь можно назвать возвратным или рекурсивным.
Именно на этом принципе основана работа приведенной функции.

 


<== previous lecture | next lecture ==>
Занятие 8. Подпрограммы. Процедуры | Занятие 10. Графический режим работы
lektsiopedia.org - 2013 год. | Page generation: 0.005 s.