Nizovni tip podataka u PASCALu strukturni tip podataka
- Slides: 9
Nizovni tip podataka u PASCAL-u (strukturni tip podataka: nizovni, slogovni, skupovni i datotečni prosti tip podataka: integer, Boolean, real, . . . )
Niz u PASCAL-u • sadrži linearno uređen, unapred poznat, broj članova, • svi članovi su istog tipa i imaju zajedničko ime, • svakom članu pristupa se pomoću zajedničkog imena niza i indeksa člana, • svi indeksi su istog, ordinalnog tipa • svi članovi se tretiraju kao posebne promenljive i jednako su dostupni.
Važno: jednodimenzioni niz • Jednodimenzionalni niz čini niz članova – jednoindeksnih promenljivih istog tipa. • Svakom članu može se pristupiti pomoću izračunljivog indeksa ordinalnog tipa. • Maksimalan broj članova niza je unapred poznat i ne može se menjati.
Definicija jednodimenzionog niza Jednodimenzionalni niz se definiše na sledeći način: ARRAY [ pv. . kv ] OF tip; primeri: array [0. . 10] of integer; array[‘a’. . ’m’] of real; array[1. . 50] of array[1. . 10] of char;
Imenovanje jednodimenzionog niza Svakom nizovnom tipu može se dodeliti ime u odeljku definicije tipova, a zatim da se to ime koristi za deklarisanje promenljivih. primer: const dim = 10; type niz = array[1. . 200] of real; niz 1 = array[1. . dim] of integer; var x : niz; y : niz 1; B : array[10. . 25] of array [1. . 15] of char;
Pristup članovima niza Članovima niza se pristupa pomoću zajedničkog imena niza i indeksa člana. primer: x[5] x[190] x[i+j] x[5+k] y[10 -2] B[i, 7] B[2, 4] B[i][j]
Dodela vrednosti članovima niza Za dodeljivanje vrednosti članovima niza koristi se naredba dodele (kao za bilo koju promenljivu). primer: var c : array [ 0. . 25] of integer; c[0] : = – 2; readln(c[10]); c[brojac] : = i + 1; c[ i – j ] : = f (x+3);
Primer 1 Napisati program za učitavanje niza od N prirodnih brojeva i ispisivanje tog niza na ekranu. program NIZ; var i, N : integer; A : array[1. . 100] of integer; Begin (*ucitavanje*) repeat writeln('Unesite broj clanova niza (n<=100)'); readln(N); until (n>=1) and (n<=100); writeln('Unesite clanove niza'); for i : = 1 to N do readln(A[i]); (*ispisivanje*) writeln; for i : = 1 to N do write (A[i]: 6) end.
Primer 2 • Izračunati zbir članova niza od 10 celih brojeva. program niz 2; var a: array [1. . 10] of integer; s, i : integer; begin for i : = 1 to 10 do begin writeln('A[', i, ']=? '); read(A[i]) end; s : = 0; for i : = 1 to 10 do s : = s + A[i]; writeln('Zbir clanova niza je ', s) end.