Documente noi - cercetari, esee, comentariu, compunere, document
Documente categorii

Instructiunea alternativa (IF) - C++

Instructiunea alternativa (IF) - C++


Pana acum am folosit ca exemple programe simple, care contineau doar functiile de intrare / iesire si operatorul de atribuire. Atunci cand elaboram programe ceva mai complexe este necesar ca, intr-un anumit punct al programului, sa decidem continuarea acestuia in functie de o conditie. In primul laborator am dat ca exemplu de algoritm rezolvarea ecuatiei de gradul 1 (pseudocod si schema logica). Intr-o schema logica ni se permitea utilizarea unui bloc de decizie de urmatorul tip:



cu semnificatia: daca este adevarata conditia se executa prelucrarea B, altfel se executa prelucrarea A.

In limbajul C este utilizata instructiunea IF, cu urmatoarea sintaxa:


if (expresie) instructiune1;

[else instructiune2;}

unde:

expresie - orice expresie valida in limbajul C

instructiune1, instructiune2 - orice instructiune corecta din limbajul C ;

Mod de functionare:

se evalueaza expresia

daca expresia este ne nula (conventia pentru adevarat) se executa instructiune1

daca expresia este nula (falsa) se executa instructiune2

se trece la urmatoarea instructiune a programului

Observatie: alternativa else instructiune2 poate sa lipseasca.

Exemplul 4: Sa se scrie un program pentru calcularea maximului a doua numere.

#include <iostream.h>

void main(void)


Exemplul 5: Scrieti un program care calculeaza maximul a 3 numere.

#include <iostream.h>

void main (void)


Observatie: Dupa cum se vede din exemplu, instructiune1 si instructiune2 pot fi de asemenea instructiuni if. Spunem ca sunt instructiuni if imbricate. A se observa si modul cum a fost scris programul, astfel incat sa se vada clar carei instructiuni if ii apartine fiecare else.

Exemplul 6: Se dau trei numere intregi a,b,c. Sa se testeze daca numerele date pot fi lungimile laturilor unui triunghi.

#include <iostream.h>

void main (void)


Observatie: Nu am mai verificat daca a, b , c sunt pozitive.

Exemplul 7. Reluam exemplul precedent cu intentia de a folosi mai putine instructiuni if.

#include <iostream.h>

void main (void)


Observatie: Am folosit o singura instructiune if, cele trei conditii anterioare fiind conectate prin operatorul SI logic. Dupa cum se stie, daca avem propozitiile p,q,r, atunci propozitia p&&q&&r va fi adevarata daca toate propozitiile componente sunt adevarate si falsa daca una dintre propozitiile componente este falsa.

Este indicata aceasta scriere pentru ca sporeste lizibilitatea programului.

Exemplul 8: Rezolvarea ecuatiei de gradul I.

#include <iostream.h>

void main(void)


else

if (b==0) cout<<"n x apartine lui R ";

else cout <<"n Ecuatia nu are solutii";


Observatie:  In cazul in care a este ne nul avem de realizat doua operatii: atribuirea valorii -b/a variabilei x si afisarea valorii radacinii. Atunci cand se realizeaza mai multe operatii acestea trebuiesc incluse intre .