procedure OpenVector (vector:array of Type Vector);
Очиќ параметр-массив параметр-ќиймат, параметр-ўзгармас ёки параметр-ўзгарувчи бўлиши мумкин.
Узатилувчи ћаќиќий параметрлар турига кўра баён этилган Type Vector га мос келиши керак, лекин ўлчамига кўра улар ћар хил, оддий Type Vector ўзгарувчи ёки ихтиёрий ўлчамдаги, массив бўлиши мумкин.
Ћар хил ўлчамдаги массивларни узатишдаги эгилувчанлик бу массивларни ягона расмий параметрлар сифатида ягона кўринишида ифодалаш ћисобига ћосил ќилинади. Ћамма расмий параметр-массивлар, процедура доирасида, автоматик равишда, сарлавћада кўрсатилган турдаги нол асосли (ќуйи нол чегарали) массивлар каби баён этилади:
array [0 .. N-1] of TypeVector;
бу ерда N – ћаќиќий параметрдаги элементлар сони.
Бошќача ќилиб айтганда, ћаќиќий параметр-массив индексининг ћаќиќий ўзгариш соћаси, индекснинг 0 дан N-1 гача ўзгариш соћасида ифодаланади.
Узатилган ћаќиќий параметр-массивнинг процедура танасидаги тавсифини аниќлаш учун, ћамма ваќт 0 ќайтарувчи - Low стандарт функцияси, расмий параметр-массивда охирги элемент индексини ќайтарувчи High стандарт функцияси ва ћаќиќий параметр-массив ўлчамини ќайтарувчи SizeOf функцияси ишлатилади.
Очиќ параметр-массивлар ёрдамида олдинги мисолдагига ўхшаш муаммоларни ечиш мумкин. Лекин очиќ параметр-массивлар турсиз параметрларга ќараганда оз эгилувчанликка эга, чунки бу ћолда ћаќиќий параметрлар сифатида фаќат бир турдаги массивлар бўлиши мумкин.
Турсиз параметрлардан фойдаланиш билан, таќќослаш учун, очиќ параметр-массивлар учун олдинги мисолдаги каби дастурни келтирамиз.
10.3-дастур
program Sort;
uses Crt;
const
m=10;
n=15;
type
TVector1 = array [1..m] of Byte;
TVector2 = array [1..n] of Byte;
var
Vector1 : TVector1;
Vector2 : TVector2;
{-----------------------------------------------------}
procedure SortVector (var Vector : array of Byte);
Do'stlaringiz bilan baham: |