Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Коновалов - Информатика - Шпоры (1-51) без 11.doc
Скачиваний:
2
Добавлен:
01.03.2025
Размер:
4.08 Mб
Скачать

20.Функции в Паскале

Функции в языке Паскаль.

Описание функции на языке Паскаль имеет следующий вид:

<Заголовок функции>

{раздел описаний}

begin

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

end ;

Заголовок функции имеет следующий синтаксис:

function имя(список формальных параметров): тип результата;

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

Примеры заголовков функций:

function tg(a : real) : real;

function sign(a : real) : integer;

function ist(a, b : integer) : boolean;

function fam : char;

После заголовка функции следует раздел описаний, в котором описываются внутренние локальные константы, переменные, функции. За разделом описаний следует раздел операторов (тело функции), заключенный в begin ... end и заканчивающийся точкой с запятой. В этом разделе обязательно должен присутствовать оператор присваивания, в левой части которого стоит имя функции - это и есть возвращаемое значение.

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

количество элементов в списке фактических параметров должно совпадать с количеством формальных параметров процедуры;

соответствие между формальным и фактическим параметрами процедуры устанавливается по их позиции в списках;

типы соответствующих элементов должны быть одинаковыми.

Вызов функции- это выражение, тип которого совпадает с типом возвращаемого функцией значения. Поэтому обращаться к функции можно в тех местах программы, где можно использовать выражения соответствующего типа. Так, если функция возвращает логическое значение, то вызов такой функции можно писать в виде условия в операторах if, while, repeat ...\ until. Вызов функции можно также писать в правой части оператора присваивания, в параметрах операторов вывода.

21.Множества в Паскале . Ввод и вывод .

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

set of базовый тип

Операция in проверяет принадлежность элемента множеству:

if Wed in bestdays then ...

Для множеств определены операции + (объединение), - (разность), * (пересечение), X:=Y (присваивание), =<>,<,>,<=,>= (сравнение).

Множества с совместимыми базовыми типами неявно преобразуются одно к другому При присваивании множеству при необходимости происходит усечение его элементов до значений базового типа. Например:

var st: set of 3..9; ... st:=[1..5,8,10,12]; // в st попадут значения [3..5,8]

Чтобы вывести значения элементов множества, необходимо перебрать всевозможные значения в цикле и проверить их на принадлежность множеству с помощью операции in:

for i:=0 to 255 do   if i in st then write(i,' ');