Официални и действителните параметри

Когато пишете параметри, за да си спомня:

- редица формални и действителните параметри трябва да е същото;

- и по реда на вида на действителните параметри трябва да съответстват на реда и вида на съответните формални параметри;

- Документи за самоличност на формални и действителните параметри могат да се припокриват;

- формалните параметри в езика Turbo Pascal в заглавието са, заедно с описания и да ги декларират в процедурата за Декларации раздел (функция) не се изисква;

- Официални параметри трябва да има прости или по-рано определени видове.

При предаване в подпрограмата масив обявява неговия вид предварително в типове описание раздел тип.

Тип TV = масив [1..30] на цяло число;

Процедура TOP (А: TM; Var В: телевизия; N: число);

Два вида на масиви са описани тук. TV - за едномерен масив, и TM за двумерен масив. След това, в списъка на формалните параметри за променливите А и В, използвайки тези видове по-рано, посочени в описанието матрици и вектори, съответно.

Списък на параметрите, определени в заглавната част на процедура или функция, дава възможност за комуникация с съчетания на обаждащия се. В подпрограма през него предава входни данни и връща резултата (в процедурата). две коренно различни варианти за механизъм предоставя на езика Turbo Pascal. и по значение за справка.

Когато параметрите на предаване от стойността в стека, където разпределението на паметта се осъществява при вътрешни (местно) променливи съчетания разпределени допълнителна памет, които са копирани в съответните действителните стойности на параметрите. Програмата за разговори като аргумент подпрограма за стойностите на параметрите може да се използва не само променлива, но и израз. След приключване на това търсене подпрограма Посветен памет стане недостъпен, така че параметрите на предване на стойност не може да се използват в подпрограми за получаване на резултати.

Както може да се използва променливи параметри масиви и отворени редове, в които не са определени размери. Open масив представлява официално параметър подпрограма, описващ основните елементи тип, но не и за определяне размера и неговата граница. Индексиране на елементи в този случай започва от нулата. Горната граница на отворения масива се връща HIGH функция. Такова описание е възможно само за едномерни. За да отворите групирана решетка създава копие, което може да доведе до препълване на стека.

Вземем примера на открито масив. Да предположим, че искате да се изчисли сумата от един едномерен масив от елементи.

Функция SUM (Var A: масив от цяло число): цяло число;

В основната програма, масива може да бъде описан като дори

Var A: масив [-2. 3] на цяло число; Действителните границите на масива не е важно. Важното е, че броят на елементите в този случай е 6.

Откритата линия може да се настрои чрез стандартен тип и стандартен тип OPENSTRING STRING използване директива компилатор.

Процедура ZAP (Var Св openstring; R: число);

Процедура ZAP (Var Св низ; R: цяло число);

Режимът на език компилация Turbo Pascal може да се настрои, където контролът е изключен за дължина съвпадение формалното и реалното параметър на линия. При предаването на реда от по-малки формален параметър ще има същата дължина като параметър на лечение; По-голям далекопровод е съкратено до максималния размер на официалната параметър. Контрол се включва само когато параметри са преминали променливи. за параметри - стойността на дължина не се контролира.

Помислете за един пример, в който се използват процедурите и функциите. Задължително процедура запис, в който матрицата, съдържащ M колони и редове N, необходимо да се номерата на векторни колона, всички елементи са подредени във възходящ или низходящ ред и са прости числа. В основната програма са въведени всички входни данни е достъпна процедура и извежда резултатите.

Тип tmas = масив [1..100,1..100] на думата;

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

Тъй като аргументите предадени на процедура или функция. подредени в пакет, в случай на предаване на голяма стойност размер масив, може да настъпи стека преливане. На езика Turbo Pascal 7.0 е въведен от ЕВРОВОК CONST. който може да бъде определен за формалните параметри подпрограми. Аргументът съответстваща на такъв параметър се предава по връзката, като параметър ЕВРОВОК Var един, но самата (функция) процедурата е забранено да се определи нова стойност на това твърдение.

ПРОЦЕДУРА <имя процедуры> (CONST <имя константы>:

ФУНКЦИЯ <имя функции> (CONST <имя константы> :

Параметър-постоянен, не може да се предава като параметър на друг рутина.