Pritaikymas Spausdinti
( 5 Votes )

Parašė Vidmantas Šarkys   

Programos kodas gali būti klampus ir neaiškus nagrinėjant net ir paprastesnes programas. Kartais išties sunku išanalizuoti programą, suprasti jos veikimo principą ar, tiesiog, surasti loginę klaidą. Šiame skyriuje apžvelgsime kaip palengvinti gyvenimą paskalio vartotojui - kaip padaryti programas lengviau suprantamesnes ir mielesnes akiai.

Komentarai

Apžvelkime programos fragmentą.

...
Begin
a := 1; b := 1; c := 1;
p(a, b, c);
writeln(a, b: 5, c: 5);
r(a, b, c);
writeln(a, b: 5, c: 5)
end;
...

Ką supratote iš šio kodo? Nesijaudinkite, nieko ir neturėjote suprasti. Šį pavyzdį apžvelgėme norėdami įsitikinti, jog žmogus, analizuojantis kodą, ypač jei tai yra ne jo kurta programa, dažnai susiduria su didelėmis problemomis. Šias problemas išspręsti ar, bent jau, palengvinti jų sprendimą gali komentarai. Komentarai - tai išrašai programose, neturintys nieko bendra su programos veikimu. Kartais užtenka prie sakinio ar programos dalies pasirašyti trumpą pastabą, pvz.: "Čia vykdome keturkampio perimetro skaičiavimą", ir tuomet viskas tampa akivaizdžiau ir suprantamiau. Apžvelkime komentarų naudojimą.

Program komentarai;
var x : integer;   {Sveikojo tipo kintamasis}
    y : real;      // Realiojo tipo kintamasis
...

Komentarai yra antroje ir trečioje eilutėse. Antrojoje esantis komentaras žymimas simboliais "{ ... }" ir išsiskiria tuo, jog gali apimti net kelias eilutes. Tarkim, padėję "{" ženklą, galime parašyti kad ir didelės apimties poemą. Komentaras baigsis tuomet, kai padėsime "}" ženklą. Trečioje eilutėje esantis komentavimo būdas galimas daugelyje programavimo kalbų, todėl yra labiau įprastas programuotojams. Tam, kad padėti komentarą užtenka "//" simbolių. Vėliau galite rašyti sakinį(-us). Patogu tai, jog nereikia žymėti komentaro pabaigos - jis baigsis paspaudus "Enter" klavišą ir perėjus į kitą eilutę.

Komentarų naudojimas dažnai nėra populiarus, tačiau verta atsiminti, jog komentavimas gali ženkliai supaprastinti programą. Negana to, valstybiniame informatikos egzamine duodamas taškas už bent vieną komentarą, tad kurdami programą komentuoti kartais esame tiesiog priversti.

Konstantos

Kas yra konstanta? Tai tam tikra reikšmė, kuri nesikeičia. Pavyzdžiui, žinoma, jog laisvojo kritimo pagreitis yra 9.8m/s² ir jis nepasikeis, nebent mokslininkai netikėtai atrastų savo klaidą skaičiavimuose. Paskalyje mes patys galime pasijusti mokslininkais - galime sukurti savo konstantas. Pažiūrėkime, kaip tai daroma.

program pasikonstantinuokim;
const pi = 3.1415626536; //skaičius "pi"
      pagr = 9.8;        // laisvojo kritimo pagreitis
      GeriausiasProgramavimoSaitas = 'www.coderland.lt'; //ir taip aišku

Po žodelio "const" galime surašyti daugybę konstantų. Kaip matome, tam tikram pavadinimui galime suteikti bet kokią reikšmę - skaičiaus, raidžių, simbolio. Tai supaprastina ir pagreitina kodo rašymą: mums nereikia rašyti skaičiaus, kuris, galbūt, po kalblelio turi 15 sklaitmenų; vietoj to parašome keletą pasirinktinių simbolių ir naudojame juos visoje programoje tiek, kiek mums patinka. Paskalyje yra integruota konstanta "maxint" kurios reikšmė 32767, tačiau, "pi" ir kitus skaičius bei norimas reikšmes visuomet turėsime apsibrėžti patys. 

Tipo sukūrimas

Kintamųjų tipus jau apžvelgėme. Įsitikinome, kad dažniausiai naudojami yra "integer", "real", "array", kurie atitinkamai reiškia sveikojo, realiojo ir sakinio tipus. Tiesa, turime galimybę tipą sukurti ir patys. Tai padaryti itin paprasta.

program tipai;
type mokykla = (pradinė, pagrindinė, vidurinė, gimnazija);
     spalva = (mėlyna, geltona, raudona);
     atsakymai = (taip, ne, nežinau);
     vienaženkliai = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
...

Aprašinėti tipus pradedame po žodžio "type". Vėliau seka norimas pavadinimas ir skliausteliuose išvardinamos tos reiškmės, kurios priklausys tipui. Jeigu norėtume tokiu būdu aprašyti sveikųjų skaičių tipą "integer", tai atrodytų maždaug taip : "type sveikieji = (-32767, -32766, -32765 ... -1, 0 , 1 ... 32765, 32766, 32767);" arba, tiesiog "type sveikieji = array[-32767..32767]". Antrąjį būdą aprašėme kaip masyvą, kurį nagrinėsime vėliau. 

Sukūrėme tipą, tačiau tam, kad iš to "išpešti" naudos, turime sukurti kintamąjį, kuriam tą tipą priskirsime. 

type mokykla = (pradinė, pagrindinė, vidurinė, gimnazija);
     spalva = (mėlyna, geltona, raudona);
 var moksleivis : mokykla;
     rašiklis, dangus : spalva;

Įvedėme 3 kintamuosius - "moksleivis", "rašiklis", "dangus" ir kiekvienam iš jų priskyrėme po tipą. Jei kurtume programą, vėliau šiems kintamiesiems galėtume priskirti tik tas reikšmes, kurios yra kintamojo tipo apraše. Pavyzdžiui "rašiklis := mėlyna" priskirti galime, tačiau "rašiklis := pradinė" - tokio priskyrimo negalėsime daryti. Tai, kaip panaudoti kintamuosius su savo sukurtais tipais, priklauso tik nuo programuotojo fantazijos.