"DatormÄcÄ«ba. Skaitlisko aprÄÄ·inu realizÄcijas metodes ...
"DatormÄcÄ«ba. Skaitlisko aprÄÄ·inu realizÄcijas metodes ...
"DatormÄcÄ«ba. Skaitlisko aprÄÄ·inu realizÄcijas metodes ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Datora atmiņā visi masīva elementi aizņem obligāti vienu nepārtrauktu apgabalu. Divdimensiju<br />
masīvi atmiņā tiek izvietoti pa rindām: vispirms visi pirmās rindas elementi,<br />
tad otrās u.t.t. Masīva elementa numurs vispārīgā gadījumā ir kārtas tipa izteiksme.<br />
Visbiežāk indekss ir konstante vai integer tipa mainīgais, retāk – char tipa vai boolean<br />
tipa lielums.<br />
Konkrēts masīva elements tiek aprakstīts aiz masīva nosaukuma kvadrātiekavās norādot<br />
tā indeksu. Piemēram, A[3], B[3,5].<br />
Viena no masīvu priekšrocībām ir tā, ka to indeksi var būt gan mainīgie, gan izteiksmes.<br />
Tas dod iespēju vērsties pie noteiktas masīva elementu virknes. Tā, piemēram<br />
A[i] dod iespēju pārskatīt visus masīva elementus, bet pieraksts A[i*2] – elementus,<br />
kuri atrodas pāra vietās vai A[2*i-1] – nepāra vietās.<br />
Vienkāršākais masīva apraksta veids - mainīgo apraksta daļā var tiek definēts attiecīgs<br />
apzīmējums izmantojot vārdu array.<br />
Viendimensiju masīva gadījumā<br />
var array[apakšējā robeža..augšējā robeža]<br />
Piemēram:<br />
a:array[1..100] of integer;<br />
b:array[0..25] of char;<br />
c:array[-3..4] of boolean;<br />
Divdimensiju gadījumā<br />
{100 vesela tipa skaitļu masīvs}<br />
{26 elementi – simboli}<br />
{8 elementi – loģiskās vērtības}<br />
var array[r1..rn, s1..sm] of <br />
kur, r1 – pirmās rindas kārtas numurs;<br />
rn - pēdējās rindas kārtas numurs;<br />
s1 - pirmā stabiņa kārtas numurs;<br />
sm – pēdējā stabiņa kārtas numurs.<br />
Tātad definējot tabulu 1 3 5 7<br />
2 4 6 8<br />
9 8 7 6<br />
masīva veidā aprakstam jālieto<br />
var tabula:array[1..3,1..4] of integer;<br />
Svarīgi ievērot, ka ne vienmēr visi masīva elementi ir aizpildīti, tas nozīmē, ka reālais<br />
masīva elementu skaits var būt mazāks par definēto, bet nekādā gadījumā nedrīkst<br />
rasties situācija, kad reālais masīva elementu skaits ir lielāks par masīva definīcijā<br />
paredzēto.<br />
Svarīgi ņemt vērā, ka Turbo Pascal-ā ir visai stingrs ierobežojums attiecībā uz operatīvo<br />
atmiņu, kas pieejama mainīgo aprakstam. Tās apjoms ir 64 kbaiti. Tātad izmantojot<br />
definīcijā array[1..105,1..105] of real tiek pārsniegta programmēšanas vidē pieejamā<br />
atmiņa (viens real tipa elements atmiņā aizņem 6 baitus). Šādā situācijā tiek uzrādīta<br />
kļūda Error 22 (structure too large). Operatīvās atmiņas ekonomijai lietderīgi iespēju<br />
robežās izmantot vienbaitīgus tipus byte un shortint.<br />
33