Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Процедуры пользователя




Функции пользователя.

Функция, определенная пользователем, состоит из заголовка и тела функции и имеет формат:

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

Разделы описаний

BEGIN

Раздел операторов

END;

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

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

имя функции [(фактические параметры)];

 

Описание процедуры включает заголовок (имя) и тело процедуры. Заголовок состоит из зарезервированного слова PROCEDURE, имени процедуры и необязательного заключенного в круглые скобки списка формальных параметров с указанием типа каждого параметра. Имя процедуры – идентификатор, уникальный в пределах программы, тело процедуры – локальный блок по структуре аналогичный программе на Паскале. Формат записи процедуры:

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

Разделы описаний

BEGIN

Раздел операторов

END;

Для обращения к процедуре используется оператор вызова процедуры:

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

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

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

Пример 15. Нахождение факториала с использованием функции.

PROGRAM FAKT;

USES CRT;

VAR N,M,F1,F2: integer;

FUNCTION F(K: integer): integer;

VAR FAKT,I: integer;

BEGIN

FAKT:=1

FOR I:=1 TO K DO FAKT:=FAKT*I;

F:=FAKT;

END;

BEGIN {основная программа}

CLRSCR;

READ (N,M);

F1:=F(N); F2:=F(M); {обращение к функции}

WRITELN(‘ ‘,N:3,’!=’,F1:7);

WRITELN(‘ ‘,N:3,’!=’,F2:7);

END.

б)Нахождение факториала с использованием процедуры.

PROGRAM FAKT;

USES CRT;

VAR N,M: integer;

PROCEDURE F(K: integer);

VAR FAKT,I: integer;

BEGIN

FAKT:=1

FOR I:=1 TO K DO FAKT:=FAKT*I;

WRITELN(‘ ‘,K:3,’!=’,FAKT:7);

END;

BEGIN {основная программа}

CLRSCR;

READ (N,M);

F(N); F(M); {обращение к процедуре}

END.

 

 




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


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


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



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




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