Описание на процедурите и функциите

Описанието на процедурата изглежда така:

За разлика от процедурите, функциите връщат резултат. Описанието на функцията изглежда така:

В списъка с параметри можете да посочите променливите, които предаваме на процедурата или които получаваме. Освен това, ако ще променим променлива от списъка с параметри, тогава е необходимо да посочимvarпреди променливата.

Можете също да посочите стойност по подразбиране за променлива. За да направите това, след типа на променливата през знака =, трябва да посочите стойността.

Обикновено името на процедура или функция трябва да е уникално. Но често се случва да е необходимо да се зададат различни параметри за една и съща функция. Следователно в компилатора, така че да не е необходимо да задавате различни имена на процедури, е предвидено така нареченотопретоварванена функцията. Функциите и процедурите, които могат да се повтарят, са маркирани със запазената думапретоварване.

// Претоварена функция с една променлива

процедураmy_write(str_inp1:низ);претоварване;

// Претоварена функция с две променливи

процедураmy_write(str_inp1, str_inp2:низ);претоварване;

// Претоварена функция с три променливи

процедураmy_write(str_inp1, str_inp2, str_inp3:низ);претоварване;

Така в програмата можем да зададем различна стойност, без да се замисляме кое име на процедура за кой случай трябва да бъде посочено. Всъщност имаме процедура, която работи подобно на стандартната процедураwrite. Можем да напишем:

my_write('Здравей!', 'Иванов Иван Иванович');

my_write('Здравей!', 'Иванов Иван Иванович', 'Как си?');

Ако процедурата не беше претоварена, компилаторът нямаше да го направище ви позволи да използвате различен брой параметри.

// Задайте стойности по подразбиране

procedureget_user(str_inp1:string='Ivanov';age: integer=20);

// След изпълнение процедурата връща параметъра age

procedureget_user(str_inp1:string='Ivanov';varage: integer=20);

// Функция с един входен параметър. Връща стойността на косинус

функцияmy_cos(x: реален): реален;

// Функция без параметър, но с върната стойност

функцияmy_cos:низ;

Трябва да се отбележи, че процедурите и функциите също могат да бъдат определени в типове данни. Такива типове се наричат: процедурен тип, тип-функция.

Пример за такива функции и процедури:

Тип

fmy_curr =функция(сума: валута; nds: валута): валута;

fmy_proc =процедура(бъркотия:низ);

Типове низове

Низът е поредица от символи, оградени в единични или двойни кавички. [7]

Константата Char е низ от 1 знак.[7]

Нека разгледаме какви типове линии има в Object Pascal.