RAPORT
Lucrarea de laborator nr.2
la Programarea Calculatoarelor
A efectuat:
st. gr. C-171 A.Miron
A verificat:
dr., conf.univ. M. Kulev
Chişinău -2017
Lucrarea de laborator nr.3
Varianta 6:
Formulele de calcul:
Daca (h>a), C=1.8*cos2(h)+a;
Daca (h=a), C=1.8*3.14*a*h;
Daca (h<a), C= cos(h)+a*sin2(h);
Mersul lucrării:
Se cunosc mai multe structuri de algoritmi , si anume:
Structura liniara
Structura ramificata
Structura interactiva(ciclica)
Ciclul este o parte a algoritmului care poate fi repetata de mai multe ori .
Fiecare ciclu trebue sa aiba conditie. In dependenta de acesta ciclurile se
divizeaza in:
1. Ciclu preconditionat (anterior)
2. Ciclu postconditionat(posterion)
Pentru crearea ciclurilor se utilizeaza urmatoarele instructiuni:
Instructiunea while:
Instructiune se executa repetat atit timp cit x<=xf . Testul are loc inantea fiecarei
executii a instructiunii . Prin urmare ciclul este urmatorul : se testeaza conditia din
paranteze daca ea este adevarata , deci expresia din paranteze are o valoare mai mic
egal cu xf atunci , se executa corpul instructiunii while, se verifica din nou conditia
, daca ea este adevarata se executa din nou corpul instructiunii. Cind conditia devine
falsa , adica valoarea expresiei din paranteze este egal cu xf , se face un salt la
instructiunea de dupa corpul instructiunii while , deci instructiuea while se termina.
Instrucțiunea do – while:
Instrucțiunea for:
instrucțiune
Start
Introduceti a,hmin,hmax,dh
a,hmin,hmax,dh
D
Rezultatele obtinute:
a
Da n=0
h=hmin;h<=hmax;h=h+dh
NU DA
h>a
C=1.8*pow(cos(h),2)+a
NU h==a DA
C=cos(h)+a*pow(sin(h),2) C=1.8*3.14*a*h
n=n+1
"%d.h=%.3f,C=%.3f\n",n,h,C
Stop
Analiza datelor:
a) date de intrare:
a,hmin,hmax,dh - 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: n
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
float a,hmin,hmax,dh;
float C,h;
int n;
printf("Introduceti a,hmin,hmax,dh:\n");
scanf("%f%f%f%f",&a,&hmin,&hmax,&dh);
printf("Rezultatele obtinute:\n");
n=0;
for(h=hmin;h<=hmax;h=h+dh)
{
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); }
}
n++;
printf("%d.h=%.3f,C=%.3f\n",n,h,C);
}
return 0;
}
Datele de intrare : a=2; hmin=-1 ; hmax=20; dh=3;
Rezultatele obtinute:
Concluzie:
In aceasta lucrare am elaborat un program ce contine procese de calcul cu cicluri
si ramificatii realizate cu instructiunea for . Din rezultatele obtinute observam ca h
se mareste cu 3 incît dh , adica pasul este 3 pe cind variabila de esire C isi modifica
valorile neuniform .
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