Documente Academic
Documente Profesional
Documente Cultură
Moldova
RAPORT
Lucrarea de laborator nr.2
la Programarea Calculatoarelor
A efectuat:
st. gr. C-171 A.Miron
A verificat:
dr., conf.univ. M. Kulev
0
Chişinău -2017
Lucrarea de laborator nr.2
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:
Mersul lucrării:
Structura funcției în C:
- antetul funcției (prima linia codului funcției);
- corpul funcției scris între acoladele { }.
Analiza datelor:
a) date de intrare:
h,ax - 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).
c) date intermediare: nu sunt.
1
2
Schema logică a algoritmului:
1
Start
k=
1
“Meniu”
h>
k=
a
2
“Metoda if”
C=1.8*pow(cos(h),2)+a;
k= h>
“Metoda if-else” 3 a
C=1.8*3.14*a*h;
“Introduceti h,a,”
C=1.8*pow(cos(h),2)+a;
h<
a h=
a
h,a h<
C=1.8*3.14*a*h; C=cos(h) a
+a*pow(sin(h),2); “Pentru h=a, nu sunt C=1.8*3.14*a*h;
sol.” C=cos(h)
“Introduceti cazul” +a*pow(sin(h),2);
k
h<
Rezultatul: C=”,C a “Rezultatul: C=”,C
1
“Pentru h=a, nu sunt C=cos(h)
sol.” +a*pow(sin(h),2);
“Rezultatul: C=”,C
Stop
Codul (textul) programului in limbajul C:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#include <conio.h>
int main()
{
float h,a;
int k;
float C;
printf("Meniu");
printf("\n 1. Metoda if");
printf("\n 2. Metoda if-else");
printf("\n 3. Metoda if-else-if");
printf("\n Introduceti necunoscutele h,a: \n");
scanf("%f%f",&h,&a);
printf("\n Introduceti cazul: \n");
scanf("%d",&k);
switch(k)
{
case 1:
{
if(h>a)
{ C=1.8*pow(cos(h),2)+a; }
if(h==a)
{ C=1.8*3.14*a*h; }
if(h<a)
{ C=cos(h)+a*pow(sin(h),2); }
printf("Rezultatul C=%f\n",C);
break;
}
case 2:
{
if(h>a)
{ C=1.8*pow(cos(h),2)+a; }
else
{ printf("\n Pentru h<a, nu sunt sol."); }
if(h==a)
{ C=1.8*3.14*a*h; }
else
{ printf("\n Pentru h==a, nu sunt sol."); }
if(h<a)
{ C=cos(h)+a*pow(sin(h),2); }
else
{ printf("\n Pentru h<a, nu sunt sol.\n"); }
printf("Rezultatul C=%f\n",C);
break;
}
case 3:
{
if(h>a)
{ C=1.8*pow(cos(h),2)+a; }
else
{
if(h==a)
{ C=1.8*3.14*a*h; }
else
{ C=cos(h)+a*pow(sin(h),2); }
}
printf("Rezultatul C=%f\n",C);
break;
}
default:
{printf("\n Nu este asa caz!\n Valoare lui C nu a fost calculata!");}
}
return 0;
}
1
Rezultatele obtinute:
h>a
C=1.311721
2
h=a
C=22.608000
3
h<a
C=1.956449
4
Verificarea rezultatelor:
C=1.8*pow(cos(2),2)+1
5
Analiza rezultatelor si concluzii:
Bibliografie:
1. Derevlenco, Vasile și alț. Programare : Indicaţii de laborator. Partea 1. – Ch.: Tehnica – UTM,
2014. http://library.utm.md
2. Conspectul prelegerilor cursului Programarea Calculatoarelor pentru studenți gr. AI-171, C-
171, C-172, Chișinău, UTM, 2017.
3. Tutorial in C language. http://devcentral.iftech.com/learning/tutorials/c-cpp/c/
4. http://andrei.clubcisco.ro/cursuri/anul-1/semestrul-1/programarea-calculatoarelor.html
5. https://www.wolframalpha.com/