Sunteți pe pagina 1din 4

3.11.

Instrucţiunea if:

Instrucţiunea de ramificare simplă if, în funcţie de valoarea unei expresii de


tip boolean, decide fluxul execuţiei. Sintaxa instrucţiunii este:

Expresia booleană din componenţa instrucţiunii if se numește condiţie. Execuţia


instrucţiunii if începe prin evaluarea condiţiei. Dacă rezultatul evaluării este true, atunci
se execută Instrucțiunea 1 , iar dacă condiția are valoarea false, atunci: fie că se execută
Instrucțiunea 2 situată după cuvântul-cheie else (dacă există), fie că se trece la
instrucțiunea situată după instrucțiunea if. În programul ce urmează instrucțiunea if
este utilizată pentru determinarea maximului a două numere x și y, citite de la
tastatură: https://onlinegdb.com/Izh31UPBk

Scrieţi un program care calculează soluţiile ecuaţiei ax2 +bx+c = 0. Numerele


reale a, b şi c se citesc de la tastatură. https://onlinegdb.com/mn8zHxd9r

Se consideră trei segmente de dreaptă cu lungimile, respectiv, a, b şi c. Scrieţi


un program care verifică dacă din aceste segmente poate fi construit un
triunghi. În caz afirmativ, programul va afişa tipul triunghiului (echilateral,
isoscel sau scalen) şi aria acestuia. Pentru calcularea ariei triunghiului astfel
format, se va utiliza formula lui Heron. Numerele reale a, b şi c se citesc de la
tastatură. https://onlinegdb.com/Ifv-Bseop
3.12. Instrucțiunea de ramificare multiplă

În cazurile în care apare necesitatea de creare a unor fluxuri de execuție cu mai mult de două
ramificări, se utilizează instrucțiunile de ramificare multiplă. Instrucțiunea de ramificare multiplă
conține obligatoriu o expresie numită selector și o listă de instrucțiuni. Fiecare instrucțiune este
prefixată de una sau mai multe constante de caz. Sintaxa instrucțiunii în studiu este:

Instructiunea switch - de ramificare multipla se scrie in felul urmator:

switch ( expresie )
{ case v1 : I1; break;
case v2: I2; break;
case v3: I3; break;
...
case vn : In; break;
default : In+1;
}
Exemplu 1.
Se da variabila int i;
1. de citit variabila i
2. Daca i=1; 2; 3;4 – de scris ce valoare are i
3. in caz contrar – de scris ca e alta valoare
Programul C++ #include< bits/stdc++.h>
using namespace std;
int main ()
{ int i; //declarăm variabila i- local
cin>>i; // citim de la ecran variabila i
switch (i) // instrucțiunea switch
{ //begin
case 1: cout <<”Am citit 1”; break; //cazul 1
case 2: cout<<”Am citit 2”; break; // cazul 2
case 3: cout<<”Am citit 3”; break; // cazul 3
case 4: cout<<”Am citit 4”; break; // cazul 4
default: cout<<”Am citit alt nr diferit de 1, 2, 3,4”;
// în caz contrar

}return 0 ; // return 0; pentru a sfârși programul cu


succes
}

Exemplu 2
Se da char c; int a,b;
1. De citit c,
2. daca c- litera mare - de scris c-litera mare
Daca c- litera mica – de scris c- litera mica
Daca c- cifra - c- este cifra; de scris a+b; a-b; a*b; a div b; a mod b; a/b(b<>0) else
impartirea nu are sens
3. else de scris c- orice alt caracter si de scris ord(c); pred(c); succ(c)
Programul in C++
#include< bits/stdc++.h>
using namespace std;
char c; int a,b;
int main ()
{ cout<<”c=”; cin>>c;
switch (c) // instrucțiunea switch
{ case ’A’...’Z’: cout <<c<<”- litera mare”; break;
case ’a’...’z’: cout <<c<<”- litera mica”; break;
case ’0’...’9’: {cout <<c<<”- cifra”;
cout<<”a=”; cin>>a;
cout<<”b=”; cin>>b;
cout<<”a+b=”<<a+b<<endl;
cout<<”a-b=”<<a-b<<endl;
cout<<”a*b=”<<a*b<<endl;
if (b) { cout<<”a div b=”<<a/b<<endl;
cout<<”a mod b=”<<a%b<<endl;
cout<<”a /b=”<<1.0*a/b<<endl;
} else cout<<”impartirea la 0 nu are
sens”<<endl;
break;

}
default : { cout <<c<<”- orice alt caracter”<<endl;
cout<<”ord(c)=”<<int(c)<<endl;
cout<<”pred(c)=”<<char(c-1)<<endl;
cout<<”succ(c)=”<<char(c+1)<<endl;
break;
}
} return 0;
}

Problemă: Scrieţi un program care execută repetitiv următoarele operaţii: 1) Citeşte de la


tastatură numerele reale x şi y. 2) Afişează pe ecran un meniu care conţine comenzile ce specifică
operaţiile care trebuie efectuate asupra numerelor x şi y. 3) Citeşte de la tastatură numărul întreg c
care indică comanda din meniu, selectată de utilizator. 4) În funcţie de comanda c, calculează şi
afişează pe ecran numărul real r – rezultatul efectuării operaţiei respective asupra numerelor x şi y.
5) Procesul repetitiv continuă până la introducerea de către utilizator a comenzii de ieşire din
program. Meniul ce trebuie afişat pe ecran are forma: CALCULEAZA: 1. Suma 2. Diferenta 3. Produsul
4. Raportul 5. Iesire. https://onlinegdb.com/eOOKQG2PZ8

Problemă: Zilele săptămânii luni, marţi, miercuri, …, duminică sunt notate prin numerele 1, 2, 3,
…, 7. Scrieţi un program care citeşte de la tastatură numărul x şi afişează pe ecran: a) denumirea zilei
ce corespunde numărului x; b) mesajul “Zi de şcoală”, dacă numărului x îi corespunde o zi de şcoală şi
mesajul “Zi liberă”, dacă numărului x îi corespunde o zi de odihnă.

Problema: Să se calculeze valoarea funcţiei f definită pe mulţimea numerelor reale, pentru un x


citit de la tastatură.

X, dacă x<0

Y= 0, dacă 0≤x≤3

0, dacă x>3

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