Iga aastaga kasvab huvi programmeerimise vastu. Ja kui programmide kirjutamisele spetsialiseerunud asutustes toetuvad nad sellisele programmeerimiskeelele nagu C ++, siis koolides ja tehnikakoolides tutvuvad õpilased "Pascaliga". Ja juba selle keele põhjal hakkavad nad Delphi tarkvara abil programmeerimist mõistma. Tuleb kohe märkida, et need programmeerimiskeeled pakuvad tohutult ruumi nende kujutlusvõime avaldumiseks. Ja kui Pascali keele abil saad tutvuda programmeerimise põhimõistetega, siis Delphis saab juba täisväärtusliku programmi kirjutada. Ja programmide kirjutamisel on mõnikord üsna oluline koht massiivide lahendamisel "Pascalis".
Suure hulga väga erinevate muutujate olemasolu
Programmeerimiskeeles on üsna palju erinevaid muutujaid, mida iseloomustab ainult ühe väärtuse olemasolu. Nad suudavad salvestada ühe väärtuse, millel on teatud tüüpi. Stringi muutujad on erand. Nemad onon nende andmete kogum, millele on iseloomulik märgitüüp. Kuid isegi selliseid muutujaid käsitletakse tavaliselt eraldi väärtuse positsioonist.
Pole saladus, et arvuti abil saate oluliselt vähendada teatud suurte andmemahtudega seotud tööde tegemise aega. Aga kuidas on võimalik salvestada mällu töötulemusi ja töödelda ka neid andmeid, mis sisaldavad suurt hulka ridu, kasutades ainult neid muutujaid, mille tüübid on inimestele teada? Sellised ülesanded on üsna tavalised igal tegevusalal.
Muidugi saate alati sisestada nii palju muutujaid, kui vajate oma eesmärkide saavutamiseks. Samuti saate neile teatud väärtused määrata. Kuid programmi kood sellest ainult suureneb. Suure hulga ridu sisaldavat koodi on raske lugeda. Eriti kui on vaja vigu leida.
Vastav alt sellele mõtlesid programmeerijad selle küsimuse üle. Seetõttu on seni arendatud keeltes sellised muutujad, mis võimaldavad salvestada tohutul hulgal andmeid. "Pascali" massiiv on programmeerimise lähenemisviisis palju muutunud. Seetõttu peetakse seda programmeerimiskeeles oluliseks muutujaks.
Massiivide kasutamine võib koodi suurust drastiliselt vähendada
Selle mõiste all on peidetud järjestatud andmejada, mida iseloomustab üks tüüp. Lisaks saavad kõik need andmed sama nime. Samuti peaksTuleb märkida, et selle määratlusega sobivad paljud reaalse maailma objektid: sõnaraamatud, karikatuurid ja palju muud. Lihtsaim viis massiivi "Pascalis" esitada on aga omamoodi tabelina. Iga üksik lahter sisaldab ühte muutujat. Koordinaatide abil saate määrata muutuja asukoha üldtabelis.
Mida tähendab ühemõõtmeline massiiv?
Kõige lihtsam on tabel, mis on lineaarne. Selles massiivis piisab parameetri asukoha määramiseks ainult ühe numbri määramisest. Nende põhjal moodustatakse keerukamad massiivid.
Ühemõõtmeliste massiivide kirjeldamiseks "Pascalis" sisestage lihts alt järgmine kood: Type Array of.
Arvud on need muutujad, millel võib olla järgutüüp. Vahemiku määramisel tasub mõista, et esialgne arv ei saa olla lõppnumbrist suurem. Massiivielementide tüüp võib olla absoluutselt ükskõik milline - kas standardne või juba eelnev alt kirjeldatud. Valik sõltub konkreetse probleemi lahendamise vajadusest.
Kuidas kirjeldatakse lineaarset massiivi?
"Pascalis" on võimalik kohe kirjeldada ühemõõtmelisi massiive. Seda tuleb teha spetsiaalses jaotises, mis on selle konkreetse protseduuri jaoks vajalik. Peate sisestama järgmise koodi: Var: Array Of.
Selleks et mõista, kuidas saate Pascalis massiivi kirjeldada, peaksite sisestama järgmise koodi:
- Var
- S, VV: Array[5..50] Of Real;
- K: täisarvu massiiv['C'.. 'R'];
- Z: Wordi massiiv [-10..10];
- E: massiiv [3…30] päris.
Selles näites on muutujad S, VV ja T nende arvude massiiv, mis on reaalsed. Muutuja K peidab märgi tüübi ja need elemendid. Mis on täisarvud. Massiiv Z salvestab numbreid, mille tüüp on Word.
Kõigi tegevuste hulgas, mida saab massiiviga töötamisel kasutada, saab eristada määramist. Sellele saab allutada kogu tabeli. Näiteks S:=VV. Kuid tuleb mõista, et määramistehinguid saab "Pascalis" allutada ainult massiivile, millel on teatud tüüp.
Ei ole enam ühtegi toimingut, mida saaks korraga teha kogu massiiviga. Elementidega saab aga töötada samamoodi nagu teiste teatud tüüpi algarvudega. Individuaalsele parameetrile viitamiseks peate määrama massiivi nime. Nurksulgude abil peate määrama soovitud elemendile iseloomuliku indeksi. Näiteks: K[12].
Peamised erinevused massiivide ja muude muutujate vahel
Põhiline erinevus tabelikomponentide ja lihtmuutujate vahel seisneb selles, et sulgudesse on võimalik panna mitte ainult indeksi väärtus, vaid ka selline avaldis, mis võib viia soovitud väärtuseni. Kaudse adresseerimise näide võib olla: V[K]. Sel juhul omandab muutuja K teatud väärtuse. Sellestsellest järeldub, et saate massiivi täitmisel, töötlemisel ja printimisel kasutada tsüklit.
Selline organiseerimisvorm võib esineda stringimuutujate puhul, mis on oma omadustelt piisav alt lähedased Char-tüüpi massiividele. Kuid on ka erinevusi. Need on järgmised:
- Stringi muutujaid saab alati sisestada klaviatuurilt ja printida ekraanile.
- Stringmuutujate pikkus on piiratud. Saate sisestada kuni 255 tähemärki. Massiivi kriitiline suurus on 64 kb.
Milliseid meetodeid saab kasutada massiiviandmete kuvamiseks ekraanil?
Pöörake tähelepanu sellele, kuidas massiivi sisu kuvatakse. Neid on mitu.
- Writeln (A[1], A[2], A[3]). Selline näide, kuigi primitiivne, suudab näidata, kuidas pääsete otse igale tabeli üksikule elemendile juurde. Kuid mõned eelised, mis Pascali massiividel lihtsate muutujate ees on, ei ole siin nähtavad.
-
Programm A1;
Var B: Massiiv [1..10] täisarvust;
K: täisarv;
Alusta
K:=1 kuni 10 Tee {See käsk loob parameetriga }
Readln(A[K]); {A[I] sisestatakse klaviatuuriga }
For K:=10 Downto 1 Do {Tabelit prinditakse vastupidises järjekorras}
Write(A[K], 'VVV') Lõpp.
Pascali massiivide programmi sarnane kood näitab, kuidas saate klaviatuuri abil sisestada 10 numbrit, need välja printida, paigutades väärtused ümber vastupidises järjekorras. Kui sama programm kirjutatakse ümberkasutades massiivi asemel suurt hulka muutujaid, siis suurendatakse koodi oluliselt. Ja see muudab programmi lugemise protsessi oluliselt keerulisemaks.
Võimaluste suurendamine massiivide kasutamise kaudu
Tabeleid on võimalik täita ka väärtustega, mis on võrdsed elemendiindeksite ruuduga. Samuti on võimalik "Pascalis" luua selline stringide massiiv, mis võimaldab kõiki numbreid automaatselt sisestada. Nagu näete, suurendab massiivi kasutamine oluliselt Pascali programmeerimiskeele võimalusi.
Lineaarmassiivide töötlemine on erinevates ülesannetes väga levinud. Seetõttu pole selles midagi imelikku, et neid õpitakse instituutides ja koolides. Lisaks on massiivide võimalused üsna ulatuslikud.
Mis on peidetud kahemõõtmeliste massiivide all?
Võite ette kujutada tabelit, mis koosneb mitmest reast korraga. Iga rida sisaldab mitut lahtrit. Sellises olukorras on lahtrite asukoha täpseks määramiseks vaja märkida mitte üks indeks, nagu lineaarsete massiivide puhul, vaid kaks - reale ja veerule iseloomulikud numbrid. "Pascali" kahemõõtmelisi massiive iseloomustab sarnane esitus.
Kuidas kirjeldada selliseid tabeleid?
Sellise tabeli väärtuste salvestamiseks Pascali keeles leiduv andmestruktuur onkahemõõtmelise massiivi nimi. Sellise massiivi kirjeldamine on võimalik kohe kahe meetodi abil.
- Var B: massiiv[1..15] massiivist [1..30] täisarvust;
- Var B: massiiv [1..15, 1..30] täisarvust.
Kõigil neil juhtudel kirjeldatakse kahemõõtmelist massiivi, millel on 15 rida ja 30 veergu. Need ül altoodud kirjeldused on täiesti samaväärsed. Ühe elemendiga töötamise alustamiseks on vaja eraldada kaks indeksit. Näiteks A[6][5] või A[6, 5].
Ekraani väljund on peaaegu sama, mis ühemõõtmelise massiivi puhul. Peate määrama ainult kaks indeksit. Muus osas erinevused kui sellised puuduvad, seega pole vaja sellest pik alt rääkida.
Esimene viis sortimiseks
Mõnikord on vaja andmeid sortida. Selleks on keeles vastavad käsud. Massiivide Pascalis sorteerimiseks on kaks algoritmi. Otsese valiku meetodi tähendus seisneb selles, et tsükli pesastamisel võrreldakse absoluutselt iga tabeli muutujat teiste väärtustega. Teisisõnu, kui on 15 numbrist koosnev massiiv, võrreldakse esimest numbrit 1 teiste numbritega. See juhtub seni, kuni leitakse näiteks element, mis on suurem kui esimene number. Edaspidi toimub võrdlus täpselt selle arvu järgi. Seda korratakse seni, kuni leitakse suurim.element kõigist pakutud. See meetod on üsna lihtne neile programmeerijatele, kes on just keelega tööd alustanud.
Teine massiivi sortimismeetod
Teine viis on mull. Selle tehnika olemus seisneb selles, et naaberelemente võrreldakse paarikaupa. Näiteks 1 ja 2, 2 ja 3, 3 ja 4 jne. Kui leitud väärtus vastab täielikult sortimistingimustele, viiakse see kogu massiivi lõppu, st see kuvatakse kui "mull". Seda algoritmi on kõige raskem meeles pidada. Siiski ei pea te seda lihvima. Peaasi on mõista kogu koodi struktuuri. Ja ainult sel juhul võib väita, et saavutate programmeerimises suuri kõrgusi.
Järeldus
Loodame, et saate aru, mis on massiivid ja kuidas saate konkreetse väärtuse leidmiseks või konkreetse eesmärgi saavutamiseks sortida. Kui valisite konkreetse probleemi lahendamiseks "Pascali", milles massiivid on olulisel kohal, peate nende uurimisele põhjalikult lähenema. Seda mõjutab selline tegur nagu piisav alt suure hulga muutujate olemasolu keeles, mida teatud olukordades kasutatakse kogu koodi kui terviku lihtsustamiseks. Massiive peetakse õigustatult peamisteks suurusteks, mille uurimine peab toimuma tõrgeteta.