Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Стандартные (предопределенные) функции и процедуры




Процедуры и функции

Процедура – это подпрограмма вычисления нескольких значений.

Процедура имеет описание (текст) и вызов.

Описание процедуры содержит заголовок процедуры и блок. Причем блок (тело процедуры) имеет такое же строение, как и блок программы.

Заголовок процедуры:

PROCEDURE имя процедуры [ (список формальных параметров) ];

Имя процедуры – идентификатор, по которому данная процедура вызывается.

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

Форма оператора вызова процедуры:

Имя процедуры [(список фактических параметров)];

Если в описании процедуры нет списка формальных параметров, то оператор вызова процедуры состоит из одного имени процедуры.

Пример вызова процедуры без параметров: PRINT;.

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

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

Описание функции также содержит заголовок функции и блок такого строения, как и блок программы.

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

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

Имя функции – идентификатор, по которому функция вызывается. Тип результата может быть любым простым типом, причем значение результата должно быть совместимо с типом результата функции, определенным в операторе FUNCTION. Для формирования результата выполнения в теле функции должен быть оператор присваивания имени функции значения результата в виде:

Имя функции: = выражение;

Описание формальных параметров может иметь вид:

< список имен >: < тип > или var < список имен >: < тип >

В первом случае формальные параметры называют параметры-значения, а во втором – параметры-переменные.

 

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

Список предопределенных функций и процедур Паскаля содержит больше полусотни наименований. Вот некоторые из них (* помечены уже рассмотренные ранее).

a) математические функции (были рассмотрены ранее):

Например, *abs (x) – абсолютное значение числа x;

b) функции преобразования:

chr (x) – аргумент x – номер символа типа BYTE – определяет значение символа по его номеру;

ord (x) – аргумент x порядкового типа (логический, строковый, перечисляемый) – определяет порядковый номер аргумента (0 или 1 для логического x; целое 0 – 255 для строкового x; целое 0 – 65535 для перечисляемого x);

*round (x) – аргумент x вещественного типа – округляет число x до целого;

*trunc (x) – аргумент x вещественного типа – отсекает целую часть числа (тип результата Longint);

*frac (x) – аргумент x вещественного типа – определяет дробную часть числа (тип результата Longint или Real, если отсутствует сопроцессор);

c) функции и процедуры порядкового типа:

odd (x) – аргумент x целого типа – выдает true, если x четно, и false, если x нечетно;

pred (x) – аргумент x порядкового типа – находит предшествующий элемент x – 1;

succ (x) – аргумент x порядкового типа – определяет последующий элемент x + 1;

*процедура dec (x [, Δ ]) – аргумент x порядкового типа, Δ – тип longint – уменьшает значение переменной x на величину Δ, а если Δ не задано, то на 1(тогда x:= pred (x));

*процедура ins (x [, Δ ]) – аргумент x порядкового типа, Δ – тип longint – увеличивает значение переменной x на величину Δ, а если Δ не задано, то на 1(тогда x:= succ (x));

d) функции разного назначения:

sizeof (x) – x порядкового типа – определяет максимальное значение порядкового типа;аргумент x произвольного типа – определяет число байтов, занимаемых аргументом x – тип результата Word;

high (x) – x порядкового типа – определяет максимальное значение порядкового типа;

low (x) – x порядкового типа – определяет минимальное значение порядкового типа;

*length (x) – аргумент x типа String – определяет в виде целого числа логическую длину строки;

random (x) – аргумент типа Word – определяет псевдослучайное число (если параметр x опущен, результат – вещественное число из промежутка [0;1]; если параметр x задан, результат целое число из промежутка [0; x-1]. Для генерации различающихся последовательностей псевдослучайных чисел предназначен оператор RANDOMIZE. Он, используя текущее время, сообщаемое компьютером, задает начальное случайное число.

 




Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 642; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.