instructiuni in limbajul de programare pascal
DESCRIPTION
!TRANSCRIPT
Instrucţiuni în limbajul de programare Pascal
Instrucţiuni simple
Una din structurile principale ale oricărui limbaj de programare este instrucţiunea, care
joacă rolul de bază în programarea structurată. În limbajul Pascal avem instrucţiuni simple şi
compuse (structurate).
Instrucţiunea se numeşte compusă, dacă ea conţine în corpul său alte instrucţiuni, altfel
se numeşte simplă.
1.Instrucţiunile simple
Din instrucţiunile simple fac parte instrucţiunile: de atribuire, de salt necondiţionat, de apel la
procedură şi instrucţiunea nulă.
Instrucţiunea de atribuire are formatul:
<< var >> := << exp >>,
unde
var – identificatorul variabilei căreia i se atribue valoare;
exp – expresie de acelaşi tip ca şi variabila din partea stîngă.
Funcţionează în felul următor: se calculează valoarea expresiei din partea dreaptă şi
rezultatul primit se atribuie variabilei identificatorul căreia se află în partea stîngă a instrucţiunii.
Vom menţiona, că variabila din partea stîngă şi expresia din dreapta trebuie să fie de acelaşi
tip cu excepţia cînd în partea stîngă avem o variabilă de tip real iar în dreapta o expresie de tip
întreg (întotdeauna predomină tipul real).
Exemplu
Program Atribuire_demo (input,output);
VAR a,b: Integer; c,x: Real;
BEGIN
a:=2; b:=5; c:=3.25;
x:=a+b+c;
Write(lst,x);
END.
Pe coala de hîrtie la printer vom primi rezultatul
10.25
Instrucţiunea de salt necondiţionat are formatul
GOTO << eticheta >> ;
GOTO – cuvînt rezervat, care se traduce “ transmite dirijarea la (du-te la).
Eticheta – eticheta instrucţiunii la care trebuie de transmis dirijarea.
Se foloseşte această instrucţiune, cînd după executarea căreiva instrucşiuni trebuie să se
execute nu următoarea, dar altă instrucţiune însemnată prin etichetă.
Vom aminti, că etichetele pot să conţină atît litere cît şi cifre sau numai cifre şi se
desparte de instrucţiune prin caracterul “:“. Etichetele numaidecît se declară în despărţitura
LABEL şi nu pot fi folosite în alte scopuri, de exemplu, ca nume de variabilă. Eticheta este
valabilă numai în blocul în care ea a fost descrisă, de exemplu, nu putem transmite dirijarea din
programul de bază în subprogram sau invers.
În conformitate cu ideologia Programării Structurate se recomandă de folosit GOTO cît
mai rar, fiindcă întrebuinţarea lui îngrelează citirea programului.
Exemplu
Program Salt_demo (input,output);
LABEL e1,alfa,23;
VAR a,b:Integer; x:Real;
BEGIN
………………………………
Goto e1;
……………………………….
e1:a:=3;
………………………………
alfa: a:= a+1;
Goto 23;
……………………………..
23: x:= a+b;
……………………………..
Goto alfa;
…………………………….
END.
Instrucţiunea apel la procedură are formatul
<< nume>> ( << lista parametrilor reali >> );
nume – numele procedurii standarde sau a utilizatorului;
lista parametrilor reali – identificatori ai variabilelor care transmit datele iniţiale procedurii şi
întorc rezultatele în programul de bază.
Între parametrii reali şi cei formali ai procedurii trebuie să fie corespondenţă reciproc
biunivocă după tip, loc şi număr. Excepţie face cuvîntul rezervat Var care nu-i obligatoriu să fie
scris în faţa parametrilor – variabilă în lista parametrilor reali. Parametrii reali şi formali pot să
aibă acelaşi nume însă sensul lor este acela pe care îl determină descrierea în care ei se declară.
De exemplu, fie că avem procedura ECUATIE_p – rezolvarea ecuaţiei patrate, în care avem
parametrii formali:
a, b, c – coeficienţii ecuaţiei, care sînt variabile de tip Real,
x1, x2 – parametri–variabilă prin care se întorc valorile rădăcinilor ecuaţiei, dacă ea are
rădăcini reale,
z – o variabilă de tip logic, să zicem, prin care se anunţă, dacă ecuaţia are sau nu rădăcini
reale.
Atunci titlul procedurii va fi:
Procedure ECUATIE_p(a,b,c:Real; Var x1,x2:Real; z:Boolean);
Programul de mai jos cu adresări la procedură va fi :
Program Suma_rad(input,output);
LABEL alfa;
VAR x1,x2,z,k1,k2,r:Real; a:Boolean;
...................
Procedure ECUATIE_p(a,b,c:Real; Var x1,x2:Real; z:Boolean);
..........................................................
BEGIN
...............................................................
x1:=2; x2:=3.2; z:= -4.25;
ECUATIE_p(x1,x2,z;k1,k2;a);
r:= k1+k2;
...........................................................
ECUATIE_p(3,2,1.2;x1,x2,a);
R:= x1+x2; Goto alfa;
...........................................................
alfa:
END.
Programul calculează suma rădăcinilor a două ecuaţii.
Instrucţiunea nulă nu exprimă nici o acţiune şi nu conţine nici un caracter. Prezenţa ei se
exprimă numai prin faptul, că este prezent caracterul ”;”. Ea poate fi situată în orice loc al
programului unde sintaxa permite prezenţa instrucţiunilor. Se foloseşte pentru a organiza ieşirea
din mijlocul programului sau a instrucţiunii compuse. În cazurile, cînd din mai multe puncte ale
programului dirijarea se transmite în acelaşi loc, instrucţiunea nulă poate fi însoţită de etichetă.
Acest caz îl avem în programul de mai sus Suma_rad, unde instrucţiunea nulă este însoţită de
eticheta alfa (penultima linie).
2. Instrucţiunea compusă
Instrucţiunea compusă reprezintă un grup de instrucţiuni de orice tip, inclusiv şi compusă,
despărţite prin ”;” şi mărginite de parantezele instrucţionale Begin şi End.
Begin <<J1>>; << J2>>; ... ;<<Jn>> End ;
Tot grupul de instrucţiuni J1, J2, ... se consideră ca o singură instrucţiune şi poate fi situat în
orice loc al programului unde permite sintaxa limbajului. Dese ori se foloseşte în instrucţiunile
compuse ca cele de control şi ciclice.
Această construcţie a limbajului dă posibilitatea de a întocmi programe după tehnologia
programării structurate fără a folosi instrucţiunea de salt GOTO. De exemplu,
BEGIN
.........................................
begin
x:=5;y:=7;z:=x+y; ...;
end ; ... ;
.............................................
Write(z);
END.
se va considera ca o singură instrucţiune oriunde nu s-ar afla ea.