Sunteți pe pagina 1din 2

Şef lucr. dr. ing. Morariu-Gligor Radu PUC – Laborator nr.

5 1/2

LABORATOR NR. 5 - INSTRUCŢIUNI DE DECIZIE


Instrucţiunea if: Intrare
Are forma generală:
if (expresie)
instrucţiune; expresie
Adevarat

unde: expresie reprezintă de cele mai multe ori o expresie


logică, iar instrucţiune poate fi o instrucţiune simple sau o Fals instructiune
instrucţiune compusă.
Mod de lucru: se evaluează expresie; dacă are valoare diferită de
zero (adevărată) se execută instrucţiune, iar dacă are valoare Iesire
nulă (falsă) nu se execută nimic şi se continuă cu următoarea
instrucţiune din program.
Instrucţiunea if … else: Intrare
Are următoarea formă generală:
if (expresie)
Fals Adevarat
instrucţiune_1; expresie
else
instrucţiune_2; instructiune_2 instructiune_1
unde: expresie reprezintă de cele mai multe ori o expresie
logică, iar instrucţiune_1 şi instrucţiune_2 pot fi instrucţiuni
Iesire
simple sau compuse.
Mod de lucru: se evaluează expresie; dacă are valoare diferită de
zero (adevărată) se execută instrucţiune_1, iar dacă are valoare
nulă (falsă) se execută instrucţiune_2. După executarea
oricăreia din cele două instrucţiuni se continuă cu instrucţiunea
următoare din program.
Instrucţiuni if ... else suprapuse Intrare

Au forma generală:
if (expresie_1) Fals Adevarat
expresie_1
if (expresie_2)
instrucţiune_1; instructiune_3
Fals
expresie_2
Adevarat

else
instrucţiune_2;
instructiune_2 instructiune_1
else
instrucţiune_3;
Mod de lucru: se evaluează expresie_1; dacă are valoare diferită
de zero (adevărată) se trece la executarea celei de a doua
Iesire
instrucţiuni if, iar dacă este falsă se execută instrucţiune_3.
Dacă expresie_2 este adevărată se execută instrucţiune_1 iar
dacă este falsă se execută instrucţiune_2.
Program exemplu: Calculul valorilor funcţiei START

x  4 x  5x  9
3 2
x3
y 2

 x  8 x  17 x3 Input x

pentru un x introdus de utilizator de la tastatură.


#include<stdio.h> Fals Adevarat
x>3
#include<conio.h>
main( void )
{ float x, y; y  x 2  8  x  17 y  x3  4  x 2  5  x  9
printf(“\n Introdu x = ”); scanf (“%f”,&x);
if ( x > 3 )
y = x * x * x – 4 * x * x + 5 * x - 9;
else Output x, y
y = x * x + 8 * x – 17;
printf(“\n x = %7.3f \t y = %7.3f”,x,y);
getch(); } STOP
Şef lucr. dr. ing. Morariu-Gligor Radu PUC – Laborator nr. 5 2/2

Instrucţiunea de decizie multiplă Intrare


O selecţie multiplă se poate realiza cu mai multe instrucţiuni
decizionale în cascadă. În cazul general în care există „n+1”
Adevarat
alternative posibile selectate pe baza a „n” condiţii, se expresie_1 instructiune_1
recomandă folosirea acestei structuri. Forma generală este:
Fals
...
if( expresie_1 )
Adevarat
instructiune_1 expresie_2 instructiune_2
else if( expresie_2 )
instructiune_2 Fals

...
...
else if( expresie_n )
instructiune_n
else
instructiune Adevarat
expresie_n instructiune_n
...
Expresiile se evaluează în ordinea în care sunt scrise. Dacă se
Fals
întâlneşte o expresie adevărată, atunci se execută instrucţiunea instructiune
care îi este asociată şi astfel se încheie întregul lanţ. Iesire
Instrucţiunea de după ultimul else se execută atunci când nici
una dintre expresii nu a fost adevărată.

Probleme propuse:
 x 4  6 x 2  4 x  11 x2

1. Calculul valorilor funcţiei: y   x 2  5 x  7  1  x  2 pentru un x introdus de la tastatură.
 x 3  13  x 2  4 x  1

 x3  4 x 2  5 x  9 x3

2. Calculul valorilor funcţiei: y   x 2  8 x  17 pentru un x introdus de la tastatură.
 x3
 x5
3. Elaboraţi un program pentru rezolvarea ecuaţiei de gradul al doilea a  x 2  b  x  c  0 .
4. Se consideră o dreaptă dată de două puncte: P1(x1, y1) şi P2(x2, y2). Se cere să se precizeze dacă un punct
P3(x3, y3) aparţine sau nu acestei drepte. Condiţia necesară şi suficientă ca 3 puncte Pi(xi, yi), i = 1,2,3 să fie
coliniare este:
x1 y1 1
D  x2 y2 1  0
x3 y3 1
5. Se consideră trei valori reale a, b, c. Să se verifice dacă cele trei valori pot fi laturile unui triunghi, iar în
cazul în care pot fi laturile unui triunghi să se calculeze aria acestuia. S  p p  a  p  b p  c  , unde:

 a  b  c  .
1
p
2
 x 2  3x  5 x 1  x3  3x 2  4 x  7 x  3

6. Se consideră funcţiile: f x    , respectiv g x    2 . Se
x  8 x 1 
x  4x  9 x  3
cere să se calculeze valorile expresiei E x   2  f 2 x   3  g x   4
7. Să se scrie un program care citeşte de la tastatură coordonatele unui punct P(x, y) şi care determină şi
afişează mesaje prin care se precizează în ce cadran se află punctul.
8. Să se scrie un program care realizează citirea de la tastură a unei, apoi a unui caracter (operator) şi din
nou a unei valori. Pe baza operatorului introdus, programul va realiza operaţia specificată prin operator.
Exemplu: Se introduce: 3 * 4, iar programul va afişa: 3 * 4 = 12.

Succes!!!

S-ar putea să vă placă și