чтобы мы могли ссылаться на
FACTORAIAL(факториал).(6!=1*2*3*4*5*6=720)
Факториал не входит в набор встроенных матоператоров Т.Б. ,но мно-
гострочные функции покрывают этот пробел:
100 DEF FNFACTORIAL(X%)
110 LOCAL I%,TOTAL#
120 IF X%<0 OR X%>170 THEN FNFACTORIAL#=-1:EXIT DEF
130 TOTAL#=1
140 FORI%=X% TO 2 STEP -1
150 TOTAL#=TOTAL#*I%
160 NEXT I%
170 FNFACTORIAL#=TOTAL#
180 END DEF
FNFACTORIAL демонстрирует структуру многострочной функции(нумера-
ция строк включена, чтобы мы могли ссылаться на различные строки по их но-
мерам в процессе обсуждения-они ,конечно,опциональны).
- 61 -
Определения функции заключены в скобки,образуемые операторами DEF
FN и END DEF.
В строке 180 функции дается ее имя и следовательно тип(# -означает
двойную точность).FNFACTORIAL имеет формальный параметр как единичное це-
лое,X%.
В строке 110 заявляется пара "локальных " переменных ,I% и
TOTAL#.Локальные переменные это временные структуры,существующие и выдан-
ные только в пределах определений функций и процедур.(подробно они обсуж-
даются позднее в разделе,озаглавленном "локальные переменные").
В строке 120 выполняется проверка ошибки в аргументе,подаваемом в
FNFACTORIAL.Нет места попыткам вычислять факториал отрицательного числа
или факториал такого значения аргумента,при котором результат получается
вне значения двойной точности,в этих случаях вы определяете возвращаемое
значение функции как -1 и выход из определения.Программа ,в которой ис-
пользуется FNFACTORIAL должна уметь распознать,что возвращаемое значение
-1 представляет условие ошибки,и соответственно себя вести.(Между про-
чим,0! определяется равным 1).
EXIT DEF предназначен для функции ,что и RETURN для подпрограммы:с
его помощью управление возвращается к оператору ,которым функция ранее вы-
Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий