nyitott tömbök
Hozzáadás dátuma: 28/11/2014; Nézettség: 165; kalózkodás
Hátrányai korábban tanulmányozták tömb paraméter átviteli eljárás nyilvánvalóak: egyrészt annak szükségességét, hogy írja le, adatok az üzemeltető által meghatározott típusú megsérti a szabályt rutinok hordozhatóság (akció rutinok függővé válik egy külső szolgáltató), másrészt, hogy kijelölje a valódi dimenzióját telt tömbök is használható kiegészítő paraméterek értékeit, és harmadszor, a feldolgozás a tömbök kisebb nyilatkozatban feltüntetett típusú dimenzió, a memória elvesztése hatástalan. Bizonyos mértékig helyes ezeket a hiányosságokat lehetővé teszi a nyílt tömbök.
A módszer alkalmas csak egydimenziós tömbök. Használja azt mátrixok értelmezhetik, ha a mátrix, mint egy vektor (lásd. Fejezet. 17).
A programban rendelkezésre álló vektorokat fejezetben leírt var a megszokott módon, anélkül, hogy meghatározzuk, hogy milyen típusú típusát. A listát a formális paraméterek az alprogram vektor paraméter meg van adva a dimenzió nélküli tartomány:
függvény összege (var x: tömb valós): valós;
Egy alprogram hívás az aktuális paraméter tömb van helyette a hivatalos:
var egy: array [1..5] valós;
A kérdés továbbra is - hogyan nyomon követni a rutinok dimenzió tömb vezetünk? Ehhez a Pascal vannak szabványos funkciók alacsony és magas. Az egyetlen lehetőség átkerül a tömb azonosítója, alacsony hozamot a legkisebb megengedett érték az index és a High - a legmagasabb. Ha egy - dimenziós tömb értékek alacsony (A) és a High (A) lehet használni közvetlenül a határ a ciklus:
függvény összege (var x: tömb valós): valós;
var i: szó; s: real;
i: = alacsony (x) magas (x) Do s: = s + x [I];
Hogy teljes legyen a példa, hívja az összeg függvényében írva:
Const egy: array [1..5] valódi = (1,2,3,4,5.5);
Jellemzően a szám az első nyílt tömb elem nullával egyenlő, de biztonságosabb is megadhatja Low. Itt egy példa, amely tartalmazza a szubrutin nyitott tömböket paramétereket.
Find elemeinek számát a vektor x [7], alá a tartományon belül [0, 3], és az elemek száma a vektor y [5], alá a tartományon belül [-1, 1].
Ahhoz, hogy írja be a tömböt a billentyűzet bemenet írási eljárás, amelyet még meg kell továbbítani tömb dimenzió paraméter (mert két vektor különböző dimenzió bevezetése). Ezért a bemenetet, hogy az alapértelmezett számozás nyitott tömb elemeit végezzük nulla. Kol függvény kiszámítja az elemek száma a nyitott tömb alá, az [x1, x2], meglehetősen standard jelzés az alacsony és magas: