Parametro (programado)

En programado parametro estas operando de subprogramo (precipe de proceduro aŭ de makroo).

Formalaj parametroj redakti

Verkante subprogramon vokotan el diversaj lokoj kaj aplikendan al diversaj objektoj (valoroj kajaŭ variabloj), oni indikas tiujn traktotajn objektojn per fikciaj nomoj — kiel formalajn parametrojn de la algoritmo. Por ke la tradukilo povu efike realigi la agojn super la parametroj, en la ĉapo de subprogramo oni kutime specifas iliajn ecojn; tiuj specifoj similas al deklaroj, sed kutime estas malpli precizaj (ekz-e, verkante ĝeneralan proceduron por traktado de matricoj oni havas intereson ne antaŭfiksi en la specifoj de la koncernaj tabeloj ilian longon).

Faktaj parametroj redakti

En voko de subprogramo estas indikataj la faktaj parametroj, t.e. la objektoj super kiuj efektive estos plenumata la algoritmo.

Parametropasigo redakti

Estas pluraj manieroj por interrilatigi la parametrojn faktajn kaj la formalajn. Tiajn manierojn pasigi, transdoni, konigi la paramentrojn, la operaciojn kaj datumstrukturojn uzatajn de la vokanta programo por indiki al la vokata proceduro objektojn kaj valorojn super kiuj estu plenumata la proceduro, oni nomas parametropasigo.

Pasigo per valoro redakti

Tia parametropasigo, ke la vokata proceduro ricevas kopion de la valoro de esprimo aperanta kiel la fakta parametro; la operacioj super la formala parametro ne efikas la objekton el la vokanta parto de la programo. Pasigo per valoro estas rekomendinda okaze de la argumentaj parametroj. Ĝi estas defaŭlta en Paskalo.

Pasigo per referenco (perreferenca parametro) redakti

Tia parametropasigo, ke la vokata proceduro ricevas la adreson de la objekto aperanta kiel la fakta parametro; la operacioj super la formala parametro tuj efikas la objekton el la vokanta parto de la programo. Pasigo per referenco rekomendindas okaze de ŝanĝendaj (rezultaj) parametroj, precipe se oni malvolas kopii longajn objektojn (kp pasigo per valorrezulto). Pasigo per referenco estas la ĉefa parametropasigo en Fortrano.

Pasigo per rezulto (perrezulta parametro) redakti

Tia parametropasigo, ke la vokata proceduro ricevas la adreson de variablo aperanta kiel la fakta parametro (kiel ĉe la pasigo per referenco), sed por la operacioj super la formala parametro uzas lokan variablon; nur ĵus antaŭ la reveno en la vokantan programparton la fakta objekto ricevas la rezulton el tiu loka variablo. Sekve, dum la plenumo de la procedurkorpo la pasigo per rezulto ne efikas la objekton el la vokanta parto de la programo. Pasigo per rezulto rekomendindas okaze de ŝanĝendaj (rezultaj) parametroj, precipe se estas danĝero, ke tiaj parametroj povas havi komunaĵon kun aliaj faktaj parametroj aŭ kun mallokaĵoj. Pasigo per rezulto disponeblas en ALGOL W kaj Ada.

Pasigo per valorrezulto redakti

Kombino de pasigo per valoro kaj pasigo per rezulto. La procedurkorpo ricevas kopion de la fakta parametro en helpan variablon, kaj ĵus antaŭ la reveno el la proceduro la kuranta valoro de tiu helpa variablo (eventuale ŝanĝita de la proceduro) estas kopiata en la faktan objekton. Do, la fakta parametro devas esti variablo. Pasigo per valorrezulto disponeblas en ALGOL W kaj Ada.

Pasigo per algoritmo (peralgoritma parametro) redakti

Tia parametropasigo, ke la esprimo, aperanta kiel la fakta parametro estas rekalkulata en la korpo de la proceduro ĉiufoje kiam necesas atingi la koncernan parametron; do, pasigo per algoritmo efikas tiel, kvazaŭ la fakta parametro estus enskribita en la korpon de la proceduro anstataŭ ĉiu apero de la responda formala parametro. Pasigo per algoritmo estis la ĉefa parametropasigo en Algolo-60.