Sunteți pe pagina 1din 5

Tema: Programe ramificate

Scopul lucrarii: Elaborarea unui program în limbajul de programare C/C++ și afișarea


rezultatelor unor expresii. Studierea, utilizarea și obținerea deprinderii practicee de
elaborare și depanare a programelor ramificate (if, if-else , switch-break).

Descrierea temei: Instrucțiunea if permite programarea unei structure de decizii în care


o condiție (rezultatul evaluării unei expresii) determină executarea sau neexecutarea
secvenții de instrucțiuni.

Modul de funcționare a acestei instrucțiuni este ca la început se calculează valoare


expresiei din parantezele rotunde a instrucîiunei if, dacă valoare acestei este adevărat,
atunci se vor executa toate instrucțiunele cuprinse de parantezele ondulate (“{ }”), adică
din corpul lui if și se trece la următoarele rînduri de cod.

În caz contar se ignoră instrucțiunele din corpul lui if.

Sintaxa instrucțiuni if Schema bloc

Instructiunea if-else permite programarea unei structuri de decizii în care o condiție


determină executare unei secvențe dee program din două alternative.
Modul de funcționare a acestei instrucțiuni este ca la început se calculează valoare
expresiei din parantezele rotunde a instrucîiunei if, dacă valoare acestei este adevărat,
atunci se vor executa toate instrucțiunele din corpul lui if.
În caz contrar se ignoră instrucțiunele din corpul if și se execută cele din corpul lui else.

SDE 525.1 081 01 ME


Mod Coala Nr. document. Semnat. Data
Elaborat Dascal Daniel Litera Coala Coli
Verificat V. Derevlenco 2 6
Programe ramificate
UTM.FIMET.RST-181
Instrucțiunea switch permite executare unei singure secvențe din mai multe alternative, în
funcție de valoarea unei expresii.

Modul de functionare: intâi se calculează valoarea expresiei


,.expresie". Dacă aceasta este egală cu una din constantele
corespunzătoare fiecărei etichete case, se execută instructiunea
din corpul constantei respective. Fiecare grup case trebuie
terminat cu o instructiune break. In cazul in care aceasta
lipseşte, se execută toate instructiunile, începând cu constanta
selectată până la ultimul case. Când este intâlnită o
instructiune break in constructia switch, programul execută un
salt la linia de cod ce urmează după corpul lui switch.
Instructiunea corespunzătoare cazului implicit (default) este
executată când expresia nu ia nici una din valorile
constantelor. Default este optional si, dacă nu este prezent, nu
are loc nici o actiune daca nu se găseşte o constantă potrivită.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Varianta 4- Să se scrie un program ce va calcula valoarea expresie:

 y x

 x 3 y x
x  1 .2
 2 3
A   cos x  e ;
xa
x  1 .2 .
 x  1 .2
 e
 ax 2

 a  1.5

Listingul programului:
#include<stdio.h>
#include<conio.h>
#include<math.h>
# define Pi 3.14
void main ()
{ int X,x,y,a,key;
float L;
printf("MENIU");
printf("\n 1 - Metoda if");
printf("\n 2 - Metoda if-else");
printf("\n 3 - Metoda if-else-if");
printf("\nIntroduceti necunoscuta X=");
scanf("%dX",&X);
printf("\nIntrodu cazul:");
scanf("%d",&key);
switch(key)
{ case 1:
{ if(X<1.2)
{L=abs((pow(x,y/x))-(pow(y/x,-1/3)));}
if(X==1.2)
{L=(pow(cos(pow(x,3)),2))-exp(x/a);}
if(X>1.2)
{L=(Pi*exp(-a*x))*sqrt((pow(a,2)+1.5));}
printf("Rezultatul L=%f",L);
break;
}
case 2:

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
{ if(X<1.2)
{L=abs((pow(x,y/x))-(pow(y/x,-1/3)));}
else
{printf("\nPentru X<1.2,nu sunt solutii");}
if(X==1.2)
{L=(pow(cos(pow(x,3)),2))-exp(x/a);}
else
{printf("\nPentru X=1.2,nu sunt solutii");}
if(X>1.2)
{L=(Pi*exp(-a*x))*sqrt((pow(a,2)+1.5));}
else
{printf("\nPentru X>1.2,nu sunt solutii");}
printf("\nREzultatul L=%f",L);
break;
}
case 3:
{ if(X<1.2)
{L=abs((pow(x,y/x))-(pow(y/x,-1/3)));}
else
{ if(X==1.2)
{L=(pow(cos(pow(x,3)),2))-exp(x/a);}
else
{L=(Pi*exp(-a*x))*sqrt((pow(a,2)+1.5));}
}
printf("\nRezultatul L=%d",L);
break;
}
defaul:
{printf("\nNu este asa caz!");}
}
//end switch
getch();
}

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3
Rezultatul executiei:

Concluzie:
In aceasta lucrare am scris un program in limbajul de programare C/C++ care sa ne
calculeze rezultatul expresiilor de mai sus. .Conditia data era ca aceste expresii sa fie introduse
intr-un singur program. Şi să se scrie un program care va calcula valoarea funcţiei în funcţie de
condiţii.În program am utilizat instrucţiunele if, if+else, if+else+if şi switch. Programul este
prezentat mai sus , la fel si rezultatul sau obtinut in urma scrierii acestui program.Programul
incepe prin decalarea bibliotecilor principale <conio.h> , <stdio.h> si <math.h> precum si prin
functia principala main() si deschiderea/inchiderea programului prin { }, am definit π <
define Pi 3.14>.
Aici am utilizat functia printf care are scopul de a permite afisarea datelor de orice tip si
scanf de a alege si a memora in memoria programului, getch este functia care pastreaza rezultatul
la ecran.Declararea bibliotecilor se incepe cu semnul #. Instrucțiunea if permite programarea
unei structure de decizii în care o condiție (rezultatul evaluării unei expresii) determină
executarea sau neexecutarea secvenții de instrucțiuni. Instructiunea if-else permite programarea
unei structuri de decizii în care o condiție determină executare unei secvențe dee program din
două alternative. Instrucțiunea switch permite executare unei singure secvențe din mai multe
alternative, în funcție de valoarea unei expresii.

Coala
SDE 525.1 081 01 ME
Mod Coala Nr. document Semnat. Data 3

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