Arrays paraméterek - stadopedia
Az alprogramok paraméterei nemcsak egyszerű, hanem összetett típusok, például tömbök, rekordok, készletek változóinak is lehetnek. Illusztrációként vegye figyelembe a tömböket.
A feladat. Két tömb van, két szám mindegyik. Adja meg az egyes tömbök elemeinek összegét. Használja az összeg függvényt, amelynek egyetlen paramétere az összegző tömb neve.
FUNKCIÓ összege (c: vektor): Integer;
WriteLn (összeg (a), '', összeg (b));
A függvény összegének (a) kiszámításának kezdetén a Pascal az a tömb elemeinek értékeit helyettesíti a cellák elemeiben c. A (b) függvényösszeg kiszámításától kezdve a Pascal a b tömb elemeinek értékeit helyettesíti a c tömbelem elemeiben.
A funkció címében hibás lenne írni
függvény összege (c: tömb [1..2] egész szám): Integer.
Először meg kellett határozni a tömb típusát a TYPE szakaszban, majd ezt a meghatározást használva mind a, mind a b leírásban, mind pedig a függvény fejlécében. Ez a Pascal szintaxisának követelménye.
Állás 122. Két iskola van az iskolában. Mindegyikben - 5 diák. Mindegyik diák megkapta a fizikai vizsgát. Határozza meg, hogy a két osztály közül melyik pontosan tanul meg (feltételezzük, hogy az osztály pontosabban tanul, ahol a legmagasabb és a legalacsonyabb pontszám közötti különbség kisebb).
Megjegyzés: Funkciók létrehozása min (c: vektor), max (c: vektor) és raznitsa (c: vektor).
Paraméter-értékek és paraméterek-változók
Sok eljárás nem csak rajzol vagy hangzik, hanem a funkciókhoz hasonlóan kiszámít valamit hasznosnak. Például a következő program B művelete növeli az x globális változót az y paraméter értékével.
A 1001-es szám nyomtatódik.
A projektmenedzserek azonban nem szeretik a szubrutinok globális változóinak nevét. Függetlenül attól, hogy ez nem elég - a fejre gondolni fogunk, hogy megváltoztassuk a változó nevét, és mi az akkor - újraírni az összes szubrutinokat? Ezért az úgynevezett változó paraméterekkel jöttek létre. Itt van ugyanaz a program a használatukkal:
Itt y egy jól ismert paraméter. Ezt paraméter-értéknek hívják. A szubrutin végrehajtásának kezdetén az értékparaméter egy helyre kerül a veremre, és ott a megfelelő tényleges paraméter (1) értéke kerül elküldésre.
Kérdés: Van-e értelme írni B (1, 1000)? Válasz: Nem, mert az alprogram nem tudja, melyik változó adja az eredményt 1001-re. Természetesen a Pascal hibaüzenetet fog adni.
123 feladat: Két állomás (A és B) az év során mért hőmérsékletet. Ennek megfelelõen két 365 hosszúságú számot hoztak létre, majd kiderült, hogy az A állomáson a hõmérõ a jelenlegi hõmérséklet felett 2 fokos és a B állomáson 3 fokkal alacsonyabb. Írjon be egy eljárást két paraméterrel, amely korrigálja az eredeti tömböt. Egy formális paraméter a korrekciós érték, a másik a változó paraméter a hőmérsékleti tömb.