Студопедия

КАТЕГОРИИ:


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

Загальні відомості про підпрограми

ВСТУП

Лекція: 5.7. Підпрограми (функції та процедури) у мові Pascal ABC.

Модуль 5. Структуровані типи даних (масиви, рядки, записи та файли), підпрограми

 

Процедура або функція – це послідовність операторів, що має ім’я, список параметрів та може бути викликана із різних частин програми. На відміну від процедур, функція у результаті виконання, повертає значення. Функції та процедури разом називають підпрограмами.

 

Будь-яка процедура або функція повинна бути попередньо описана у описовому розділі. Опис підпрограми має вигляд:

 

procedure ім’я (список формальних параметрів);

описовий розділ

begin

оператори

end;

 

Опис функції має вигляд:

 

function ім’я (список формальних параметрів): тип значення, що повертається;

описовий розділ

begin

оператори

end;

 

Оператори підпрограми, разом з операторними дужками, називають тілом підпрограми. Список формальних параметрів разом із дужками може бути відсутнім. Він складається з одної або декількох секцій, розділених символом ";". Кожна секція складається із списку змінних, перелічених через кому, після якого слідують двокрапка і тип. Кожна секція може починатися із службового слова var, що вказує на передавання параметрів за посиланням.

Описовий розділ процедури або функції складається також, як описовий розділ основної програми. У ньому описуються так звані локальні змінні та константи, типи, а також вкладені процедури і функції. Всі локальні змінні доступні тільки усередині даної підпрограми та недоступні із зовні.

Приклад опису процедури:

 

procedure Reverse(var a: array [1..100] of integer; n: integer);
var i,v: integer;
begin
for i:=1 to n div 2 do
begin
v:=a[i];
a[i]:=a[n-i+1];
a[n-i+1]:=v;
end;
end;

 

Усередині тіла функції ім’я функції можна використовувати як спеціальну змінну, який необхідно присвоїти значення, що повертається. Наприклад:

 

function Add(a,b: real): real;
begin
Add:=a+b;
end;

Ім’я функції може використовуватися з метою повернення значення тільки у левій частині оператора присвоювання. Якщо ім’я функції використовується у виразі, це трактується як рекурсивний виклик цієї функції. Замість імені функції усередині тіла функції можна використовувати спеціальну змінну з ім’ям Result. На відміну від імені функції, змінну Result можна використовувати у виразах:

 

function MinElement(var a: array [1..100] of real; n: integer): real;
var i: integer;
begin
Result:=a[1];
for i:=1 to n do
if a[i]<Result then Result:=a[i];
end;

 

Якщо усередині функції не присвоїти імені функції або змінній Result деяке значення, функція у результаті свого виконання поверне непередбачене значення.

 

<== предыдущая лекция | следующая лекция ==>
Введение в основы логистики | Локальні та глобальні змінні
Поделиться с друзьями:


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


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



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




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