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

Процедури и функции са софтуерни единици, които могат да бъдат наречени от различни части на програмата. Когато се обадите ги предава някои от променливи, константи, изразите, които са аргументи, които се възприемат като формалните параметри в процедурите и функциите си. Функциите се връщат стойността на даден тип, който заменя израз в това, което се нарича на името на функцията, наречена.

F е функция с аргумент X, тя умножава стойността върната от 5 и определя резултата на променлива I. Също така е възможно извикване на функция, която не използва своето завръщане стойност. Например: F (X);

В този случай, върнатата стойност на функцията се игнорира.

Функцията е описан, както следва:

функция <имя функции> (<список параметров>):<тип возвращаемого значения>;

<операторы тела функции>

функционира FSuml (XI, Х2: реално А: число): реално;

декларира функция, наречена FSUM, с три параметъра на XI, Х2 и един, от които първите два вида реално, а последният - цяло число. Върнете тип - истински. Имената на параметрите XI, Х2 и А - местни, т.е. те са само по смисъл в рамките на дадена функция, и по никакъв начин не е свързан с имената на аргументите предадени на извикването на функция. Стойностите на тези параметри в началото на аргументите на функцията са стойностите по време на извикването на функция

Тялото на функцията е написана от същите правила като всеки код. Така че е необходимо да се вземе предвид обхвата на различните елементи на програмата. Тялото на функционални видими местни елементи, декларирани в нея (променливи, функции и т.н.) и глобалните елементи. Върнатата стойност на функция в тялото или може да бъде назначен името на функцията, или специална предварително определена променлива Резултати. Например, FSum тялото горе функция може да има формата:

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

Резултат: = Резултат * A;

Името на функцията не е възможно, тъй като не може да се случи в дясната страна на оператора за присвояване.

В Object Pascal има изход процедура, която излиза от функцията или процедурата навсякъде в тялото на програмата. Така например, текста по-горе може да се изписва така:

ако (А = 1), след това изход;

Резултат: = Резултат * A;

Прекъсване на изпълнението на функцията или процедура може да бъде генериране на някои изключения. процедура Най-често се използва за тези цели се откажем. Генериране ォ "мълчаливо" サ изключение EAbort, която не е свързана с някои съобщение за грешка. Ако програмата не включва пресичане на това изключение, приложението показва Прекратяване функция контрола горния десен на всички вложени процедури и функции.

процедура <имя процедуры>(ォ<список параметров>);

<операторы тела процедуры>

процедура PRL (S: низ);