Svake godine raste interesovanje za programiranje. A ako se u institucijama specijaliziranim za pisanje programa oslanjaju na takav programski jezik kao što je C ++, onda se u školama i tehničkim školama učenici upoznaju sa "Pascalom". I već na osnovu ovog jezika počinju da shvataju programiranje kroz korišćenje Delphi softvera. Odmah treba napomenuti da ovi programski jezici pružaju ogroman prostor za ispoljavanje njihove mašte. A ako se uz pomoć jezika Pascal možete upoznati s osnovnim konceptima programiranja, onda u Delphiju već možete napisati punopravni program. I prilično važno mjesto u pisanju programa ponekad zauzima rješavanje nizova u "Paskalu".
Prisustvo velikog broja veoma različitih varijabli
U programskom jeziku postoji dosta različitih varijabli koje karakteriše prisustvo samo jedne vrednosti. Oni mogu pohraniti jednu vrijednost koja ima određeni tip. String varijable su izuzetak. Oni suje skup onih podataka za koje je karakterističan tip karaktera. Ali čak se i takve varijable obično razmatraju sa pozicije posebne vrijednosti.
Nije tajna da uz pomoć kompjutera možete značajno smanjiti vrijeme za obavljanje određenih poslova vezanih za velike količine podataka. Ali kako je, kada se koriste samo one varijable koje imaju tipove poznate ljudima, moguće pohraniti rezultate rada u memoriju, a također obraditi one podatke koji sadrže veliki broj redova? Ovakvi zadaci su prilično česti u bilo kojoj oblasti aktivnosti.
Naravno, uvijek možete unijeti onoliko varijabli koliko vam je potrebno da postignete svoje ciljeve. Također možete definirati neke vrijednosti za njih. Ali kod programa će se od ovoga samo povećati. Teško je pročitati kod koji ima veliki broj redova. Pogotovo kada je potrebno pronaći greške.
Prema tome, programeri su razmišljali o ovom pitanju. Zato jezici koji su do sada razvijeni imaju takve varijable koje omogućavaju pohranjivanje ogromne količine podataka u sebe. Niz u "Paskalu" se dosta promenio u pristupu programiranju. Stoga se smatra važnom varijablom u programskom jeziku.
Upotreba nizova može drastično smanjiti veličinu koda
Pod ovim pojmom krije se uređeni niz podataka, koji je karakteriziran jednom vrstom. Osim toga, svi ovi podaci dobijaju isto ime. Takođe bi trebaloTreba napomenuti da mnogi objekti stvarnog svijeta mogu odgovarati ovoj definiciji: rječnici, crtani filmovi i još mnogo toga. Međutim, najlakši način da se prikaže niz u "Paskalu" je u obliku neke vrste tabele. Svaka pojedinačna ćelija sadrži jednu varijablu. Koristeći koordinate, možete odrediti poziciju varijable koju će ona zauzimati u opštoj tabeli.
Šta znači jednodimenzionalni niz?
Najjednostavnija tabela je ona koja je linearna. U ovom nizu, da bi se odredila lokacija parametra, dovoljno je navesti samo jedan broj. Na osnovu njih se formiraju složeniji nizovi.
Da opišete jednodimenzionalne nizove u "Pascalu", samo unesite sljedeći kod: Type Array of.
Brojevi su one varijable koje mogu imati redni tip. Prilikom navođenja raspona, vrijedno je razumjeti da početni broj ne može biti veći od konačnog. Tip koji imaju elementi niza može biti apsolutno bilo koji - ili standardni ili već prethodno opisan. Izbor će zavisiti od potrebe da se reši određeni problem.
Kako se opisuje linearni niz?
Moguće je odmah opisati jednodimenzionalne nizove u "Paskalu". To se mora učiniti u posebnom dijelu koji je neophodan za ovu proceduru. Morat ćete unijeti sljedeći kod: Var: Array Of.
Da biste razumjeli kako možete opisati niz u Pascalu, trebate unijeti sljedeći kod:
- Var
- S, VV: Array[5..50] Of Real;
- K: Niz[‘C’.. ‘R’] od cijelog broja;
- Z: niz [-10..10] Word;
- E: Niz [3..30] Real.
U ovom primjeru, varijable S, VV i T su niz onih brojeva koji su realni. Varijabla K sakriva tip karaktera i te elemente. Koji su cijeli brojevi. Z niz pohranjuje brojeve čiji je tip Word.
Među svim radnjama koje se mogu koristiti pri radu sa nizom, može se razlikovati dodjela. Njemu se može podvrgnuti cijeli stol. Na primjer, S:=VV. Ali treba shvatiti da operacije dodjeljivanja mogu biti podvrgnute samo nizu u "Paskalu" koji ima određeni tip.
Nema više operacija koje se mogu izvršiti na cijelom nizu odjednom. Međutim, možete raditi sa elementima na isti način kao i sa drugim prostim brojevima koji imaju određeni tip. Da biste upućivali na pojedinačni parametar, morate navesti ime niza. Koristeći uglaste zagrade, morate odrediti indeks koji je karakterističan za željeni element. Na primjer: K[12].
Glavne razlike između nizova i drugih varijabli
Osnovna razlika između komponenti tabele i jednostavnih varijabli je u tome što je moguće staviti u zagrade ne samo vrijednost indeksa, već i takav izraz koji može dovesti do željene vrijednosti. Primjer indirektnog adresiranja može biti: V[K]. U ovom slučaju varijabla K poprima određenu vrijednost. Od ovogaiz toga slijedi da možete koristiti petlju prilikom popunjavanja, obrade i ispisa niza.
Ovaj oblik organizacije može se pojaviti u slučaju string varijabli koje su po svojim svojstvima dovoljno bliske nizovima tipa Char. Ali postoje i razlike. Oni su sljedeći:
- String varijable se uvijek mogu unijeti sa tastature i ispisati na ekranu.
- String varijable su ograničene po dužini. Možete unijeti najviše 255 znakova. Kritična veličina niza je 64 kb.
Koje metode se mogu koristiti za prikaz podataka niza na ekranu?
Treba obratiti pažnju na način na koji je prikazan sadržaj niza. Ima ih nekoliko.
- Writeln (A[1], A[2], A[3]). Takav primjer, iako primitivan, može pokazati kako možete direktno pristupiti svakom pojedinačnom elementu koji je inherentan u tabeli. Međutim, neke od prednosti koje Pascal nizovi imaju u odnosu na jednostavne varijable ovdje nisu vidljive.
-
Program A1;
Var B: Niz [1..10] Integer;
K: Integer;
Početak
Za K:=1 do 10 Uradite {Ova komanda se ponavlja sa parametrom }
Readln(A[K]); {A[I] se unosi pomoću tastature }
Za K:=10 Dole do 1 Uradite {Tabela se štampa obrnutim redoslijedom}
Write(A[K], 'VVV') Kraj.
Sličan kod programa za nizove u "Paskalu" pokazuje kako možete uneti 10 brojeva pomoću tastature, odštampati ih, preuređujući vrednosti obrnutim redosledom. Ako je isti program prepisan izkoristeći veliki broj varijabli umjesto niza, tada će kod biti značajno povećan. A ovo uvelike komplikuje proces čitanja programa.
Povećanje mogućnosti korištenjem nizova
Tabele je moguće popuniti i vrijednostima koje su jednake kvadratu indeksa elemenata. Takođe je moguće kreirati takav niz stringova u "Paskalu", koji će omogućiti da se svi brojevi unesu automatski. Kao što možete vidjeti, korištenje niza uvelike poboljšava mogućnosti programskog jezika Pascal.
Obrada linearnih nizova je vrlo česta u različitim zadacima. Stoga, nema ništa čudno u činjenici da se oni proučavaju u institutima i školama. Osim toga, mogućnosti koje nizovi nose prilično su opsežne.
Šta je skriveno pod dvodimenzionalnim nizovima?
Možete zamisliti tabelu koja se sastoji od nekoliko redova odjednom. Svaki pojedinačni red sadrži nekoliko ćelija. U takvoj situaciji, da bi se tačno odredio položaj ćelija, potrebno je označiti ne jedan indeks, kao što je bio slučaj sa linearnim nizovima, već dva - broja koji su karakteristični za red i kolonu. Dvodimenzionalne nizove u "Paskalu" karakteriše sličan prikaz.
Kako opisati tablice ove vrste?
Struktura podataka koja se nalazi u jeziku Pascal da bi se pohranile vrijednosti takve tabele jenaziv dvodimenzionalnog niza. Opis takvog niza je moguć odmah pomoću dvije metode.
- Var B: niz[1..15] niza [1..30] cijelog broja;
- Var B: Niz [1..15, 1..30] Integer.
U svim ovim slučajevima, opisan je dvodimenzionalni niz, koji ima 15 redova i 30 kolona. Ovi opisi koji su dati gore su apsolutno ekvivalentni. Za početak rada s bilo kojim od elemenata potrebno je dodijeliti dva indeksa. Na primjer, A[6][5] ili A[6, 5].
Izlaz na ekran će biti skoro isti kao u slučaju jednodimenzionalnog niza. Potrebno je samo navesti dva indeksa. U svemu ostalom, razlike kao takve nema, pa o tome ne treba dugo pričati.
Prvi način sortiranja
Ponekad postaje potrebno sortirati podatke. Za to jezik ima odgovarajuće komande. Postoje dva algoritma po kojima se niz može sortirati u Pascalu. Značenje metode direktne selekcije leži u činjenici da će se ugniježđenjem petlje apsolutno svaka varijabla tabele uporediti s drugim vrijednostima. Drugim riječima, ako postoji niz od 15 brojeva, tada će se prvi broj 1 uporediti sa drugim brojevima. To će se događati sve dok se, na primjer, ne pronađe element koji je veći od prvog broja. Nakon toga, poređenje će se odvijati upravo ove brojke. Ovo će se ponavljati dok se ne pronađe najveći.element od svih predloženih. Ova metoda je prilično jednostavna za one programere koji su tek počeli raditi na jeziku.
Drugi način sortiranja niza
Drugi način je balon. Suština ove tehnike leži u činjenici da se susjedni elementi upoređuju u parovima. Na primjer, 1 i 2, 2 i 3, 3 i 4, itd. U slučaju da pronađena vrijednost u potpunosti ispunjava uslove sortiranja, biće pomjerena na kraj cijelog niza, tj. iskočiće kao "mehur". Ovaj algoritam je najteže zapamtiti. Međutim, ne morate ga mljeti. Glavna stvar je razumjeti cijelu strukturu koda. I samo u ovom slučaju se može tvrditi da postiže velike visine u programiranju.
Zaključak
Nadamo se da razumijete šta su nizovi i kako možete sortirati da biste pronašli određenu vrijednost ili postigli određeni cilj. Ako ste odabrali "Pascal" za rješavanje određenog problema, u kojem nizovi zauzimaju važno mjesto, tada ćete morati temeljno pristupiti njihovom proučavanju. Na to utječe faktor kao što je prisutnost u jeziku dovoljno velikog broja varijabli koje se koriste u određenim situacijama da pojednostave cijeli kod u cjelini. Nizovi se s pravom smatraju glavnim veličinama, čije se proučavanje mora odvijati bez greške.