Paskalio abėcėlė
Paskalio abėcėlė
Ją sudaro:
• Raidės (didžiosios ir mažosios);
• Skaitmenys;
• Specialūs simboliai:
• Pavieniai simboliai: + – * / = < > ( ) [ ] { } . , : ; ′
• Simbolių poros: <> <= >= := ..
Baziniai žodžiai:
and array begin case const
div do downto else end
file for function goto if
in label mod nil not
of or packed procedure program
record repeat set then to
type until var while with
Baziniai žodžiai vartojami operacijoms bei kitoms programų konstrukcijoms žymėti. Visi baziniai žodžiai yra rezervuoti, t.y. jie turi apibrėžtą prasmę ir kkitiems tikslams jų vartoti negalima
Vardai
Vardai – tai konstantų, tipų, kintamųjų, įrašo laukų, procedūrų, funkcijų, modulių ir programų pavadinimai.
Vardai sudaromi iš raidžių ir skaitmenų pagal tokias taisykles:
• Pirmas vardo simbolis turi būti raidė;
• Tolesni vardo simboliai turi būti raidės arba skaitmenys;
• Vardo viduje negali būti tarpų;
• Vardas negali sutapti su baziniu žodžiu
.
Programos struktūra
Bet kurią programą sudaro trys dalys: programos antraštė, aprašų dalis, vykdomoji dalis ir programos pabaigos simbolis – taškas.
Programos antraštė: po žodžio program rašomas programos vardas, kuris programos viduje neturi jokios prasmės ir nnegali būti vartojamas.
Programos struktūrą galima pavaizduoti šitokia schema:
program vardas; { programos antraštė}
label 12, 15.; { aprašų dalis}
const c1 = .;
c2 = .;
type t1 = .;
t2 = .;
var v1, v2: .;
v3: .;
function f1 ..;
procedure p .;
function f2 .;
begin { vykdomoji dalis}
sakinys1;
sakinys2;
.
pskutinis_sakinys;
end. { programos pabaiga }
Konstantų aprašų skyrius
Konstantos aprašo dešiniojoje pusėje gali būti tiktai konstanta: skaičius, simbolis, loginė reikšmė, vardinio tipo konstanta.
Konstantų aprašų pavyzdžiai:
const c = 30000;
pi = 3.14159;
tiesa = true;
pliusas = ‘+’;
Kintamųjų aprašų skyrius
Kiekvienam Paskalio kalbos kintamajam nurodoma, kurio tipo reikšmes jis gali įgyti. Visi Paskalio programoje vartojami kintamieji privalo būti aprašyti. Aprašant kintamąjį, nurodomas jo vardas ir reikšmių, kurias jis gali įgyti, tipas.
Kintamieji aprašomi kintamųjų aprašų skyriuje; jis pradedamas žodžiu var.
Kintamųjų aprašų skyriaus pavyzdys:
var x1, x2, x3, suma: real;
i, j, skaitiklis: integer;
p, p1: boolean;
c: char;
a: array [ 1..10] of real;
Loginis tipas žymimas standartiniu vardu boolean. JJo reikšmių aibę sudaro dvi reikšmės false ir true. Su loginio tipo reikšmėmis galima atlikti logines operacijas; be to, tokias reikšmes įgyjantys reiškiniai gali būti vartojami struktūriniuose sakiniuose po bazinių žodžių if, while, until.
Simbolinis tipas žymimas standartiniu vardu char. Simbolinio tipo reikšmės yra kompiuterio abėcėlės simboliai. Simbolinio tipo reikšmė žymima ją vaizduojančiu simboliu, užrašytu tarp apostrofų.
Priskyrimo sakinys
Vienas iš dažniausiai programos vykdomojoje dalyje rašomų sakinių – priskyrimo sakinys. Priskyrimo sakinio bendras pavidalas yra toks:
kintamasis := reiškinys;
Priskyrimo sakinio paskirtis – suteikti reikšmę ppriskyrimo := ženklo kairėje pusėje esančiam kintamajam. Ši reikšmė – tai dešinėje priskyrimo ženklo pusėje esančio reiškinio įvertinimo rezultatas. Kompiuteris tik tada gali teisingai apskaičiuoti reiškinio reikšmę, kai jam žinomos visų kintamųjų, esančių dešinėje priskyrimo sakinio pusėje, reikšmės. Priešingu atveju, kai kurio nors kintamojo reikšmė nebuvo apibrėžta, įvairiais kompiuteriais atlikto priskyrimo veiksmo rezultatas būna skirtingas.
Priskyrimo ženklo viduryje negalima palikti tarpo.
Įvedimo (skaitymo) sakinys
Duomenys į atmintį gali būti rašomi trim būdais:
• apibrėžiant konstantas;
• priskiriant reikšmes kintamiesiems priskyrimo sakiniais;
• įvedant kintamojo reikšmę išoriniais įrenginiais.
Kol kas aptarsime tik reikšmių įvedimą iš klaviatūros į atmintį.
Skaitymo sakinio bendroji forma:
readln(kint1, kint2, .,kintn);
read (kint1, kint2, .,kintn);
Pavyzdžiai:
readln(n1, m);
read (z, y, r);
readln(nr, vardas);
Procedūros read ir readln nurodo kompiuteriui sustabdyti programos vykdymą ir laukti, kol vartotojas įves duomenis. Įvedęs duomenis, vartotojas turi nuspausti Enter klavišą. Jei dar ne visų kintamųjų reikšmės įvestos, kompiuteris laukia, kol jos bus įvestos.
Procedūros read ir readln skiriasi tuo, kad vienoje eilutėje galima surašyti duomenis skirtus kelioms procedūroms read, o atliekant procedūra readln perskaitoma tik tiek įvestos eilutės reikšmių, kiek yra procedūros sąraše. Likusios tos eilutės reikšmės pradanginamos. Taigi po readln esanti bet kuri kita skaitymo procedūra, reikšmių ieškos jau naujoje eilutėje.
Readln procedūra be kintamųjų sąrašo pristabdo programos vykdymą, kol bus paspaustas Enter.
Vienu sakiniu įvedami real ar integer tipo skaičiai ggali būti renkami vienoje eilutėje, atskiriant juos tarpu. Tačiau galima kiekvieną skaičių rinkti naujoje eilutėje, tada po kiekvieno skaičiaus paspaudžiamas Enter.
Rašymo (išvedimo) sakinys
Gautų rezultatų, teksto išvedimui į ekraną vartojamas išvedimo sakinys, kurio bendroji forma yra:
writeln( išvedamų reikšmių sąrašas);
write( išvedamų reikšmių sąrašas);
Pavyzdžiai:
writeln(vardas);
write(‘ skritulio, kurio spindulys’, R, ‘plotas lygus’, S);
Tekstas ir simboliai išvedimo sąraše rašomi tarp apostrofų, tačiau ekrane matomi be apostrofų. Sąrašo elementai vienas nuo kito yra skiriami kableliais.
Norint rezultatą pateikti gražiau, paliekant prieš jį tarpus, reikia nurodyti spausdinimo formatą, pavyzdžiui, writeln(suma : 10)
Po dvitaškio esantis skaičius 10 reiškia formatą. Jis parodo kiek vietos reikia palikti spausdinamam skaičiui (pavyzdžiui, jei suma lygi 13):
_ _ _ _ _ _ _ _ 1 3
Simboliu _ pažymėjome tarpą – spausdinant bus palikta tuščia vieta.
Jei spausdinamas skaičius yra realus, tuomet formatą sudaro du skaičiai:
writeln(x : 10 : 2)
Pirmasis skaičius (10) rodo, kiek vietos reikia palikti visam skaičiui (įskaitant ir tašką, atskiriantį sveikąją skaičiaus dalį nuo trupmeninės), antrasis – kiek skaitmenų po kablelio.
Jei x = 3.1415, tai ekrane būtų išspausdinta:
_ _ _ _ _ _ 3 . 1 4
Jei trupmeninei daliai užrašyti pozicijų palikta nepakankamai, tai gautas rezultatas yra apvalinamas.
write nuo writeln skiriasi tuo, kad pastaruoju atveju žymeklis, išvedus rezultatus, šoka į naują eilutę.