Masyvas „Pascal“. Programos masyvams pascal

Turinys:

Masyvas „Pascal“. Programos masyvams pascal
Masyvas „Pascal“. Programos masyvams pascal
Anonim

Kiekvienais metais susidomėjimas programavimu didėja. Ir jei įstaigose, kurių specializacija yra programų rašymas, jie remiasi tokia programavimo kalba kaip C ++, tai mokyklose ir technikos mokyklose mokiniai susipažįsta su „Pascal“. Ir jau remdamiesi šia kalba jie pradeda suprasti programavimą naudodami Delphi programinę įrangą. Iš karto reikia pažymėti, kad šios programavimo kalbos suteikia didžiulę erdvę jų vaizduotei pasireikšti. Ir jei Pascal kalbos pagalba galite susipažinti su pagrindinėmis programavimo sąvokomis, tai Delphi jau galite parašyti visavertę programą. O rašant programas gana svarbią vietą kartais užima masyvų sprendimas „Pascal“.

Daugelis labai skirtingų kintamųjų

masyvas Pascal
masyvas Pascal

Programavimo kalboje yra gana daug įvairių kintamųjų, kuriems būdinga tik viena reikšmė. Jie gali išsaugoti vieną vertę, kuri turi tam tikrą tipą. Išimtis yra eilutės kintamieji. Jie yrayra rinkinys tų duomenų, kuriems būdingas simbolių tipas. Tačiau net ir tokie kintamieji paprastai vertinami iš atskiros reikšmės.

Ne paslaptis, kad kompiuterio pagalba galite žymiai sutrumpinti tam tikrų darbų, susijusių su dideliais duomenų kiekiais, atlikimo laiką. Bet kaip, naudojant tik tuos kintamuosius, kurių tipai yra žinomi žmonėms, galima išsaugoti darbo rezultatus atmintyje, taip pat apdoroti tuos duomenis, kuriuose yra daug eilučių? Tokios užduotys yra gana dažnos bet kurioje veiklos srityje.

Žinoma, visada galite įvesti tiek kintamųjų, kiek reikia tikslams pasiekti. Taip pat galite nustatyti kai kurias jų vertes. Bet nuo to programos kodas tik padidės. Sunku perskaityti kodą, kuriame yra daug eilučių. Ypač kai reikia rasti klaidų.

Atitinkamai, programuotojai pagalvojo apie šį klausimą. Štai kodėl iki šiol sukurtos kalbos turi tokius kintamuosius, kurie leidžia saugoti didžiulį duomenų kiekį. „Pascal“masyvas labai pasikeitė programavimo požiūriu. Todėl jis laikomas svarbiu programavimo kalbos kintamuoju.

Naudodami masyvus galite smarkiai sumažinti kodo dydį

Po šiuo terminu paslėpta sutvarkyta duomenų seka, kuriai būdingas vienas tipas. Be to, visi šie duomenys įgauna tą patį pavadinimą. Taip pat turėtųReikėtų pažymėti, kad daugelis realaus pasaulio objektų gali atitikti šį apibrėžimą: žodynai, animaciniai filmai ir daug daugiau. Tačiau lengviausias būdas pateikti masyvą „Pascal“yra tam tikros lentelės forma. Kiekvienoje atskiroje ląstelėje yra vienas kintamasis. Naudodami koordinates galite nustatyti kintamojo vietą, kurią jis užims bendrojoje lentelėje.

Ką reiškia vienmatis masyvas?

masyvai paskaliais
masyvai paskaliais

Paprasčiausia lentelė yra ta, kuri yra tiesinė. Šiame masyve norint nustatyti parametro vietą, pakanka nurodyti tik vieną skaičių. Pagal juos formuojami sudėtingesni masyvai.

Norėdami apibūdinti vienmačius masyvus „Pascal“, tiesiog įveskite šį kodą: Įveskite Array of.

Skaičiai yra tie kintamieji, kurie gali turėti eilės tipą. Nurodant diapazoną, verta suprasti, kad pradinis skaičius negali būti didesnis nei galutinis. Masyvo elementų tipas gali būti visiškai bet koks – arba standartinis, arba jau aprašytas anksčiau. Pasirinkimas priklausys nuo poreikio išspręsti konkrečią problemą.

Kaip apibūdinamas tiesinis masyvas?

Galima iš karto aprašyti vienmačius masyvus „Pascal“. Tai turi būti padaryta specialiame skyriuje, kuris reikalingas šiai konkrečiai procedūrai. Turėsite įvesti šį kodą: Var: Array Of.

Kad suprastumėte, kaip galite apibūdinti masyvą naudojant Pascal, turėtumėte įvesti šį kodą:

- Var

- S, VV: Array[5..50] Of Real;

- K: masyvas ['C'.. 'R'] sveikasis skaičius;

- Z: „Word“[-10..10] masyvas;

- E: Masyvas [3..30] Realaus.

Šiame pavyzdyje kintamieji S, VV ir T yra masyvas tų skaičių, kurie yra tikri. Kintamasis K paslepia simbolio tipą ir tuos elementus. Kurie yra sveikieji skaičiai. Z masyve saugomi skaičiai, kurių tipas yra Word.

Tarp visų veiksmų, kuriuos galima naudoti dirbant su masyvu, galima išskirti paskyrimą. Jai gali būti taikomas visas stalas. Pavyzdžiui, S:=VV. Tačiau reikia suprasti, kad priskyrimo operacijos gali būti taikomos tik „Pascal“masyvei, kuris turi tam tikrą tipą.

Nėra jokių operacijų, kurias būtų galima atlikti iš karto visame masyve. Tačiau su elementais galite dirbti taip pat, kaip ir su kitais pirminiais skaičiais, turinčiais tam tikrą tipą. Norėdami nurodyti atskirą parametrą, turite nurodyti masyvo pavadinimą. Naudodami laužtinius skliaustus, turite nustatyti indeksą, būdingą norimam elementui. Pavyzdžiui: K[12].

Pagrindiniai masyvų ir kitų kintamųjų skirtumai

užduotis Pascal masyvai
užduotis Pascal masyvai

Esminis skirtumas tarp lentelės komponentų ir paprastų kintamųjų yra tas, kad skliausteliuose galima dėti ne tik indekso reikšmę, bet ir tokią išraišką, kuri gali sukelti norimą reikšmę. Netiesioginio adresavimo pavyzdys gali būti: V[K]. Šiuo atveju kintamasis K įgauna tam tikrą reikšmę. Iš šitotai reiškia, kad užpildydami, apdorodami ir spausdindami masyvą galite naudoti kilpą.

Ši organizavimo forma gali atsirasti, kai eilutės kintamieji savo savybėmis yra pakankamai artimi Char tipo masyvams. Tačiau yra ir skirtumų. Jie yra tokie:

  1. Eilutės kintamuosius visada galima įvesti iš klaviatūros ir atspausdinti ekrane.
  2. Eilutės kintamieji yra riboto ilgio. Galite įvesti daugiausia 255 simbolius. Kritinis masyvo dydis yra 64 kb.

Kokie metodai gali būti naudojami masyvo duomenims rodyti ekrane?

Turėtumėte atkreipti dėmesį į tai, kaip rodomas masyvo turinys. Yra keletas.

  1. Rašyti (A[1], A[2], A[3]). Toks pavyzdys, nors ir primityvus, gali parodyti, kaip galite tiesiogiai pasiekti kiekvieną atskirą lentelės elementą. Tačiau kai kurie Paskalio masyvo pranašumai, palyginti su paprastais kintamaisiais, čia nematomi.
  2. Programa A1;

    Vartas B: Masyvas [1..10] Iš sveikojo skaičiaus;

    K: Sveikasis skaičius;

    Pradėti

    K:=Nuo 1 iki 10 Daryti {Ši komanda sujungiama su parametru }

    Readln(A[K]); {A[I] įvedamas naudojant klaviatūrą }

    For K:=10 Downto 1 Do {Lentelė spausdinama atvirkštine tvarka}

    Write(A[K], 'VVV') Pabaiga.

Panašus „Pascal“masyvų programos kodas parodo, kaip klaviatūra galite įvesti 10 skaičių, juos atsispausdinti, pertvarkydami reikšmes atvirkštine tvarka. Jei ta pati programa perrašoma išvietoj masyvo naudojant daug kintamųjų, tada kodas bus žymiai padidintas. Ir tai labai apsunkina programos skaitymo procesą.

Padidinkite galimybes naudojant masyvus

masyvo programa pascal
masyvo programa pascal

Taip pat galima užpildyti lenteles reikšmėmis, kurios yra lygios elementų indeksų kvadratui. Taip pat „Pascal“galima sukurti tokį eilučių masyvą, kuris leis automatiškai įvesti visus skaičius. Kaip matote, masyvo naudojimas labai padidina Pascal programavimo kalbos galimybes.

Tiesinių matricų apdorojimas yra labai įprastas atliekant įvairias užduotis. Todėl nėra nieko keisto tame, kad jie mokomi institutuose ir mokyklose. Be to, masyvų teikiamos galimybės yra gana plačios.

Kas paslėpta po dvimačiais masyvais?

Galite įsivaizduoti lentelę, kurią vienu metu sudaro kelios eilės. Kiekvienoje atskiroje eilutėje yra keletas langelių. Esant tokiai situacijai, norint tiksliai nustatyti langelių padėtį, reikia pažymėti ne vieną indeksą, kaip buvo tiesinių masyvų atveju, o du - skaičius, kurie būdingi eilutei ir stulpeliui. „Pascal“dvimačiai masyvai pasižymi panašiu vaizdavimu.

Kaip apibūdinti tokio tipo lenteles?

užduotis pascal masyvai
užduotis pascal masyvai

Duomenų struktūra, kuri randama Pascal kalba, kad būtų saugomos tokios lentelės reikšmės, yradvimačio masyvo pavadinimas. Tokį masyvą galima apibūdinti iškart naudojant du metodus.

  1. B variantas: masyvas[1..15] iš masyvo [1..30] sveikojo skaičiaus;
  2. B variantas: masyvas [1..15, 1..30] iš sveikųjų skaičių.

Visais šiais atvejais aprašomas dvimatis masyvas, kurį sudaro 15 eilučių ir 30 stulpelių. Tie aprašymai, kurie buvo pateikti aukščiau, yra visiškai lygiaverčiai. Norint pradėti dirbti su bet kuriuo iš elementų, reikia skirti du indeksus. Pavyzdžiui, A[6][5] arba A[6, 5].

Ekrano išvestis bus beveik tokia pati, kaip ir vienmačio masyvo atveju. Jums tereikia nurodyti du indeksus. Visais kitais atžvilgiais skirtumų nėra, todėl ilgai apie tai kalbėti nereikia.

Pirmas būdas rūšiuoti

vienmačiai masyvai paskaliais
vienmačiai masyvai paskaliais

Kartais prireikia rūšiuoti duomenis. Tam kalba turi atitinkamas komandas. Yra du algoritmai, pagal kuriuos masyvas gali būti rūšiuojamas Pascal. Tiesioginio atrankos metodo prasmė slypi tame, kad įdėjus kilpą absoliučiai kiekvienas lentelės kintamasis bus lyginamas su kitomis reikšmėmis. Kitaip tariant, jei yra 15 skaičių masyvas, pirmasis skaičius 1 bus lyginamas su kitais skaičiais. Taip bus tol, kol, pavyzdžiui, bus rastas elementas, didesnis už pirmąjį skaičių. Vėliau palyginimas bus atliktas būtent pagal šį skaičių. Tai kartojama tol, kol bus rastas didžiausias.elementas iš visų siūlomų. Šis metodas yra gana paprastas tiems programuotojams, kurie ką tik pradėjo dirbti šia kalba.

Antras masyvo rūšiavimo metodas

Antras būdas yra burbulas. Šios technikos esmė slypi tame, kad gretimi elementai lyginami poromis. Pavyzdžiui, 1 ir 2, 2 ir 3, 3 ir 4 ir tt Jei rasta reikšmė visiškai atitinka rūšiavimo sąlygas, ji bus perkelta į viso masyvo pabaigą, t. y. ji pasirodys kaip "burbulas". Šį algoritmą atsiminti sunkiausia. Tačiau jums nereikia jo šlifuoti. Svarbiausia suprasti visą kodo struktūrą. Ir tik tokiu atveju galima teigti, kad pasiekiate didelių programavimo aukštumų.

Išvada

masyvų sprendimas paskaliais
masyvų sprendimas paskaliais

Tikimės, kad suprantate, kas yra masyvai ir kaip galite rūšiuoti, kad surastumėte konkrečią vertę arba pasiektumėte konkretų tikslą. Jei pasirinkote „Pascal“, kad išspręstumėte konkrečią problemą, kurioje masyvai užima svarbią vietą, tuomet turėsite nuodugniai susipažinti su jų tyrimu. Tam įtakos turi toks veiksnys kaip pakankamai daug kintamųjų, kurie tam tikrose situacijose naudojami siekiant supaprastinti visą kodą kaip visumą, buvimas kalboje. Masyvai teisingai laikomi pagrindiniais dydžiais, kurių tyrimas turi vykti be klaidų.

Rekomenduojamas: