Sunteți pe pagina 1din 9

Ministerul Educaţiei, Culturii si Cercetarii al Republicii

Moldova

Universitatea Tehnică a Moldovei

Facultatea Calculatoare Informatica si Microelectronica


Departamentul IIS

RAPORT
Lucrarea de laborator nr.3
la Programarea Calculatoarelor

A efectuat:
st. gr. AI-171 S.Crușnevschi

A verificat:
dr., conf.univ. M. Kulev

Chişinău -2017
Lucrarea de laborator nr.3
Programe ciclice

Scopul lucrării[1]: Însuşirea, folosirea şi obţinerea deprinderii practice de elaborare


şi depanare a programelor ciclice (for, while, do-while).

Condiția problemei: Să se scrie un program ce va calcula valoarea expresiei matematice pe un interval


introdus de la tastarură. În program să se utilizeze instrucţiunile: “switch”, “for”, ”while”, ”do
while”,”if” şi ”else”`
Varianta 8:

Funcția Condiția

W<0.2
𝜋 ∗ e^ (− (√( 𝑤 ))) ∗ cos((𝑏 ∗ 𝑥)/𝑤)
W=0.2
B= W>0.2
√(𝑤 ∗ 𝑥 ∗ sin(2 ∗ 𝑤) + e^(−2 ∗ 𝑥) ∗ (𝑤 + 𝑏))
{ 𝑡𝑔^2(𝑤 + 𝑥 + 𝑏);

Noţiuni principale din teorie şi metode folosite[2]:

Una dintre cele mai puternice instrucţiuni iterative ale limbajului C/C++ (şi nu
numai) este instrucţiunea for, care are urmatoarea sintaxă:

Sintaxa instrucţiunii for Schema bloc

for (exp1; exp2; exp3)


{
instrucţiuni;
}

Ciclul while este utilizat în cazul în care nu se cunoaşte numărul de repetări ale
ciclului şi nu există necesitatea ca ciclul să fie executat cel puţin o singură dată. Sintaxa
instrucţiunii while este următoarea:
Sintaxa instrucţiunii Schema bloc
while

while(expresie)

instrucţiuni;

Ciclul do while este utilizat în cazul când nu se cunoaşte numărul de repetări ale
ciclului şi există necesitatea ca ciclul să fie executat cel puţin o singură dată. Sintaxa
instrucţiunii do while este următoarea:
Sintaxa instrucţiunii Schema bloc
do while
do

instrucţiuni;

while(expresie)

Analiza datelor:
a) date de intrare:
w,b,x - variabile simple cu zecimale, key – variabila de tip intreg, parametrii expresiilor date
(de introdus de la tastatură).
b) date de ieşire:
B – variabila simpla cu zecimale, valoarea expresiei date (de afişat pe ecran).
c) date intermediare: nu sunt.
Schema logică a algoritmului:

START
1

Nu Da
W<0.2
"Dati b,c"

B=pi*exp(-(sqrt( w )))*cos((b*x)/w);
Nu
b,c W=0.2
Da

"Dati wmin, wmax, B=pi*exp(-(sqrt( w )))*cos((b*x)/w);


B=tan(w+x+b)),2);
pasul:"

Dati wmin, wmax, pasul:


n=n+1;

"Rezultatele obtinute:"
“n. x= B=”

w=wmin;
w=w+dw;

n=0;

Nu STOP

w<=wmax

Da

1
Codul (textul) programului in limbajul C++:

#include <stdio.h>
#include <conio.h>
#include <math.h>
# define pi 3.14
int main ()
{
float B,w,b,x,c,wmax,wmin,pas,dw; int n;
printf("Dati b,c");
scanf("%f%f",&b,&c);
printf("Dati wmin, wmax, pasul:");
scanf("%f%f%f",&wmin,&wmax,&dw);
printf("Rezultatele obtinute:\n");
w=wmin;
n=0;
while(w<=wmax)
{
if(w<0.2)
{
B=pi*exp(-(sqrt( w )))*cos((b*c)/w);}
else {if(w==0.2)
{B=sqrt(w*c*sin(2*w)+exp(-2*c)*(w+b));}
else{B=pow((tan(w+c+b)),2);}
}
n=n+1;
printf("%i. w=%.3f B=%.3f\n",n,w,B);
w=w+dw;
}
getch();
return 0;
}
Date de intrare Nr.1 (w,b,x,key):
11151
Rezultatul obtinut:
1. w=1.000 B=0.020
2. w=2.000 B=1.341
3. w=3.000 B=11.428
4. w=4.000 B=0.085
5. w=5.000 B=0.759
Verificarea rezultatelor :

Screenshot Screenshot
Dev C++ Calculator
Date de intrare Nr.2 (w,b,x,key):
2 2 1 50 5
Rezultatul obtinut:
1. w=1.000 B=11.428
2. w=6.000 B=0.420
3. w=11.000 B=0.733
4. w=16.000 B=5.005
5. w=21.000 B=0.018
6. w=26.000 B=41.028
7. w=31.000 B=0.225
8. w=36.000 B=1.248
9. w=41.000 B=2.624
10. w=46.000 B=0.074
Verificarea rezultatelor :

Screenshot Screenshot
Dev C++ Calculator
Analiza rezultatelor si concluzii:

1. Verificarea ne arată că rezultatul obţinut este corect şi programul lucrează corect.


2. Algoritmul repetitiv poate fi folosit la necesitatea executării repetate a aceluiași segment de cod.
3. Au fost obţinute primele deprinderi de crearea programelor ciclice în limbajul C.
4.Algoritmul repetitive este util la repetarea unui segvent de cod, astfel creînd un cod mai
compact.
5. Dacă utilizatorul introduce pasul=0 atunci programul se va rula la infinit.
6. Trebuie de introdus la început o ramificare , în caz că pasul este zero să apară o eroare pe
ecran, altfel programul se va rula.

Bibliografie:

1. PROGRAMARE Indicatii de laborator Partea I, Chișinău, V. Derevlenco, I. Ichim, L. Bodean

2. Conspectul prelegerilor cursului Programarea Calculatoarelor pentru studenți gr. AI-171


Chișinău, UTM, 2017.

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