Documente Academic
Documente Profesional
Documente Cultură
Pentru nici una din problemele care se vor rezolva la disciplina Programarea Calculatoarelor
NU SE FOLOSESC VARIABILE GLOBALE
LABORATOR NR. 3
Elemente de bază ale limbajului C. Instrucțiuni de decizie.
2. Instrucțiunea if
Este instrucțiunea care implementează o structură care permite ramificarea programului și
continuarea prelucrării datelor pe una dintre cele două ramuri posibile în funcție de rezultatul unui test
(îndeplinirea sau neîndeplinirea unei condiții). Acest test este o expresie a cârei evaluare conduce la un
rezultat logic (din punctul de vedere al logicii matematice), astfel rezultatul acestui test poate fi Adevărat
sau Fals (după cum condiția din test este sau nu îndeplinită). Pentru că avem două căi posibile de continuare
a programului spunem că avem o decizie cu două alternative.
Reprezentarea prin schemă logică a deciziei cu două alternative este dată în Figura 1.
Instrucțiunea corespunzătoare, în limbajul C, este instrucțiunea if.
1
PROGRAMAREA CALCULATOARELOR ____________________________________________ Laborator Nr. 3
if(test)
{
Secventa A //Se execută dacă rezultatul testului este Adevărat
}
else
{
Secventa B //Se execută dacă rezultatul testului este Fals
}
Putem avea și cazul în care programul trebuie să execute o anumită secvență numai în cazul în care
rezultatul testului este Adevărat și nu trebuie să execute nimic în cazul în care rezultatul testului este Fals. În
acest caz vorbim de selecție cu o singură alternativă. Schema logică este cea prezentată în Figura 2.
if(test)
{
Secventa A //Se execută dacă rezultatul testului este Adevărat
}
În cazul general, oricare dintre cele două secvențe (A sau B) poate conține la rândul ei alte blocuri de
decizie. În acest caz vorbim de decizia multiplă. Instrucțiunea care implementează această structură este tot
instrucțiunea if.
Un exemplu de schemă logică pentru o decizie multiplă este dat în Figura 3.
2
PROGRAMAREA CALCULATOARELOR ____________________________________________ Laborator Nr. 3
if(test1)
{
if(test2)
{
Secventa A2
}
else
{
Secventa B2
}
}
else
{
Secventa B1
if(test3)
{
Secventa A3
}
else
{
Secventa B3
}
}
3
PROGRAMAREA CALCULATOARELOR ____________________________________________ Laborator Nr. 3
3. Instrucțiunea switch
Există situații în care trebuie să parcurgem o ramură a programului sau alta în funcție de o
valoare obținută ca rezultat al unei expresii. În limbajul C expresia pe care o evaluăm trebuie să aibă
un rezultat de tip întreg.
De exemplu: vrem să scriem un program în care să citim o valoare întreagă de la tastatură și
să afișăm mesajul Primavara, dacă am tastat valoarea 1, Vara dacă am introdus valoarea 2, Toamna
dacă s-a introdus valoarea 3, Iarna dacă s-a tastat valoarea 4 și mesajul Anotimp necunoscut dacă
am introdus orice valoare în afară de cele 4 indicate.
Putem apela la o selecție multiplă (instrucțiunea if) pentru rezolvarea problemei, dar putem
folosi și instrucțiunea switch pentru acest lucru. (Vom numi în continuare instrucțiunea switch
instrucțiune de alegere).
Forma generală a schemei logice pentru o instrucțiune switch este cea dată în Figura 4.
Implementarea instrucțiunii switch corespunzătoare schemei logice din Figura 4 este următoarea:
switch(expresie)
{
case val1: secventa_1
break;
case val2: secventa_2
break;
case val3: secventa_3
break;
--------------------------------
case valn: secventa_n
break;
default: secventa_n+1
}
4
PROGRAMAREA CALCULATOARELOR ____________________________________________ Laborator Nr. 3
TEMA 1
Problema nr. 1.1.
Să se scrie un program care citește de la tastatură trei numere întregi și afișează valoarea maximă
introdusă.
ì x 2 + 3x + 5, x Î (- ¥,2]
ï
f (x ) = í3x, x Î (2,8)
ïe x + 2, x Î [8, ¥ )
î
Să se calculeze valoarea funcției f pentru un x citit de la tastatură.
5
PROGRAMAREA CALCULATOARELOR ____________________________________________ Laborator Nr. 3