Sunteți pe pagina 1din 10

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei

Catedra Informatica Aplicată

RAPORT
Lucrarea de laborator nr.2
la Programarea Calculatoarelor

A efectuat:
st. gr. C-172 Matei Nicolae
A verificat:                                         
dr., conf.univ.                        M. Kulev

Chişinău -2017
Lucrarea de laborator nr.2

Tema: Programarea algoritmilor cu structura ramificata

Scopul lucrării: Studierea, utilizarea și obținerea deprinderilor practice de elaborare și depanare a


programelor ramificate(if, if-else ,if else if else , switch-break).

Condiţia problemei (sarcina de lucru) [1]: Să se scrie un program care va calcula valoarea funcției
în funcție de condiții.În program să se utilizeze instrucțiunile if,if-else,if-else-if și switch:

Varianta :6

Expresiile matematice de calculat:

{
2
1.8 cos h+ a h> a
6 C= 1.8 πah h=a
cosh+ a sin 2 h h< a

Mersul lucrării:

Noţiuni principale  din teorie şi metode folosite:

În Programarea calculatoarelor algoritmul ramificat este un set finit de operatiuni (actiuni)


pentru a rezolva problema data la calculator. Exista mai mult forme de reprezentare a algoritmilor
ramificați :
 forma naturala,
 forma grafica,
 forma pseudocod,
 program scris in limbaj de programare.

Algoritm cu structură ramificată determina executarea sau neexecutarea secvenței de instrucțiuni.


Algoritmi ramificați sunt de tipul:
 if;
 if-else;
 if-else if-else;
 switch;

Analiza datelor:
a) date de intrare:
h,a - variabile simple de tip real, parametrii expresiilor date (de introdus de la tastatură).
b) date de ieşire:
C - variabile simple de tip real, valorile expresiilor date (de afişat  pe ecran).
    
Schema logică a algoritmului:

START

Introduceti parametrii

h,a

h,a

“\t Menu: \n\n”

“1.Optiunea IF\n”

“2.Optiunea IF-ELSE\n”

“3.Optiunea IF,ELSE-IF,ELSE\n”

“Alegeti optiunea 1,2 sau 3\n”

h>a
1 &&
h==a

C=1.8*pow(cos(h),2)+a

x>a

C=1.8*Pi*a*h

h==a

C = cos(h)+ a*pow(sin(h),2

C
C C

C=

2
h>a

C=1.8*pow(cos(h),2)+a Pentru h>a nu


avem solutii

h=

C=1.8*Pi*a*h; Pentru h= =a nu
sunt solutii

h<a

L=|x/(2*a)|+sin2(x+1); Pentru h<a nu


sunt solutii

C=

3
h>a

C=1.8*pow(cos(h),2)+a h=

C=1.8*Pi*a*h; L=|x/(2*a)|+sin2(x+1);

C
C
C
C C
C
C=

Default Nu exista asa


caz!

Return 0

STOP

Codul (textul) programului in limbajul C:

#include <stdio.h>
#include <conio.h>
#include <math.h>
#define Pi 3.14
int main()
{
float h,a ;
float C ;
int key;
printf("\nIntrodu parametrii h,a:");
scanf("%f" ,&h);
scanf("%f" ,&a);
printf("\t\t MENIU");
printf("\n 1 -Metoda if ");
printf("\n 2 -Metoda if-else ");
printf("\n 3 -Metoda if-else-if ");
printf("\nIntrodu cazul :");
scanf("%d",&key);
switch(key)
{
case 1:

if(h>a)
{ C=1.8*pow(cos(h),2)+a;
}
if (h==a)
{C=1.8*Pi*a*h;
}
if (h<a)
{C = cos(h)+ a*pow(sin(h),2);
}
printf("Rezultatul C=%f" ,C);
break;
case 2:
if (h>a)
{ C=1.8*pow(cos(h),2)+a;
}
else
{printf("\nPentru h>a, nu sunt solutii");
}
if (h==a)
{ C=1.8*Pi*a*h;
}
else
{printf("\nPentru h==a, nu sunt solutii");
}
if (h<a)
{ C = cos(h)+ a*pow(sin(h),2);
}
else
{printf("\nPentru h<a, nu sunt solutii");
}
printf("\nRezultatele C=%f" ,C);
break;
case 3:

if (h>a)
{ C=1.8*pow(cos(h),2)+a;}
else

if (h==a)
{C=1.8*Pi*a*h;}
else
{ C = cos(h)+ a*pow(sin(h),2);}

printf("\nRezultatul C=%f",C);
break;

default:{printf("\nNu este asa caz!");}


}//end switch
getch();

return 0;

Date de intrare (h,a): Metoda(1,2,3):


1) 1,3; a)1;
2) 6,5; b)2;
3) 3,8; c)3;

Rezultatele obtinute:

1a) C=2.664523; 1b C=2.664523; 1c) C=2.664523;


2a) C=6.659469; 2b) ) C=6.659469; 2c) ) C=6.659469;
3a) C=-0.830674; 3b) C=-0.830674; 3c) C=-0.830674;

Verificarea:
Analiza rezultatelor și concluzii
1.În urmă efectuării programului și a rulării acestuia au fost obținute anumite abilități în domeniu programării și
anume studierea programelor ramificate și lucrarea cu funcțiile if, if-else; if-else-if.
2.Algoritmul ramificat izolează problema cu mai multe alternative.
3.Există comunicare indirectă a progamatorului și a clientului datorită faptului ca programul e interactive.
4.Putem alege metoda preferată de rezolvare a problemei.
5.După fiecare soluție programul mai trebuie rulat odată.
6.Crearea unui ciclu infinit pentru într-un ciclu.
8.Verificarea ciclului într-un ciclu aparte.
a nu rula programul de fiecare dată cînd primim răspuns.
7.Includerea meniului și switch-ului
Bibliografie:

1. Conspectul prelegerilor cursului Programarea Calculatoarelor pentru studenți gr. AI-171, C-171,
C-172,  Chișinău, UTM, 2017.

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