Sunteți pe pagina 1din 9

Ministerul Educaiei i Tineretului al Republicii Moldova Universitatea Tehnic a Moldovei

Catedra: Informatic aplicat

RAPORT
Lucrare de laborator r!"

la Programarea Calculatoarelor

# efectuat: # verificat:

$t! %r! MI&'"' ()*doa% +aniel Lector asistent Cocodan Mihai


Chiinu ",'"

Lucrare de laborator Nr.2 Tema: -ro%ramarea proceselor cu cicluri i ramificaii Scopul lucrrii: Elaborarea pro%ramelor ce conin procese de calcul cu
cicluri i ramificaii reali*ate cu diferite instruciuni posibile!

Formularea condiii problemei: +e calculat valorile variabilelor indicate


dup formulele de calcul i datele iniiale indicate! +e afiat re*ultatele obinute pe ecran! Varianta 12: +atele initiale:
z=

p= +a

(alorile datelor initiale:


a./ x 9 dx=1

er!ul lucrrii:
$e cunosc mai multe structuri de al%oritmi0 i anume: '! $tructura liniar "! $tructura ramificat 1! $tructura iterativ 2ciclic3 Ciclul este o parte a al%oritmului care poate fi repetat de mai multe ori! 4iecare ciclu trebuie s aib condiie! 5n dependen de aceasta ciclurile se divi*ea* )n: '! ciclu precondiionat 2anterior3 "! ciclu postcondiionat 2posterior3 -entru crearea ciclurilor se utili*ea* urmtoarele " instruciuni:

"n!tructiunea if
4ormat: if_(expresie)_instructiune sau if_(expresie)_instructiune1_else_instructiune2; 5n instructiunea de ramificare lipseste2630deoarece constructia instructiune_ care a fost descrisa de7a include in sine acest semn263!+aca instructiunea_este simpla0 atunci ea se va sfirsi cu 2630iar daca instructiunea_repre*inta un bloc0 atunci acest bloc va fi definit de acolade0unde acolada dreapta va 7uca rolul sfirsitului!

"n!truciunea while
4ormat: while (expresie) instruciune Instruciunea se e8ecut repetat at)ta timp c)t valoarea e8presiei este diferit de *ero! Testul are loc )naintea fiecrei e8ecuii a instruciunii! -rin urmare ciclul este urmtorul: se testea* condiia din parante*e dac ea este adevrat0 deci e8presia din parante*e are o valoare diferit de *ero0 se e8ecut corpul instruciunii while0 se verific din nou condiia0 dac ea este adevrat se e8ecut din nou corpul instruciunii! C)nd condiia devine fals0 adic valoarea e8presiei din parante*e este *ero0 se face un salt la instruciunea de dup corpul instruciunii while0 deci instruciunea while se termin! "n!truciunea goto

Instruciunea #oto este utili*at pentru saltul dintr&un punct al unei funcii 2chiar i dintr&un ciclu3 )n alt punct al aceleai funcii0 respectiv la o instruciune etichetat! Eticheta este un nume urmat de caracterul 9:: nume: 4ormatul instruciunii #oto este: #oto etic$eta% Anali&a datelor: +ate de intrare: a080d8 & variabile simple de tip inte%er0 variabile de intrare de la tastatur! ; +ate de ieire: *0p & variabile simple de tip real0 care vor afia valorile funciei i ar%umentul la ecran!
;

Sc$ema lo#ica a pro#ramului:

Start

clrscr();

Introdu datele

intitiale a,x,dx

a,x,dx

x>=2 && x<=9

#o:

Nu

=1+

(a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

a<x

Nu 'a p=

=1+

(a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

a=x

Nu 'a p=e!(sinx!2)

=1+

(a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

a>x

'a p=cos(x!2)!"+a

=1+

(a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

=, p=,p

%+=dx; =1+ (a!2)(sinx!")#2a$xlna

=1+

(a!2)(sinx!")#2a$xlna

#oto #o% &etc'(); Stop

Te(tul pro#ramului "n limba)ul *


#include<stdio.h> #include<conio.h> #include<math.h> int main() { clrscr(); float z,p,a,x,dx; printf("Introducem datele"); printf("Introdu aloarea lui a!");scanf(""f,#n",$a); printf("Introdu aloarea lui x!");scanf(""f,#n",$x); printf("Introdu aloarea lui dx!");scanf(""f,#n",$dx); %o! while(x>&'$$<&(){ z&()*s+rt(pow(a,')*(pow(sin(x),,)))-('.a)/x.(lo%(a))); printf("z&".,f#n",z); if(a<x)p&s+rt(lo%(a*x)); else if(a&&x)p&exp(pow(sin(x),')); else if(a>x)p&pow(cos(x),,)*a; printf("p&".,f#n#n",p); x*&); %oto %o; 0 %etch(); 0

'atele de intrare: a+,%(+2%d(+1 Re&ultatele obtinute: &+-1..11 p+1.22/ &+-3.32/ p+1.434 &+-1.212 p+1..21 &+-/.,0. p+1.,12 &+-2..03 p+1.,.0 &+-11.300 p+1.042

&+-0.,,0 p+2.,4/

&+-12.2/1 p+1.02,

(i& 1) *+aluarea si a,isarea expresiilor -ate-atice

Concluzii: '!La lucrarea data am elaborat un pro%ram care contine procese de calcul cu cicluri si ramificatii ce sunt reali*te cu diferite instructiuni!-otrivit re*ultatelor obtinute observam ca 8 se mareste cu o unitate0adica pasul este '0pe cind variabila de iesire * isi modifica valorile doar pina in momentul cind 8 atin%e valoarea <! "!#m folosit in acest pro%ram instructiunile =hile0if si %oto pentru reali*area ciclului! 1!#m obtinut primele deprinderi pentru folosirea unui ciclu in limba7ul C!

5ibloi#ra6ie:
'! T>TUL +E$-RE C $I C?? 2M# U#LUL 4U +#ME T#L +E

-R>@R#M#RE I C $I C??3 Aris Bamsa0Lars Aland6 "! ./01/232/*2 4254652702/*50/ SI 5I3829*5* :*

./01/232/* , 4ristian Iosi,escu; 1! ./01/232/* Initiali are in li-;a<ele 4 si 4++ , Ser&iu 1)Istrati)

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