Шпаргалка: Вопросы и ответы к экзаменам В-1
Фактические параметры – это глобальные переменные подставленные в формальные
ТИП ФАКТ=ТИП ФОРМ.
22. Процедуры без параметров и с параметрами.
PROCEDURE<имя>
Begin
<текстпроцедуры>
end;
23. Передача в подпрограмму параметров регулярного типа (массивов, строк).
Типом любого формального параметра может быть только стандартный или ранее объявленный тип.
Пример:
TYPE TYPE
ATYPE=ARRAY[1..10]OF REAL; INTYPE=STRING[15];
PROCEDURE S(A:ATYPE); OUTTYPE=STRING[30];
FUNCTIONST(S:INTYPE):OUTTYPE
Иной способ для передачи параметров переменных отключением контроля компиляции.
Открытый массив PROCEDURE I (A: ARRAY OF REAL);
24. Функции. Описание. Вызов функции.
FUNCTION<имя>[(<формальные параметры>)]:<тип>
Сразу за заголовками может следовать одна стандартных директив: ASSEMBLER <тело подпрограммы на ассемблере>, EXTERNAL<объявление внешней подпрограммы>, FAR, FORWARD, INLINE<встроенные машинные инструменты>, INTERRUPT,NEAR.
FUNCTION<имя функции>(параметр: тип);
Begin
<тело подпрограммы>
end;
25. Рекурсии. Прямая и косвенная рекурсия. Директива FORWARD.
Рекурсия – это такой способ организации вычислительного процесса при котором программа в ходе выполнения составляющих её операторов обращается сама к себе.
Для избежания переполнения стёка, следует размещать промежуточные результаты во вспомогательной переменной.
Begin
…………………………
F:=fac(n-1); - вспомогательная переменная
……………………….
End;
Рекурсивный вызов может быть косвенным, который разрешается опережающим описанием:
Procedure b(j: byte);