Sunteți pe pagina 1din 3

Instructiunea if

Semantica: Instructiunea if evaluiaza mai intai o expresie de tip bool (boolean), care are valoarea true, sau
false. Daca expresia bool(boolean) este true se executa o instructiune I1, iar daca e false se executa
instructiunea I2 (daca exista) si nu se executa instructiune I1. Sunt doua tipuri de instructiuni IF:
1. Ramificator complect: if (expresie bool) I1; else I2;
2. Ramificator incomplct: if (expresie bool) I1;
3. Schema logica a instructiunii IF

In Pascal instructiunea if se scrie in felul urmator:


if <expresie boolean> then <instructiune> else <instructiune>; -ramificator complect
if <expresie boolean> then <instructiune>; - ramificator incomplect

Ex Se da variabilele int a,b,c,d;


1. De citit var a, b,c,d
2. De aflat si de scris max(a,b,c,d) -? Vom lua var ajutatoare int maxx;
cin>>a>>b>>c>d;
if (a> b) maxx=a; else maxx=b;
if (c> maxx) maxx=c;
if (d>maxx) maxx= d;
cout<<”numarul maxim este maxx=”<<maxx<<endl;
II metoda : folosim functia predefinita max
cin>>a>>b>>c>>d;
cout<<”numarul maxim este =”<<max(max(max(a,b),c),d);

Analog se determina nr. min(a,b,c,d)

Instructiunea switch ( in Pascal – instr. case).


Instructiunea switch este o instructiune de ramificare multipla, care poate sa cerceteze mai multe cazuri,
din care alege si executa doar un caz.
Semantica: Instructiunea switch evaluaiaza o expresie de tip ordinal (intreg (8tipuri), char, bool,
enumerare) si in dependenta de valoarea obtiunuta alege si executa una din alternative.
Schema logica de executie a instructiunii case:
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 i 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;
}

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