Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы.DOC
Скачиваний:
34
Добавлен:
15.06.2014
Размер:
154.11 Кб
Скачать

8. Функции

Функция описывается в программе следующей структурой:

FUNCTION <имя>(формальные параметры):<тип>;

{ раздел описаний: переменные, типы, метки } BEGIN

{ операторы функции }

<имя>:=<выражение> {имени функции присваивается значение)

ЕND;

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

9. Рекурсия

Рекурсия - это такой способ организации вычислительного процесса, при котором подпрограмма в ходе выполнения своих операторов обращается сама к себе. Пример. Пусть задано целое положительное число, вывести на экран дисплея цифры в обратном порядке. PROGRAM REKURS;

VAR N:INTEGER;

PROCEDURE REVERS(M:INTEGER); BEGIN

WRITE(M MOD 10);

IF (M DIV 10)<>0 THEN REVERS(M D1V 10);

END; BEGIN READ(N);

REVERS(N); END.

В ходе выполнения программы процедура рекурсивно обращается сама к себе и выводит на экран при каждом обращении очередную цифру. Рекурсия может быть прямой или косвенной. В первом случае модуль подпрограммы содержит оператор вызова этой же подпрограммы. Во втором случае один модуль (например: А) вызывается из другого модуля (например: В), а модуль В - из А. Поскольку по правилам языка каждый идентификатор перед объявлением должен быть описан, то необходимо выполнить опережающее описание подпрограммы В. Для этого объявляется заголовок процедуры В, за которым следует служебные слово FORWARD. Теперь тез процедуры А можно обращаться к процедуре В.

10. Символьный тип

Символьный тип - это тип данных, состоящих из одного символа (знака, буквы, цифры). Традиционная запись символьного значения представляет собой символ, заключенные в апострофы ('ж'). Значениями символьного типа является множество всех символу компьютера. Каждому символу приписывается целое число в диапазон 0. ..255, которое служит кодом его внутреннего представления. Связь между символом и кодом устанавливается функцией ORD.

Переменные символьного типа объявляются в блоке VAR ключевым словом CHAR. Для кодирования символов используется код ASCII В ТП применяется восьмибитовый код, содержащий 256 символов. Символьный тип имеет следующие встроенные функции: ORD (С:char) :byte - возвращает код символа С типа byte; CHR(b:byte):char - выдает символ по коду аргумента b; UPCASE(C;char):char - переводит в верхний регистр символы латинского алфавита, возвращая все остальные в исходном виде; PRED(C:char):char - выдает символ, предшествующий С в таблице кодов; SUCC(C:char):char- выдает символ, следующий за С в таблице кодов. Символы также можно описывать указанием в функции CHR кода символа или с признаком а перед кодом.

17. Процедурные типы

Применяются в ТП для организации передачи в качестве фактических параметров процедур и функций. Существует два процедурных типа: тип-процедура и тип-функция. При объявлении процедурных типов используется заголовок процедуры, в котором опускается ее имя, например:

TYPE

Procl=Procedure(a,b,c:real; var d:real); Proc2=Procedure(var bl,b2:byte);

Func=Function(x:real):real; Func2=Function(s:string):string;

Для объявления временных процедурного типа производится как

VAR рг: prod; f: func;

После описания заголовка функции (процедуры), которая является параметром, при ее определении должна следовать стандартная директива FAR, служащая для установления правильных связей параметра-функции (процедуры) с вызывающей подпрограммой. Такие параметры должны компилироваться с учетом на дальнюю модель памяти

Соседние файлы в предмете Программирование