Sunteți pe pagina 1din 6

Ministerul Educaiei a Republicii Moldova

Universitatea Tehnic a Republicii Moldova


Facultatea Calculatoare, Informatic i Microelectronic
Referat
a disciplina! Programarea Calculatoarelor
ucrare de laborator "r# $
Tema! Instruciuni ciclice i condiionate
% efectuat!
&tudentul 'rupei &I())$( "oroc *ictor
% verificat!
ector asistent ( Moraru +ctombrina
Chiinu, $,))
Scopul lucrrii
"u
-a
.expr
)
instruciune
&chema bloc while
Familiari/are cu principiile de al'oritmi/are a problemelor, 0nsuirea instruciunilor
deci/ionale i 0mbuntirea stilului de lucru 0n mediile &+, +ffice i TC#
Sarcina lucrrii(Varianta 11)
%fiai valorile lui dd, dr conform urmtoarelor formule matematice!
;
1entru urmtoarele valori ale variabilelor!v2$#,,)3r2)#453 d24,,,467,,83 cu pasul ,,)#
Noiuni teoretice
Instruciunea condiional if
&inta9a instruciunii condiionale admite dou formate!
Instruciunea condiional se folosete pentru a lua deci/ii# :n ambele ca/uri se evaluea/
e9presia i dac ea este ;adevrat< .deci diferit de /ero= se e9ecut instruciune()# -ac
e9presia este ;fals< .are valoarea /ero= i instruciunea if are i parte de else atunci se e9ecut
instruciune($#
Instruciunea ciclic while
Format!
>hile .expresie=
{instruciune}
Instruciunea se e9ecut repetat at0ta timp c0t
valoarea e9presiei este diferit de /ero# Testul are loc
0naintea fiecrei e9ecuii a instruciunii# 1rin urmare ciclul
este urmtorul! se testea/ condiia din parante/e dac ea
este adevrat, deci e9presia din parante/e are o valoare
diferit de /ero, se e9ecut corpul instruciunii >hile, se
verific din nou condiia, dac ea este adevrat se
e9ecut din nou corpul instruciunii# C0nd condiia devine
fals, adic valoarea e9presiei din parante/e este /ero, se face un salt la instruciunea de dup
corpul instruciunii >hile, deci instruciunea >hile se termin#
2
"u
-a
.expr
)
instruciune()
if .e9presie= instruciune()
"u -a
.expr
)
instruciune()
if .e9presie= instruciune()
else instruciune($
instruciune($
"u
-a
.expr
)
instruciune
&chema bloc do-while
"u
-a
expr-
2
instruciune
&chema bloc for
expresie-1
expresie-
Instruciunea do-while
Format!
do ?instruciune@ >hile
.expresie=3
Instruciunea se e9ecut repetat p0n c0nd valoarea
e9presiei devine /ero# Testul are loc dup fiecare
e9ecuie a instruciunii#
Instruciunea for
Format!
for .expresie()3 expresie($3 expresie(5=
{ instruciune}
!xpresie() constituie iniiali/area ciclului
i se e9ecut o sin'ur dat 0naintea ciclului#
!xpresie($ specific testul care controlea/ ciclul#
El se e9ecut 0naintea fiecrei iteraii# -ac
condiia din test este adevrat atunci se e9ecut
corpul ciclului instruciune, dup care se e9ecut
expresie(5, care const de cele mai multe ori 0n
modificarea valorii variabilei de control al
ciclului# &e revine apoi la reevaluarea condiiei#
Ciclul se termin c0nd condiia devine
fals#+ricare dintre e9presiile instruciunii for sau chiar toate pot lipsi#
Instruciunile >hile i for fa de do(>hile e9ecut testul de control la 0nceputul ciclului i
0naintea intrrii 0n corpul instruciunii fiind nite instruciuni precondiionale, iar do(>hile
postcondiional#
Listingul programului
3
/*Lucrare de laborator Nr 2 Varianta 11
Efectuat st.gr SI-112 Noroc Victor*/
#include<stdio.h
#include<!ath.h
#include<conio.h
"oid !ain#$
%
clrscr#$&
double "'d'r'dd'dr&
"(2.))1&
r(1.*+&
for #d(*.))*&d<,.)-&d.().1$
%
dd(#d-/o0#"'#2*r$$.r$/#r-1$&
dr(/o0#dd'+$-d*/o0##r."$'*$/r&
/rintf#1d(2.*f dd(2-d&dr(2-d3n1'd'dd'dr$&
4
getch#$&
4
Descrierea programului
1entru 0nceput ale'em cu aAutorul construciei Binclude bibliotecile de care ne vom folosi
0n pro'ram, acestea sunt!Cstdio#hD,Cconio#hD,Cmath#hD#
&e indic tipul funciei principale main.= care este void.vid=#
Cu aAutorul funciei clrscr.=, care e descris 0n biblioteca Cconio#hD, curim ecranul#
-eclarm variabilele de care vom avea nevoie 0n pro'ram i tipul lor double
"'d'r'dd'dr&, apoi atribuim variabilelor "'r valori, conform sarcinii#
Folosind funcia matematic po> i operatorii artimetici translm din limbaAul matematic
0n limbaAul C funciile indicate 0n sarcin i obinem e9presiile!
dd(#d-/o0#"'#2*r$$.r$/#r-1$&
dr(/o0#dd'+$-d*/o0##r."$'*$/r&
:ntrucEt se dorete afiarea valorilor acestor e9presii pentru valorile lui d, care varia/ 0ntr(
un interval .dat 0n condiie= i care se mrete cu un pas .de asemenea specificat=, introducem
aceste e9presii c0t i afiarea la ecran a variabilelor dd i dr 0n corpul unei instruciuni
ciclice.for(0n acest ca/=, unde indicm valoare iniial a lui d, pasul i valoarea ma9im#
Ultima instruciune din pro'ram este apelul la funcia getc"#)$ care oprete e9ecutarea
pro'ramului cu scopul vi/uali/rii re/ultatului p0n c0nd nu va fi culeas o tasta %
Schema loc
4
!e"ultatele e#ecuiei
:n urma e9ecutrii acestui pro'ram se afiea/ urmtorul re/ultat!
$onclu"ie
5
"u
-a
START
"(2.))1&
r(1.*+&
d(*.))*
d<,.)-
dd(#d-/o0#"'#2*r$$.r$/#r-1$&
dr(/o0#dd'+$-d*/o0##r."$'*$/r&
d'dd'dr
d.().1
STOP
:n urma efecturii acestei lucrri de laborator mi(am format deprinderi practice 0n lucrul cu
instruciunile condiionale i ciclice 0n TC# %m 0nsuit lo'ica de elaborare a schemelor bloc
pentru aceste instruciuni# Mi(am perfecionat tehnica de derulare, verificare i testare a
pro'ramelor 0n TC# Mi(am perfecionat tehnica de testare pe pai a al'oritmilor, cEt i tehnica de
transformare a e9presiilor matematice scrise 0n mod clasic 0n echivalentul lor scris 0n limbaAul C#
%iliografie
( & e r ' i u F # I s t r a t i, G1 R + F R % M % R E# Iniiali/are 0n limbaAele C i CH
H<,Chiinu $,,5
( Muslea Ionut,Ieff Eld'er,etc#, ;1ro'ramare in CJCHH<
( http!JJro#>iKipedia#or'
( -r# Lris Iamsa si ars Llander MMTotul despre C si CHHMM, traducere de Eu'en -umitrescu
6