Documente Academic
Documente Profesional
Documente Cultură
Moldova
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
Funcția Condiția
W<0.2
𝜋 ∗ e^ (− (√( 𝑤 ))) ∗ cos((𝑏 ∗ 𝑥)/𝑤)
W=0.2
B= W>0.2
√(𝑤 ∗ 𝑥 ∗ sin(2 ∗ 𝑤) + e^(−2 ∗ 𝑥) ∗ (𝑤 + 𝑏))
{ 𝑡𝑔^2(𝑤 + 𝑥 + 𝑏);
Una dintre cele mai puternice instrucţiuni iterative ale limbajului C/C++ (şi nu
numai) este instrucţiunea for, care are urmatoarea sintaxă:
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
"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:
Bibliografie: