Documente Academic
Documente Profesional
Documente Cultură
Identificatori
8
2.2.1.3 Constante şir de caractere • reper .
După cum reiese şi din denumire, cu ajutorul lor se reprezintă şiruri de Tipurile simple de date se pot clasifica din două puncte de vedere .
caractere. Şirurile de caractere se pot reprezenta în două forme. Un tip ordinal reprezintă o mulŃime finită de valori între care există o
În prima formă se scrie şirul cuprins între apostroafe. relaŃie de ordine. Conform acestui criteriu, tipurile simple se clasifică în :
Exemplu: ’acesta este un text’. • tipuri ordinale ;
În forma a doua se scrie în cod ASCII(fiecărui caracter i se ataşează un cod • tipuri reale (chiar dacă se ia o submulŃime a numerelor reale situată
cuprins între 0 şi 255 şi este precedat de caracterul ‘#’). într-un anumit interval, acesta nu are un număr finit de elemente) .
Exemplu:#1#2 sau, echivalent(în baza 16), #$#$2. Din punct de vedere al modului de definire a tipului, tipurile simple se
clasifică în:
2.2.1.4 Constante simbolice • tipuri standard( este cunoscut, nu este necesar să fie cunoscut de
Acestea sunt constante care au în program un anumit nume. Numele dat programator);
acestor constante poate fi cunoscut de limbaj(de ex. : false, true, maxint )sau • tipuri definite de utilizator.
dat de utilizator atunci când defineşte constantele.
10
Operatorul OR se face disjuncŃia bit cu bit asupra reprezentării celor două Tipurile întregi sunt ordinale deci li se pot aplica funcŃiile SUCC ,
numere. PRED,ORD şi operatorii relaŃionali.
Exemplu: 3 or 7=7. FUNCłIA ABS(nr)- furnizează modulul numărului(abs(-12)=12).
13
pot fi de tip enumerare. După afişarea valorilor unor expresii acestea nu 2.10.2.2 InstrucŃiunea de selecŃie multiplă - case
se pierd şi nici nu se schimbă. Cu ajutorul instrucŃiunii de selecŃie simplă (instrucŃiunea „IF”)
• WRITELN(e1,e2,…, en)face acelaşi lucru, dar la sfârşitul întregii afişări putem alege o secvenŃă de instrucŃiuni din 2 posibile, în funcŃie de
mută cursorul pe rândul următor. valoarea de adevăr a unei condiŃii.
Însă, pentru a putea alege o secvenŃă de instrucŃiuni din mai multe
secvenŃe posibile, vom fi nevoiŃi să utilizăm instrucŃiunea „case”.
2.10. Structuri de control (instrucŃiunea compusă, structuri alternative • SINTAXĂ:
şi repetitive) InstrucŃiunea „case” poate lua mai multe forme. Una dintre forme
cuprinde şi o ramură „else” iar cealaltă nu.
2.10.1 InstrucŃiunea compusă EXEMPLU:
O secvenŃă de mai multe instrucŃiuni ale unui program, despărŃite prin 1)Case <opŃiune> of
„punct şi virgulă” şi cuprinse între cuvintele cheie „begin” şi „end” caz1: instrucŃiune1;
formează instrucŃiunea compusă caz2: instrucŃiune2;
Exemplu: ...................................
begin cazn: instrucŃiunen;
readln(z); end;
x:=2; 2)Case <opŃiune> of
z:=3; caz1: instrucŃiune1;
writeln(’suma este:’,x+z) caz2: instrucŃiune2;
end ...................................
cazn: instrucŃiunen
2.10.2 Structuri alternative else instrucŃiunen+1;
end;
2.10.2.1 InstrucŃiunea de decizie IF
InstrucŃiunea „if” are două forme. Notă: <opŃiune> trebuie să fie o expresie de tip ordinal.
În prima formă instrucŃiunea are două ramuri: Exemplu de program care foloseşte instrucŃiunea „case”:
if condiŃie then instrucŃiune1 Program zile;
else instrucŃiune2 Var nr:integer;
• Se testează dacă condiŃia impusă este adevărată Begin
• Dacă condiŃia este adevărată se execută instruŃiunea1 Write(‘DaŃi numărul unei zile din săptămână ’);
• Dacă condiŃia nu este adevărată se execută instrucŃiunea2 Readln(nr);
În cea de-a doua formă, ramura else poate să lipsească: case nr of
if condiŃie then instrucŃiune1 1: writeln(‘luni’);
ATENłIE!!! 2: writeln(‘marŃi’);
Înainte de „else” nu se pune „ ; ”. 3 writeln(‘miercuri
4: writeln(‘joi’);
5: writeln(‘vineri’);
14
6: writeln(‘sâmbătă’); write(‘n=’);
7: writeln(‘duminică’); readln(n);
s:=0;
end; i:=1;
Readln; while i<=n do
End. begin
(*programul va tipări numele unei zile din săptămână coresounzătoare write(‘x=’);
readln(x);
numărului introdus*) s:=s+x;
i:=i+1;
2.10.3 Structuri repetitive (cicluri) end;
writeln(‘s=’,s);
2.10.3.1 Ciclul cu test iniŃial (while – do) readln;
end.
Sintaxă:
While <expresie> do <secvenŃă>
Programul calculează suma a „n” numere naturale care se citesc
pe rând de la tastatură. Numărul de numere, „n”, se citeşte de la tastatură.
• <expresie> este o condiŃiŃie (expresie logică), iar La fiecare execuŃie a ciclului se citeşte un număr „x” care se adaugă la
<secvenŃă> este o secvenŃă formată dintr-una sau mai multe suma „s”, apoi se incrementează contorul „i” care ne spune la a câta
instrucŃiuni numite corpul ciclului;
execuŃie ne aflăm. Variabila „i” se iniŃializează cu 1, iar ciclul se execută
Principiul de funcŃionare al structurii:
cât timp i<=n. (se citesc n numere)
Cât timp este îndeplinită condiŃia dată de <expresie> se execută
corpul ciclului <secvenŃă>
Structura repetitivă cu test final
se evaluează expresia logică <expresie> Sintaxă:
• dacă aceasta este adevărată atunci se execută secvenŃa Repeat <secvenŃă> until <expresie>
<secvenŃă>, apoi se revine la 1. (între timp este posibil ca
• <expr> este o condiŃie (expresie logică), iar <secv> este
valoarea expresiei <expresie> să fi suferit modificări) o secvenŃă formată dintr-una sau mai multe instrucŃiuni,
dacă condiŃia impusă nu este adevărată, se trece la prima numită corpul ciclului
instrucŃiune de după ciclu.
ObservaŃie: Principiul de funcŃionare al structurii:
1. În cazul în care corpul ciclului conŃine mai multe instrucŃiuni, acesta Repetă execuŃia secvenŃei de instrucŃiuni <secvenŃă > până când
trebuie cuprins între „begin” şi „end” condiŃia logică dată de <expresie> ia valoarea true.
2. Testarea condiŃiei are loc la început, deci corpul ciclului poate să nu 1) se execută secvenŃa de instrucŃiuni <secv>
se execute niciodată. 2) se evaluează condiŃia logică dată de <expr>
- dacă aceasta (<expresie>) este adevărată atunci se execută
Ex. de program care foloseşte structura repetitivă cu test iniŃial secvenŃa <secvenŃă>, apoi se revine la 1.
-dacă condiŃia impusă nu este adevărată, se trece la prima
program suma; instrucŃiune de după ciclu.
var i,n,s,x:integer; ObservaŃie:
begin
15
1. În cazul în care corpul ciclului conŃine mai multe instrucŃiuni, acesta Principiul de funcŃionare al ciclului
trebuie cuprins între „begin” şi „end” 1. Variabila <contor> ia pe rând toate valorile de la <v1> la <v2> în
2. Testarea condiŃiei are loc la sfârşit, deci corpul ciclului se va ordine crescătoare, şi pentru fiecare valoare a lui <contor> execută
executa cel puŃin o dată. corpul ciclului constituit de <secvenŃă>;
Variabila <contor> ia pe rând toate valorile de la <v1> la <v2> în ordine
Ex. de program care foloseşte structura repetitivă cu test final: descrescătoare, şi pentru fiecare valoare a lui <contor> execută corpul
ciclului constituit de <secvenŃă>;
• Program care calculează produsul numerelor naturale pare nenule
mai mici sau egale cu o valoare dată Exemplu de program care utilizează ciclul cu contor: