Kintamieji Spausdinti
( 21 Votes )

Parašė Vidmantas Šarkys   

Skyriuje "Pirma programa" išnagrinėjome elementarią programą, kurioje nebuvo nė vieno kintamojo. Tiesa, sudetingesnėse programose be kintamųjų išsiversti neįmanoma, tad šįkart apžvelgsime jų tipus ir reikšmių priskyrimą.

Kintamasis - tai dydis, kuris gali kisti ir įgyti skirtingas reikšmes. Matematikoje dažniausiai naudojami x ir y kintamieji. Pavyzdžiui reiškinyje "x + 2 > 0" kintamojo x reikšmės turi būti didesnės už -2, taigi tokių reikšmių yra begalybė. Programavimo kalbose kintamieji gali būti įvairių tipų: sveikieji, realieji skaičiai, simboliai, failai ir daugybė kitų. Apžvelkime FPS kintamųjų tipus.

"Pirma programa" skyriuje užsiminėme, kad kintamuosius aprašome tarp programos pavadinimo ir pagrindinio bloko "begin" sakinių. Tai turėtų atrodyti šitaip:

program for_fun;
var x : (čia įrašomas kintamojo tipas) ;
Begin
ReadLn;
end.

Žodis "var" reiškia, jog po jo seks kintamųjų tipų sąrašas. Gali būti ne vienas, o keli kintamieji. Beto, gali būti ir keli kintamųjų tipai. Tokiu atveju tai atrodys taip:

program for_fun;
var x, y, z : ( 1 tipas ) ;
a, b, c : ( 2 tipas ) ;
a1, b2, c3 : ( 3 tipas ) ;
...
Begin
ReadLn;
end.

Kaip matome,  esant daugiau nei vienam kintamųjų tipui, žodis "var" rašomas tik pirmoje eilutėje. Po kiekvieno kintamojo tipo dedamas kabliataškis, to paties tipo kintamieji skiriami kableliais.

Pagrindiniai FPS kintamųjų tipai.

1. Integer. Tai sveikųjų skaičių tipas. Jam galima priskirti tokias reiškmes, kaip 1, 15, 0, -10 ... Tiesa, skaičius neturėtų viršyti +-32767, kadangi tuomet reikšmė peržengs leistinus integer rėžius ir programa išmes klaidą.

2. Real. Tai realiųjų skaičių tipas. Jam priskiramos reikšmės - realieji skaičiai: 1, 0, 1.25, -5.999, - 5435.79 ... Šis tipas neturi tokių apribojimų, kaip integer, todėl skaičiai gali turėti ir dideles reikšmes.

3. Longint. Jeigu vistik norite naudoti integer tipą, tačiau kintamojo reikšmė turi būti didžiulė, jūsų išeitis - longint tipas. Jis nuo integer skiriasi tik tuo, kad neturi reikšmių dydžių apribojimo.

4. Char. Simbolio tipas. Kintamasis gali būti bet kas - skaičius, raidė, ženklas. Pavyzdžiui: 5, a, ė, +, _, ; ...

5. String[...]. Sakinio tipas. Laužtiniuose skliaustuose šalia sveikuoju skaičiumi nurodomas to sakinio ilgis simboliais ( nurodyti nebūtina; tokiu atveju skliaustų nerašome ). Pavyzdžiai : 2, Jonas, Namas miesto viduryje, 645 778 9582 ...

6. Text. Tekstinio failo tipas. Jį pavadinti galime žodžiu ar raide, pvz: a, b, duom, rez... Plačiau apie tai skaitykite skyriuje "Darbas su failais".

7. Boolean. Šis tipas gali turėti tik dvi reikšmes : true arba false. Bandant priskirti kitokius žodžius ar skaičius programą išmes klaidą. Po kintamojo tipo priskyrimo, kintamąjam automatiškai priskiriama false reikšmė.

Pažvelkime, kaip turėtų atrodyti tvarkingas kintamųjų aprašymas programoje:

Program pabandykime;
var a, b : integer;
c : real;
d : string;
e : boolean;
begin
...

Priskyrę kintamiesiems tipus - nieko ypatingo nepešime. Tam, kad panaudoti juos programoje, pirmiausiai turime jiems priskirti konkrečias reikšmes. Tai darome šitaip:

x := 5 ;
y := -78.5 ;
a := 'b' ;
alfa := 'ne_beta' ;
b12 := TRUE ;

Kaip jau supratote, norėdami priskirti kintamajam reikšmę, po kintamojo rašome ":=" ženklą, kuris ir reiškia priskyrimą. Po šio ženklo rašome norimą reikšmę. Atkreipkime dėmesį į 3 ir 4 kintamuosius. Jiems priskiriamos atitinkamai simbolio ir sakinio tipų reikšmės, esančios tarp kabučių. Skyriuje "Pirma programa" įspėjome, kad rašant tekstą naudodami WriteLn funkciją iš abiejų teksto pusių privalome rašyti kabutes, kitaip FPS neleis programai veikti. Priskirant kintamajam tekstą ar simbolį galioja ta pati taisyklė. Tiesa, vertėtų prisiminti, jog kintamųjų pavadinimų niekada nerašome tarp kabučių, pvz WriteLn( kintamasis, 'Ne_Kintamasis'), kur pirmoje vietoje kintamojo pavadinimas, o antroje- paprasčiausias tekstas.

Susipažinome su svarbiausiomis kintamųjų ypatybėmis. Dabar viską pakartokime sukurdami programą su kintamaisiais (galite nusikopijuoti programos kodą ir išbandyti savo FPS aplinkoje) :

Program pabandykim;
var a, b, c : integer;
s1, s2, s3 : char ;
n : string[50] ;
tr : boolean ;
Begin
a := 1; b :=2; c := 3;
s1 := '!' ;
s2 := '.' ;
s3 := ' ' ;
tr := true;
n := 'www.coderland.lt';
WriteLn(a, s3, b, s3, c, s2, s2, s2) ;
WriteLn(n, ' PRIVALAI APLANKYT', ' - ', tr, ' ', s1, s1) ;
ReadLn;
end.