Sunteți pe pagina 1din 14

DESCRIEREA ALGORITMILOR

1.1 Algoritm, program, programare


Apariia primelor calculatoare electronice a constituit un salt uria n direcia
automatizrii activitii umane. Nu exist astzi domeniu de activitate n care calculatorul s nu
i arate utilitatea[18].
Calculatoarele pot fi folosite pentru a rezolva proleme! numai dac pentru rezolvarea
acestora se concep pro"rame corespunztoare de rezolvare. #ermenul de pro"ram $pro"ramare% a
suferit sc&imri n scurta istorie a informaticii. 'rin anii ()* prolemele rezolvate cu a+utorul
calculatorului erau simple i se "seau al"oritmi nu prea complicai pentru rezolvarea lor. 'rin
pro"ram se nele"ea rezultatul scrierii unui al"oritm ntr,un lima+ de pro"ramare. -in cauza
creterii complexitii prolemelor! astzi pentru rezolvarea unei proleme adesea vom concepe
un sistem de mai multe pro"rame.
-ar ce este un al"oritm. / definiie matematic! ri"uroas! este "reu de dat! c&iar
imposiil fr a introduce i alte noiuni. 0om ncerca n continuare o descriere a ceea ce se
nele"e prin al"oritm.
Ne vom familiariza cu aceast noiune prezent1nd mai multe exemple de al"oritmi i
oserv1nd ce au ei n comun. Cel mai vec&i exemplu este al"oritmul lui 2uclid! al"oritm care
determin cel mai mare divizor comun a dou numere naturale. 2vident! vom prezenta mai muli
al"oritmi! cei mai muli fiind le"ai de proleme accesiile asolvenilor de liceu.
0om constata c un al"oritm este un text finit! o secven finit de propoziii ale unui
lima+. -in cauz c este inventat special n acest scop! un astfel de lima+ este numit limbaj de
descriere a algoritmilor. 3iecare propoziie a lima+ului precizeaz o anumit re"ul de calcul!
aa cum se va oserva atunci c1nd vom prezenta lima+ul 'seudocod.
/prindu,ne la semnificaia al"oritmului! la efectul execuiei lui! vom oserva c fiecare
al"oritm definete o funcie matematic. -e asemenea! din toate seciunile urmtoare va reiei
foarte clar c un al"oritm este scris pentru rezolvarea unei proleme. -in mai multe exemple se
va oserva ns c! pentru rezolvarea aceleai proleme! exist mai muli al"oritmi.
'entru fiecare prolem P exist date presupuse cunoscute $date iniiale pentru al"oritmul
corespunztor! A% i rezultate care se cer a fi "site $date finale%. 2vident! prolema s,ar putea s
nu ai sens pentru orice date iniiale. 0om spune c datele pentru care prolema P are sens fac
parte din domeniul D al al"oritmului A. 4ezultatele oinute fac parte dintr,un domeniu R! astfel
c execut1nd al"oritmul A cu datele de intrare xD vom oine rezultatele rR. 0om spune c
A(x)=r i astfel al"oritmul A definete o funcie
A D !!!" R .
Al"oritmii au urmtoarele caracteristici5 "eneralitate! finitudine i unicitate.
'rin generalitate se nele"e faptul c un al"oritm este aplicail pentru orice date iniiale
xD. -eci un al"oritm A nu rezolv prolema P cu nite date de intrare! ci o rezolv n "eneral!
oricare ar fi aceste date. Astfel! al"oritmul de rezolvare a unui sistem liniar de n ecuaii cu n
necunoscute prin metoda lui 6auss! rezolv orice sistem liniar i nu un sin"ur sistem concret.
'rin finitudine se nele"e c textul al"oritmului este finit! compus dintr,un numr finit de
propoziii. 7ai mult! numrul transformrilor ce treuie aplicate unei informaii admisiile xD
pentru a oine rezultatul final corespunztor este finit.
'rin unicitate se nele"e c toate transformrile prin care trece informaia iniial pentru
a oine rezultatul rR sunt ine determinate de re"ulile al"oritmului. Aceasta nseamn c
fiecare pas din execuia al"oritmului d rezultate ine determinate i precizeaz n mod unic
pasul urmtor. Altfel spus! ori de c1te ori am executa al"oritmul! pornind de la aceeai informaie
admisiil xD! transformrile prin care se trece i rezultatele oinute sunt aceleai.
8n descrierea al"oritmilor se folosesc mai multe lima+e de descriere! dintre care cele mai
des folosite sunt5
, lima+ul sc&emelor lo"ice9
, lima+ul 'seudocod.
8n continuare vom folosi pentru descrierea al"oritmilor lima+ul 'seudocod care va fi
definit n cele ce urmeaz. 8n ultima vreme sc&emele lo"ice sunt tot mai puin folosite n
descrierea al"oritmilor i nu sunt deloc potrivite n cazul prolemelor complexe. 'rezentm ns
i sc&emele lo"ice! care se mai folosesc n manualele de liceu! ntruc1t cu a+utorul lor vom
preciza n continuare semantica propoziiilor 'seudocod.
1.# Sc$eme logice
Schema logic este un mi+loc de descriere a al"oritmilor prin reprezentare "rafic.
4e"ulile de calcul ale al"oritmului sunt descrise prin locuri $fi"uri "eometrice% reprezent1nd
operaiile $paii% al"oritmului! iar ordinea lor de aplicare $succesiunea operaiilor% este indicat
prin s"ei. 3iecrui tip de operaie i este consacrat o fi"ur "eometric $un loc tip% n
interiorul creia se va nscrie operaia din pasul respectiv.
'rin e%ec&'ia &(&i algoritm descris printr,o sc&em lo"ic se nele"e efectuarea tuturor
operaiilor precizate prin locurile sc&emei lo"ice! n ordinea indicat de s"ei.
8n descrierea unui al"oritm! deci i ntr,o sc&em lo"ic! intervin variaile care
marc&eaz at1t datele cunoscute iniial! c1t i rezultatele dorite! precum i alte rezultate
intermediare necesare n rezolvarea prolemei. 8ntruc1t )ariabila +oac un rol central n
pro"ramare este ine s definim acest concept. 0ariaila definete o mrime care i poate
sc&ima valoarea n timp. 2a are un nume i! eventual! o valoare. 2ste posiil ca variaila nc s
nu fi primit valoare! situaie n care vom spune c ea este neiniializat. 0alorile pe care le poate
lua variaila aparin unei mulimi - pe care o vom numi domeniul variailei. 8n concluzie vom
nele"e prin variail tripletul
$nume, domeniul D, valoare%
unde valoare aparine mulimii D :nedefinit;.
*loc&rile delimitatoare Start i Stop $3i".1.<.1. a i 1.<.1. % vor marca nceputul
respectiv sf1ritul unui al"oritm dat printr,o sc&em lo"ic. -escrierea unui al"oritm prin
sc&em lo"ic va ncepe cu un sin"ur loc Start i se va termina cu cel puin un loc Stop.
*loc&rile de i(trare+ie,ire Citete i iprete $3i". 1.<.1. c i d% indic introducerea
unor -ate de intrare respectiv extra"erea unor 4ezultate finale. 2le permit precizarea datelor
iniiale cunoscute n prolem i tiprirea rezultatelor cerute de prolem. =locul Citete
iniializeaz variailele din lista de intrare cu valori corespunztoare! iar locul iprete va
preciza rezultatele oinute $la execuia pe calculator cere afiarea pe ecran a valorilor expresiilor
din lista de ieire%.
*loc&rile de atrib&ire $calcul% se utilizeaz n descrierea operaiilor de atriuire $5>%.
'rintr,o astfel de operaie! unei variaile var i se atri!uie valoarea calculat a unei expresii expr
$3i".1.<.1. e%.
-ig.1.#.1. =locurile sc&emelor lo"ice
*loc&rile de deci.ie marc&eaz punctele de ramificaie ale al"oritmului n etapa de decizie.
4amificarea poate fi dul $!locul logic! 3i".1.<.1.f% sau tripl $!locul aritmetic! 3i". 1.<.1."%.
"locul de deci#ie logic indic ramura pe care se va continua execuia al"oritmului n funcie de
ndeplinirea $ramura Da% sau nendeplinirea $ramura /&% unei condiii. Condiia care se va
nscrie n locul de decizie lo"ic va fi o expresie lo"ic a crei valoare poate fi una dintre
valorile ?adevrat? sau ?fals?. "locul de deci#ie aritmetic va &otr ramura de continuare a
al"oritmului n funcie de semnul valorii expresiei aritmetice nscrise n acest loc! care poate fi
ne"ativ! nul sau pozitiv.
*loc&rile de co(ectare marc&eaz ntreruperile s"eilor de le"tur dintre locuri! dac
din diverse motive s,au efectuat astfel de ntreruperi $3i".1.<.1.&%.
'entru exemplificare vom da n continuare dou sc&eme lo"ice! corespunztoare unor
al"oritmi pentru rezolvarea prolemelor '1.<.1 i '1.<.<.
P$%&%$% S 'e re#olve ecua(ia de grad doi a)
&
*!)*c=+ (a,!,cR ,i a+)%
7etoda de rezolvare a ecuaiei de "radul doi este cunoscut. 2cuaia poate avea rdcini reale!
respectiv complexe! situaie recunoscut dup semnul discriminantului d >
<
, @ac.
-ig.1.#.#. Al"oritm pentru rezolvarea ecuaiei de "radul
doi
-ig.1.#.0. Al"oritm pentru calculul
unei sume.
Al"oritmul de rezolvare a prolemei va citi mai nt1i datele prolemei! marcate prin
variailele a, ! i c. 0a calcula apoi discriminantul d i va continua n funcie de valoarea lui d!
aa cum se poate vedea n fi".1.<.<.
P$%&%&% S 'e calcule#e 'uma elementelor po#itive ale unui ir de numere reale dat%
Ac&ema lo"ic $dat n 3i".1.<.B% va conine imediat dup locul A#A4# un loc de
citire! care precizeaz datele cunoscute n prolem! apoi o parte care calculeaz suma cerut i
un loc de tiprire a sumei "site! naintea locului A#/'. 'artea care calculeaz suma S cerut
are un loc pentru iniializarea cu * a acestei sume! apoi locuri pentru parcur"erea numerelor5
x
1
! x
<C
x
n
i adunarea celor pozitive la suma S. 'entru aceast parcur"ere se folosete o variail
contor i! care este iniializat cu 1 i crete mereu cu 1 pentru a atin"e valoarea n! indicele
ultimului numr dat.
Ac&emele lo"ice dau o reprezentare "rafic a al"oritmilor cu a+utorul unor locuri de
calcul. 2xecuia urmeaz sensul indicat de s"eat! put1nd avea loc reveniri n orice punct din
sc&ema lo"ic. -in acest motiv se poate oine o sc&em lo"ic nc1lcit! "reu de urmrit.
4ezult importana compunerii unor sc&eme lo"ice structurate $-,sc&eme! dup -+iDstra%! care
s conin numai anumite structuri standard de calcul i n care drumurile de la A#A4# la A#/'
s fie uor de urmrit.
1.0. Limbaj&l 1SE2DOCOD
Eima+ul 'seudocod este un lima+ inventat n scopul proiectrii al"oritmilor i este
format din propoziii asemntoare propoziiilor limii rom1ne! care corespund structurilor de
calcul folosite n construirea al"oritmilor. Acesta va fi lima+ul folosit de noi n proiectarea
al"oritmilor i va fi definit n cele ce urmeaz. Fin1nd seama c oinerea unui al"oritm pentru
rezolvarea unei proleme nu este ntotdeauna o sarcin simpl! c n acest scop sunt folosite
anumite metode pe care le vom descrie n capitolele urmtoare! n etapele intermediare din
oinerea al"oritmului vom folosi propoziii curente din lima rom1n. Acestea sunt considerate
elemente nefinisate din al"oritm! asupra crora treuie s se revin i le vom numi propoziii
nestandard. -eci lima+ul 'seudocod are dou tipuri de propoziii5 propo.i'ii sta(dard! care vor
fi prezentate fiecare cu sintaxa i semnificaia $semantica% ei i propo.i'ii (esta(dard. Aa cum
se va arta mai t1rziu! propo.i'iile (esta(dard sunt texte care descriu pri ale al"oritmului nc
incomplet elaorate! nefinisate! asupra crora urmeaz s se revin.
'e l1n" aceste propoziii standard i nestandard! n textul al"oritmului vom mai
introduce propoziii explicative! numite come(tarii. 'entru a le distin"e de celelalte propoziii!
comentariile vor fi nc&ise ntre acolade. 4olul lor va fi explicat puin mai t1rziu.
1ropo.i'iile sta(dard ale lima+ului 'seudocod folosite n aceast lucrare! corespund
structurilor de calcul prezentate n fi"ura 1.B.1 i vor fi prezentate n continuare. 3iecare
propoziie standard ncepe cu un cuv1nt c&eie! aa cum se va vedea n cele ce urmeaz. 'entru a
deosei aceste cuvinte de celelalte denumiri! construite de pro"ramator! n acest capitol vom
scrie cuvintele c&eie cu litere mari. 7enionm c i propoziiile simple se termin cu caracterul
(9( n timp ce propoziiile compuse! deci cele n interiorul crora se afl alte propoziii! au un
marca+ de sf1rit propriu. -e asemenea! menionm c propoziiile lima+ului 'seudocod vor fi
luate n seam n ordinea nt1lnirii lor n text! asemenea oricrui text al limii rom1ne.
'rin e%ec&'ia &(&i algoritm descris n 'seudocod se nele"e efectuarea operaiilor
precizate de propoziiile al"oritmului! n ordinea citirii lor.
8n fi"ura 1.B.1! prin A! = s,au notat susc&eme lo"ice! adic secvene de oric1te structuri
construite conform celor trei re"uli menionate n continuare.
Str&ct&ra sec)e('ial3 $fi".1.B.1.a% este redat prin concatenarea propoziiilor! simple sau
compuse! ale lima+ului 'seudocod! care vor fi executate n ordinea nt1lnirii lor n text.
a% structura
secvenial
% structura
alternativ
c% structura
repetitiv
-ig&ra 1.0.1. Atructurile elementare de calcul
'ropoziiile simple din lima+ul 'seudocod sunt CG#2H#2! #G'A42H#2! 3G2 i apelul de
supro"ram. 'ropoziiile compuse corespund structurilor alternative i repetitive.
Str&ct&ra alter(ati)3 $fi".1.B.1.% este redat n 'seudocod prin propoziia -ACI!
prezentat n seciunea 1.B.<! iar str&ct&ra repetiti)3 din fi".1.B.1.c este redat n 'seudocod
prin propoziia CJ# #G7'! prezentat n seciunea 1.B.B.
=o&m i Kacopini au demonstrat c orice al"oritm poate fi descris folosind numai aceste
trei structuri de calcul.
'ropoziiile DATE i RE42LTATE sunt folosite n faza de specificare a prolemelor!
adic enunarea ri"uroas a acestora. 'ropoziia DATE se folosete pentru precizarea datelor
iniiale! deci a datelor considerate cunoscute n prolem $numite i date de intrare% i are
sintaxa5
DATE li't-
unde li't conine toate numele variailelor a cror valoare iniial este cunoscut. 8n "eneral!
prin list se nele"e o succesiune de elemente de acelai fel desprite prin vir"ul. -eci n
propoziia DATE! n dreapta acestui cuv1nt se vor scrie acele variaile care marc&eaz mrimile
cunoscute n prolem.
'entru precizarea rezultatelor dorite se folosete propoziia standard
REZULTATE li't-
n construcia ?list? ce urmeaz dup cuv1ntul RE42LTATE fiind trecute numele variailelor
care marc&eaz $conin% rezultatele cerute n prolem.
Acum putem preciza mai exact ce nele"em prin cunoaterea complet a prolemei de
rezolvat. 2vident! o prolem este cunoscut atunci c1nd se tie care sunt datele cunoscute n
prolem i ce rezultate treuiesc oinute. -eci pentru cunoaterea unei proleme este necesar
precizarea variailelor care marc&eaz date considerate cunoscute n prolem! care va fi
reflectat printr,o propoziie DATE i cunoaterea exact a cerinelor prolemei! care se va
reflecta prin propoziii RE42LTATE. 0ariailele prezente n aceste propoziii au anumite
semnificaii! presupuse cunoscute. Cunoaterea acestora! scrierea lor explicit! formeaz ceea ce
vom numi n continuare speci5icarea problemei. Apecificarea unei proleme este o activitate
foarte important dar nu i simpl.
-e exemplu! pentru rezolvarea ecuaiei de "radul al doilea! specificarea prolemei! scris
de un nceptor! poate fi5
DATE a,!,c- . Coeficien(ii ecua(iei /
REZULTATE x$,x&- . Rdcinile ecua(iei /
Aceast specificaie este ns incomplet dac ecuaia nu are rdcini reale. 8n cazul n care
rdcinile sunt complexe putem nota prin x$, x& partea real respectiv partea ima"inar a
rdcinilor. Aau pur i simplu! nu ne intereseaz valoarea rdcinilor n acest caz! ci doar faptul
c ecuaia nu are rdcini reale. Cu alte cuvinte avem nevoie de un mesa+ care s ne indice
aceast situaie $vezi sc&ema lo"ic 1.<.<%! sau de un indicator! fie el ind. Acest indicator va lua
valoarea 1 dac rdcinile sunt reale i valoarea * n caz contrar. -eci specificaia corect a
prolemei va fi
DATE a,!,c- . Coeficien(ii ecua(iei /
REZULTATE ind, .0n indicator1 $=rdcini reale, +=complexe/
x$,x&- . Rdcinile ecua(iei, 2n ca#ul ind=$,/
.re'pectiv partea real i cea /
.imaginar 2n ca#ul ind=+/
2vident c specificarea prolemei este o etap important pentru "sirea unei metode de
rezolvare i apoi n proiectarea al"oritmului corespunztor. Nu se poate rezolva o prolem dac
aceasta nu este ine cunoscut! adic nu avem scris specificarea prolemei. C&(oa,te complet
problema este prima re"ul ce treuie respectat pentru a oine c1t mai repede un al"oritm
corect pentru rezolvarea ei.
1.3.1 Algoritmi liniari
'ropoziiile CITE6TE i TI17RE6TE sunt folosite pentru iniializarea variailelor de
intrare cu datele cunoscute n prolem! respectiv pentru tiprirea $aflarea% rezultatelor oinute.
8n etapa de pro"ramare propriu,zis acestor propoziii le corespund ntr,un lima+ de pro"ramare
instruciuni de intrare,ieire.
'ropoziia CITE6TE se folosete pentru precizarea datelor iniiale! deci a datelor
considerate cunoscute n prolem $numite i date de intrare% i are sintaxa5
CITETE li't -
unde li't conine toate numele variailelor a cror valoare iniial este cunoscut.
-eci n propoziia CITE6TE! n dreapta acestui cuv1nt se vor scrie acele variaile care
apar n propoziia DATE n specificarea prolemei. Ae sunele"e c aceste variaile sunt
iniializate cu valorile cunoscute corespunztoare.
'entru aflarea rezultatelor dorite! pe care calculatorul o va face prin tiprirea lor pe &1rtie
sau afiarea pe ecran! se folosete propoziia standard
TIPRETE li't -
n construcia li't ce urmeaz dup cuv1ntul TI17RE6TE fiind trecute numele variailelor a
cror valori dorim s le aflm. 2le sunt de oicei rezultatele cerute n prolem! specificate i n
propoziia RE42LTATE.
=locului de atriuire dintr,o sc&em lo"ic i corespunde n 'seudocod propoziia
standard 3FIE4 var 1= expre'ie -
Aceast propoziie este folosit pentru a indica un calcul al"eric! al expresiei care urmeaz dup
simolul de atriuire ?8? i de atriuire a rezultatului oinut variailei var. 2xpresia din
dreapta semnului de atriuire poate fi orice expresie al"eric simpl! cunoscut din manualele
de matematic din liceu i construit cu cele patru operaii5 adunare! scdere! nmulire i
mprire $notate prin caracterele L! ,! M! respectiv N%.
'rin scrierea cuv1ntului -IE ntre paranteze drepte se indic posiilitatea omiterii acestui
cuv1nt din propoziie. 2l s,a folosit cu "1ndul ca fiecare propoziie s nceap cu un cuv1nt al
limii rom1ne care s reprezinte numele propoziiei. -e cele mai multe ori vom omite acest
cuv1nt. Atunci c1nd vom scrie succesiv mai multe propoziii de atriuire vom folosi cuv1ntul
-IE numai n prima propoziie! omi1ndu,l n celelalte.
-in cele scrise mai sus rezult c o variail poate fi iniializat at1t prin atriuire $deci
dac este variaila din st1n"a semnului de atriuire 5>% c1t i prin citire $c1nd face parte din lista
propoziiei CITE6TE%. / "reeal frecvent pe care o fac nceptorii este folosirea variailelor
neiniializate. 2vident c o expresie n care apar variaile care nu au valori nu poate fi calculat!
ea nu este definit. -eci (& 5olosi'i )ariabile (ei(i'iali.ate.
'entru a marca nceputul descrierii unui al"oritm vom folosi propoziia5
ALGORITMUL nume ESTE1
fr a avea o alt semnificaie. -e asemenea! prin cuv1ntul S-ALGORITM vom marca
sf1ritul unui al"oritm.
Al"oritmii care pot fi descrii folosind numai propoziiile prezentate mai sus se numesc
algoritmi liniari.
Ca exemplu de al"oritm liniar prezentm un al"oritm ce determin viteza v cu care a mers
un autove&icul ce a parcurs distana D n timpul .
ALGORITMUL 5678A ESTE1 . A$1 Calculea# vite#a /
. D = Di'tan(a ('pa(iul) /
. = impul- 5 = 5ite#a /
CITETE D,- . v1= 'pa(iu9timp /
FIE 51=D9-
TIPRETE 5
SFALGORITM
1.3. Algoritmi !" rami#i!a$ii
3oarte muli al"oritmi execut anumite calcule n funcie de satisfacerea unor condiii.
Aceste calcule sunt redate de 'tructura alternativ prezentat n fi"ura 1.B.1.! creia i
corespunde propoziia 'seudocod
DAC cond ATU%CI A ALTFEL " SFDAC
sau varianta redus a ei! DAC cond ATU%CI A SFDAC
folosit n cazul n care "rupul de propoziii " este vid.
Aceste propoziii redau n 'seudocod structura alternativ de calcul. 2le cer mai nt1i
verificarea condiiei scrise dup cuv1ntul DAC7. 8n caz c aceast condiie este adevrat se va
executa "rupul de propoziii A. 8n cazul n care aceast condiie este fals se va executa "rupul de
propoziii "! dac este prezent ramura ALT-EL. Gndiferent care dintre secvenele A sau " a
fost executat! se va continua cu propoziia urmtoare propoziiei DAC7.
/ "eneralizare a structurii alternative realizat de propoziia DAC7 este structura
selectiv5
SELECTEAZ i DI%TRE
v$1 A$-
v&1 A&-
% % %
vn1 An
SFSELECTEAZ
structur ec&ivalent cu urmtorul text 'seudocod5
DAC i=v$ ATU%CI A$ A:;7:
DAC i=v& ATU%CI A& A:;7:
% % %
DAC i=vn ATU%CI An SFDAC
% % %
SFDAC
SFDAC
Cu propoziiile prezentate p1n aici putem de+a descrie destui al"oritmi. Acetia se
numesc algoritmi cu ramifica(ii.
Ca exemplu vom scrie un al"oritm pentru rezolvarea ecuaiei de "radul al doilea. Am
scris mai sus specificaia acestei proleme i am precizat semnificaia variailelor respective. 'e
l1n" aceste variaile! pentru rezolvarea prolemei mai avem nevoie de dou variaile auxiliare5
delta , pentru a reine discriminantul ecuaiei9
r , pentru a reine valoarea radicalului folosit n exprimarea rdcinilor.
A+un"em uor la al"oritmul dat n continuare.

ALGORITMUL 7C<RD=6 ESTE1 . Algoritmul &1 Re#olvarea /
. ecua(iei de gradul doi /
CITETE a,!,c- . a,!,c = Coeficien(ii ecua(iei /
FIE delta1=!>!? @>a>c-
DAC deltaA+ ATU%CI ind1=+- . rdcini complexe /
r1=radical din (? delta)-
x$1=? !9(a*a)-
x&1=r9(a*a)-
ALTFEL ind1=$- . rdcini reale /
r1=radical din delta-
x$1=(?!? r)9(a*a)-
x&1=(?!*r)9(a*a)-
SFDAC
TIPRETE ind, x$,x&-
SFALGORITM
1.3.3 Algoritmi !i!li!i
8n rezolvarea multor proleme treuie s efectum aceleai calcule de mai multe ori! sau
s repetm calcule asemntoare. -e exemplu! pentru a calcula suma a dou matrice va treui s
adunm un element al primei matrice cu elementul de pe aceeai poziie din a doua matrice!
aceast adunare repet1ndu,se pentru fiecare poziie. Alte calcule treuiesc repetate n funcie de
satisfacerea unor condiii. 8n acest scop n lima+ul 'seudocod exist trei propoziii standard5
C9TTIM1, RE1ET7 i 1E/TR2.
'ropoziia C9TTIM1 are sintaxa C&TTIMP cond E'ECUT A SFC&T
i cere execuia repetat a "rupului de propoziii A! n funcie de condiia ?cond?. 7ai exact! se
evalueaz condiia ?cond?9 dac aceasta este adevrat se execut "rupul A i se revine la
evaluarea condiiei. -ac ea este fals execuia propoziiei se termin i se continu cu propoziia
care urmeaz dup S-C9T. -ac de prima dat condiia este fals "rupul A nu se va executa
niciodat! altfel se va repeta execuia "rupului de propoziii A p1n c1nd condiia va deveni fals.
-in cauz c nainte de execuia "rupului A are loc verificarea condiiei! aceast structur se mai
numete (tr"!t"r) r*+*titi,) !on-i$ionat) ant*rior. 2a reprezint structura repetitiv prezentat
n fi"ura 1.B.1.c.
Ca exemplu de al"oritm n care se folosete aceast propoziie dm al"oritmul lui 2uclid
pentru calculul celui mai mare divizor comun a dou numere.
ALGORITMUL 7uclid ESTE1 .AB1 Cel mai mare divi#or comun/
CITETE n$,n&- .Cele dou numere a cror divi#or 'e cere/
FIE d1=n$- i1=n&-
C&TTIMP i+ E'ECUT
r1=d modulo i- d1=i- i1=r
SFC&T
TIPRETE d- . d= cel mai mare divi#or comun al /
SFALGORITM . numerelor n$ i n& /
8n descrierea multor al"oritmi se nt1lnete str&ct&ra repetiti)3 co(di'io(at3 posterior5
REPET A P&% C&%D cond SFREP
structur ec&ivalent cu5 C&TTIMP not(cond) E'ECUT A SFC&T
-eci ea cere execuia necondiionat a lui A i apoi verificarea condiiei ?cond?. 0a avea
loc repetarea execuiei lui A p1n c1nd condiia devine adevrat. -eoarece condiia se verific
dup prima execuie a "rupului A aceast structur este numit (tr"!t"ra r*+*titi,) !on-i$ionat)
+o(t*rior! prima execuie a locului A fiind necondiionat.
/ alt propoziie care cere execuia repetat a unei secvene A este propoziia
PE%TRU c1=l
i
-l
f
3-p4 E'ECUT A SFPE%TRU
2a definete (tr"!t"ra r*+*titi,) +r*-*#init), c& &( (&m3r determi(at de e%ec&'ii ale "rupului
de propoziii A i este ec&ivalent cu secvena
c1=l
i
- final1=l
f
-
REPET
A
c1=c*p
P&%C&%D (cCfinal i pC+) 'au (cAfinal i pA+) SFREP
Ae oserv c! n sintaxa propoziiei 1E/TR2! pasul p este nc&is ntre paranteze drepte.
'rin aceasta indicm faptul c el este opional! put1nd s lipseasc. 8n cazul n care nu este
prezent! valoarea lui implicit este 1.
Aemnificaia propoziiei 1E/TR2 este clar. 2a cere repetarea "rupului de propoziii A
pentru toate valorile contorului c cuprinse ntre valorile expresiilor l
i
i l
f
$calculate o sin"ur dat
nainte de nceperea ciclului%! cu pasul p. Ae sunele"e c nu treuie s modificm valorile
contorului n nici o propoziie din "rupul A. -e multe ori aceste expresii sunt variaile simple!
iar unii pro"ramatori modific n A valorile acestor variaile! nclc1nd semnificaia propoziiei
1E/TR2. -eci! (& recalc&la limitele ,i (& modi5ica )ariabila de ciclare :co(tor&l; <(
i(terior&l &(ei str&ct&ri repetiti)e 1E/TR2;.
A oservm! de asemenea! c prima execuie a "rupului A este oli"atorie! aia dup
modificarea contorului verific1ndu,se condiia de continuare a execuiei lui A.
Ca exemplu! s descriem un al"oritm care "sete minimul i maximul componentelor
unui vector de numere reale. 0om nota prin ) acest vector! deci O > $x
1
! x
<
! ... ! x
n
% .
Apecificaia prolemei este urmtoarea5
DATE n,(x
i
,i=$,n)-
REZULTATE valmin,valmax-
iar semnificaia acestor variaile se nele"e din cele scrise mai sus. 'entru rezolvarea prolemei
vom examina pe r1nd cele n componente. 'entru a parcur"e cele n componente avem nevoie de
un contor care s precizeze poziia la care am a+uns. 3ie i acest contor. Por se a+un"e la
urmtorul al"oritm5
ALGORITMUL DA)D6E ESTE . Algoritmul F1 Calculul /
. valorii minime i maxime /
CITETE n,(x
i
,i=$,n)-
FIE valmin1=x
$
- valmax1=x
$
-
PE%TRU i1=&,n E'ECUT
DAC x
i
Avalmin ATU%CI valmin1=x
i
SFDAC
DAC x
i
Cvalmax ATU%CI valmax1=x
i
SFDAC
SFPE%TRU
TIPRETE valmin,valmax-
SFALGORITM
Pn rol important n claritatea textului unui al"oritm l au denumirile alese pentru
variaile. 2le treuie s reflecte semnificaia variailelor respective. -eci alege de(&miri
s&gesti)e pe(tr& )ariabile! care s reflecte semnificaia lor.
8n exemplul de mai sus denumirile valmin i valmax spun cititorului ce s,a notat prin
aceste variaile.
1.= Calc&l&l e5ect&at de &( algoritm
3ie )
$
, )
&
, %%%, )
n
! variailele ce apar n al"oritmul A. 8n orice moment al execuiei
al"oritmului! fiecare variail are o anumit valoare! sau este nc neiniializat.
0om numi stare a al"oritmului A cu variailele menionate vectorul
s > $ s
1
!s
<
!...!s
n
%
format din valorile curente ale celor n variaile ale al"oritmului.
2ste posiil ca variaila )
G
s fie nc neiniializat! deci s nu ai valoare curent! caz n
care '
G
este nedefinit! lucru notat n continuare prin semnul ntrerii (.(.
'rin executarea unei anumite instruciuni unele variaile i sc&im valoarea! deci
al"oritmul i sc&im starea.
Ae numete calc&l efectuat de al"oritmul A o secven de stri
s
*
! s
1
! s
<
! ...! s
m
unde '
+
este starea iniial cu toate variailele neiniializate! iar '
m
este starea n care se a+un"e
dup execuia ultimei propoziii din al"oritm.
1.> Ra5i(are <( pa,i s&ccesi)i
Adeseori al"oritmul de rezolvare a unei proleme este rezultatul unui proces complex! n
care se iau mai multe decizii i se precizeaz tot ceea ce iniial era neclar. /servaia este
adevrat mai ales n cazul prolemelor complicate! dar i pentru proleme mai simple n
procesul de nvm1nt. 2ste vora de un proces de detaliere pas cu pas a specificaiei prolemei!
proces denumit i proiectare descendent! sau rafinare n pai succesivi. Al"oritmul apare n mai
multe versiuni succesive! fiecare versiune fiind o detaliere a versiunii precedente. 8n versiunile
iniiale apar propoziii nestandard! clare pentru cititor! dar neprecizate prin propoziii standard.
Prmeaz ca n versiunile urmtoare s se revin asupra lor. Al"oritmul apare astfel n versiuni
succesive! tot mai complet de la o versiune la alta.
Apare aici o alt re"ul important n proiectarea al"oritmului5 am1n pe mai t1rziu
detaliile nesemnificative9 concentreaz,i atenia la deciziile importante ale momentului.
ALGORITMI
/O?I2/I GE/ERALE
Algoritm&l este conceptul fundamental al informaticii. /rice ec&ipament de calcul poate fi considerat o main
al"oritmic. 8ntr,o defini(ie aproximativ algoritmul e'te un 'et de pai care definete modul 2n care poate fi du' la
2ndeplinire o anumit 'arcin% 2xemplu de al"oritm5 al"oritmul de interpretare a unei uci muzicale $descris n
partitur%. 'entru ca o main de calcul s poat rezolva o anumit prolem! pro"ramatorul treuie mai nt1i s
staileasc un al"oritm care s conduc la efectuarea la sarcinii respective.
E.*m+l"/
Al"oritmul lui 2uclid pentru determinarea celui mai mare divizor comun $cmmdc% a < numere ntre"i pozitive.
-ate de intrare5 cele < numere ntre"i
-ate de iesire5 cmmdc
1. Ae noteaz cu A i =, cea mai mare! respectiv cea mai mic! dintre datele de intrare
<. Ae mparte A la = i se noteaz cu 4 restul mpririi
B. a. -ac 4 diferit de *! se atriuie lui A valoarea lui = i lui = valoarea lui 4. Ae revine la pasul <.
. -ac 4 este *! atunci cmmdc este =.
1robleme legate de algoritmi
-escoperirea unui al"oritm care s rezolve o prolem ec&ivaleaz n esen cu descoperirea unei soluii a
prolemei. -up descoperirea al"oritmului! pasul urmtor este ca al"oritmul respectiv s fie reprezentat ntr,o form
n care s poat fi comunicat unei maini de calcul. Al"oritmul treuie transcris din forma conceptual ntr,un set
clar de instruciuni. Aceste instruciuni treuie reprezentate ntr,un mod lipsit de ami"uitate. 8n acest domeniu!
studiile se azeaz pe cunotinele privitoare la "ramatic i lima+ i au dus la o mare varietate de sc&eme de
reprezentare a al"oritmilor $numite lima+e de pro"ramare%! azate pe diverse aordri ale procesului de pro"ramare
$numite paradi"me de pro"ramare%.
Cutarea unor al"oritmi pentru rezolvarea unor proleme din ce n ce mai complexe a avut ca urmare apariia unor
ntreri le"ate de limitele proceselor al"oritmice! cum ar fi5
Ce proleme pot fi rezolvate prin intermediul proceselor al"oritmice.
Cum treuie procedat pentru descoperirea al"oritmilor.
Cum pot fi muntite te&nicile de reprezentare i comunicare a al"oritmilor.
Cum pot fi aplicate cunotinele do1ndite n vederea oinerii unor maini al"oritmice mai performante.
Cum pot fi analizate i comparate caracteristicile diverilor al"oritmi.
DE-I/I?II 6I CARACTERISTICI
De5i(i'ii5
Auccesiunea etapelor rezolvarii unei proleme!in ordinea parcur"erii lor!prin care se prelucreaza un set de date de
intrare! in scopul otinerii unor date de iesire!se numeste al"oritmul prolemei.
Al"oritmul unei prelucrri const ntr,o secven de primitive care descrie prelucrarea.
Al"oritmul este un set ordonat de pai executaili! descrii fr ec&ivoc! care definesc un proces finit.
1ropriet3'ile 5&(dame(tale ale al"oritmilor5
1%Caracterul finit1 orice al"oritm ine proiectat se termin ntr,un numr finit de pai9
<%Caracterul unic i univer'al5 orice al"oritm treuie s rezolve toate prolemele dintr,o clas de proleme9
B%Reali#a!ilitatea5 orice al"oritm treuie s poat fi codificat ntr,un lima+ de pro"ramare9
@%Caracterul di'cret5 fiecare aciune se execut la un moment dat de timp9
Q%Caracterul determini't5 ordinea aciunilor n execuie este determinat n mod unic de rezultatele oinute la
fiecare moment de timp.
Nerespectarea acestor caracteristici "enerale conduce la oinerea de al"oritmi neperformani! posiil infinii sau
nerealizaili.
RE1RE4E/TAREA ALGORITMILOR
4eprezentarea $descrierea% unui al"oritm nu se poate face n asena unui lima+ comun celor care vor s l
nelea". -e aceea s,a stailit o mulime ine definit de primiti)e $locuri elementare care stau la aza
reprezentrii al"oritmilor%. 3iecare primitiv se caracterizeaz prin 'intax i 'emantic. Aintaxa se refer la
reprezentarea simolic a primitivei9 semantica se refer la semnificaia primitivei. 2xemplu de primitiv5 aer,din
punct de vedere sintactic este un cuv1nt format din trei simoluri $litere%9 din punct de vedere semantic este o
sustan "azoas care ncon+oar "loul pm1ntesc.
Al"oritmii se reprezint prin5
,%sc&eme lo"ice9
,% pseudocod.
Repre.e(tarea algoritmilor pri( sc$eme logice
'rimitivele utilizate n sc&emele lo"ice sunt simoluri "rafice! cu funciuni $reprezent1nd procese de calcul% ine
precizate. Aceste simoluri sunt unite prin arce orientate care indic ordinea de execuie a proceselor de calcul.
Cate"orii de simoluri5
Aimoluri de 2nceput i 'fHrit
Aimolul A#A4# desemneaz nceputul unui pro"ram sau al unui supro"ram. Aimolul A#/' desemneaz
sf1ritul unui pro"ram sau al unui supro"ram. 'rezena lor este oli"atorie.
Aemnific procese $operaii% de intrareNieire $citirea sau scrierea%
Aemnific o atriuire $modificarea valorii unei date%.
Aimolul rom este utilizat pentru decizii . Ae testeaz ndeplinirea condiiei din locul de decizie. -ac
aceast condiie este ndeplinit! se execut ACFGPN21. -ac nu! se execut ACFGPN2<. Ea un moment dat! se
execut sau ACFGPN21! sau ACFGPN2<.
Cu a+utorul acestor simoluri "rafice se poate reprezenta orice al"oritm.
Repetarea unei secvene se realizeaz prin cominarea simolurilor de decizie i de atriuire.
Atructurile repetitive oinute pot fi5 cu test iniial sau cu test final.
Str"!t"ri r*+*titi,* !" t*(t initial
Ae evalueaz condiia de test. -ac aceasta este ndeplinit! se execut ACFGPN21. Ae revine apoi i se
testeaz iar condiia. -ac este ndeplinit! se execut $se repet% ACFGPN21! .a.m.d. Aia n momentul n care
condiia nu mai este ndeplinit! se trece la execuia ACFGPN2<. Astfel! c1t timp condiia este ndeplinit! se repeat
ACFGPN21. 8n cazul n care! la prima testare a condiiei! aceasta nu este ndeplinit! se execut
ACFGPN2<. Astfel! este posiil ca ACFGPN21 s nu fie executat niciodat.
2xis i situaii n care se tie de la nceput de c1te ori se va repeta o anumit aciune. 8n aceste cazuri se
folosete tot o structur de control repetitiv cu test iniial. Ae utilizeaz un contor $numeric% pentru a ine o eviden
a numrului de execuii ale aciunii. -e c1te ori se execut aciunea! contorul este incrementat.
Str"!t"ri r*+*titi,* !" n"mar !"no(!"t -* +a(i
Ae atriuie contorului valoarea iniial . C1t timp condiia $valoarea contorului este mai mic sau e"al cu
valoarea final% este ndeplinit! se repet5
,% ACFGPN2
,% incrementare contor $se adun 1 la valoarea anterioar a contorului%.
Str"!t"ri r*+*titi,* !" t*(t #inal
Ae execut mai nt1i ACFGPN21.
Ae testeaz apoi condiia.
Ae repet ACFGPN21 c1t timp condiia este ndeplinit.
8n acest caz! corpul ciclului $ACFGPN21% este executat cel puin o dat.
Repre.e(tarea algoritmilor pri( pse&docod
'seudocodul este inspirat din lima+ele de pro"ramare! nefiind ns at1t de formalizat ca acestea. 'seudocodul
reprezint o punte de le"tur ntre lima+ul natural i lima+ele de pro"ramare. Nu exist un standard pentru
re"ulile lexicale. Eima+ul pseudocod permite comunicarea ntre oameni! i nu comunicarea om,maina $precum
lima+ele de pro"ramare%. 'seudocodul utilizeaz cuvinte c&eie $scrise cu ma+uscule suliniate% cu urmtoarele
semnificaii5
Af1rit al"oritm5 A3J4HG#
8nceput al"oritm5 8NC2'P#
Citire $introducere% date5 CG#2H#2 lista
Acriere $afiare% date5 AC4G2 lista
Atriuire5 R,
Atructura de decizie $alternativ%5 -ACI condiie
A#PNCG aciune1
AE#32E aciune<
Atructuri repetitive cu test iniial5 CJ# #G7' condiie
42'2#I aciune
Atructuri repetitive cu test final5 42'2#I aciune
CJ# #G7' condiie
sau5
42'2#I aciune
'JNI CJN- condiie
Atructuri repetitive cu numar cunoscut de pasi5 '2N#4P contor>valSini EA valSfin [PAS]
42'2#I aciune9
1. ALGORITM DE-I/I?IE, RE1RE4E/TARE, CLASI-ICARE.
1.1 De5i(i'ie
Al"oritmul poate fi definit ca o succesiunea finita de pai care treuie parcurs pentru a oine! pornind de
la datele iniiale $numite i date de intrare% informaiile pe care dorim s le determinm prin calcul $date de ieire%.
Al"oritmul se oine prin completarea modelului matematic cu operaiile necesare rezolvrii complete a
prolemei $introducerea datelor! verificarea corectitudinii datelor de intrare! verificarea altor condiii impuse de
modelul matematic i necesare parcur"erii acestuia! afiarea rezultatelor! apelarea unor funcii predefinite n
lima+ul de pro"ramare ales etc.%.
1.# Etapele alc3t&irii algoritm&l&i de re.ol)are a &(ei probleme
'entru o alctuire corect ma al"oritmului de rezolvare a unei proleme este necesar s se parcur" urmtoarele
etape5
, nele"erea textului prolemei9
, precizarea mrimilor $datelor% care sunt cunoscute $date iniiale sau
date de intrare%9
, precizarea mrimilor cerute!a cror valoare se calculeaz $date de
ieire%9
, stailirea relaiei$lor% de calcul pentru fiecare mrime cutat!eventual
i pentru mrimi intermediare$modelul matematic%9
, ale"erea identificatorului$numelui% pentru fiecare variail care intervine n modelul matematic9
, reprezentarea al"oritmului $pseudocod i or"ani"ram%9
, verificarea al"oritmului prin parcur"erea taelului de verificare i
compararea rezultatelor cu valorile oinute prin rezolvarea direct a prolemei.
1.0 Repre.e(tarea algoritmilor
7odalitile de codificare a al"oritmilor sunt diverse. Cele mai folosite dintre acestea sunt5pseudocodul i sc&ema
lo"ic.
a. 1se&docod&l este o reprezentare semantic a operaiilor. Aceast
form este cea mai apropiat de programul de calcul.
b. Sc$ema logic3 :orga(igrama; este reprezentarea al"oritmului su
forma unei succesiuni de simoluri "rafice interconectate.3iecare operaie este indicat printr,un simol "rafic
distinct.
3acem oservaia c operaia de codificare a al"oritmilor nu este nc complet standardizat. -e aceea n unele cri
s,ar putea "si alte variante dec1t acelea folosite n cadrul acestui referat.
1.= Clasi5icarea algoritmilor
/r"anizarea unui al"oritm este determinat de5 prolema de rezolvat! modelul matematic ales! lima+ul de
pro"ramare folosit pentru implementare. Cea mai utilizat form de alctuire este aceea a evidenierii n cadrul
al"oritmului (&mai a unor locuri de operaii tip. Aceste se numesc structuri 5&(dame(tale :tip;i sunt5
, structura secvenial9
, structura de decizie9
, structura repetitiv $cu cele trei variante5 contorizare! test anterior!
test posterior %.
Al"oritmii or"anizai (&mai su forma structurilor tip interconectate se
numesc algoritmi str&ct&ra'i. -eoarece n toate lima+ele de pro"ramare exist instruciuni care codific direct
structurile tip menionate mai sus! n prezent pentru alctuirea pro"ramelor de calcul se folosesc numai al"oritmi
structurai.
#. CODI-ICAREA ALGORITMILOR
<.1. Str&ct&ra sec)e('ial3 include operaiile de5
, citirea date de intrare9
, calculul valorii uneiNunor expresii i atriuirea valorii uneiNunor variaile9
, afiarea rezultatelor9
8n fi"ura 1 se indic reprezentarea unui al"oritm secvenial su forma de pseudocod $1.a% i sc&em lo"ic $1.%
4eprezentarea unui al"oritm secvenial
E%. 1.A,a depus la o anc suma de ! lei pe termen de ) luni. Cunosc1nd c do1nda anual oferit de anc este de
<BT! s se determine suma aflat n cont la sf1ritul termenului de depunere.
2tapele rezolvrii prolemei
a) Definirea datelor de intrare9ieire
Date de intrare 1
, suma iniial de ani ! [n lei]
, do1nda anual d!><BT
, termenul de depunere n>) luni
Date de ieire1
, Auma final n cont !f [n mii lei]
!) Dodelul matematic
, do1nda lunar
T
1<
<B
= dl
, suma n cont dup prima lun

+ = + =
1**
1
1**
1
dl
!
dl
! ! '
, suma final dup n luni este oinut din relaia anterioar! consider1nd
creterea lunar a valorii aflate n cont
n
dl
! !f

+ =
1**
1
1***
1
Tem3 A se demonstreze formula de calcul a lui !f%
c) Repre#entarea algoritmului1
Codificarea al"oritmului su form de pro"ram de calcul i execuia pro"ramului vor fi prezentate n lucrarea de
laorator nr. @
Obser)a'ii
1. Ae oserv c n etapele a i se ale" identificatorii mrimilor cu
care se opereaz n rezolvarea prolemei$!,d!!nC%.
<. 2ste de dorit ca aceste nume s fie scrise numai cu litere mici.
B. 8n etapele a! se precizeaz care sunt mrimile cu care opereaz
pro"ramul5
, datele iniiale$!,d!,n%
, datele finale$!f%
, datele intermediare! dac este necesar$dl,'1%
-e asemenea se precizeaz care sunt mrimile 5
, constante
, variaile
Constantele pot fi introduse direct prin valorile lor$1<!1**!etc%sau printr,un identificator propriu$d!=&B%.
0ariailele se definesc i se folosesc n alctuirea expresiilor de calcul numai prin intermediul
identificatorilor$!,n,dl%.
@. Ale"erea valorilor datelor iniiale i alctuirea expresiilor de calcul implic i precizarea unitilor de msur.
Q. Ae oserv c alctuirea al"oritmului este condiionat n primul r1nd de posiilitatea alctuirii unor
relaii de calcul pentru mrimile care se determin $variaile intermediare sau de ieire%
E%. #.
3ie z1>a1L1i! z<>a<L<i dou numere complexe. Ae cere s se calculeze z>z1Mz<.
2tapele rezolvrii prolemei
a) Definirea datelor de intrare9ieire
Date de intrare 1
, a1!1!a<!<
Date de ieire1
, 4ezultatul operatiei matematice z>z1Mz<
!) Dodelul matematic
z1>a1L1i! z<>a<L<i
z>z1Mz<>zreLzimi @3orma "eneral a unui numr complex. 'rin nmulirea a dou numere complexe se oine tot un
numr complex.
z>z1Mz<>$a1L1i;A:a<L<i;8a1a<La1<iLa<1iL1<iMi>a1a<La1<iLa<1i,1<> $a1a<, 1<%L$a1< L a<1%i
Gdentificm!
.re8a1a#! b1b#
.im8 a1b# B a#b1
c) Repre#entarea algoritmului1
7ai nt1i se ale" variailele pentru fiecare data $de intrare! ieire sau auxiliar%5
Date Ide(ti5icatori de
)ariabile coresp&(.3tori
a1 a1
1 1
a< a<
< <
zre zre
zim zim
a!el de verificare1
I(str&c'i&(i 1as
Citete a1!1!a<!< a1>< 1>1 a<>Q!<>,1
Afieaz a1!1!a<!< < 1 Q ,1
zre>a1a<,1< zre><MQ,1M$,1%>11
zim>a1<L a<1 zim><M$,1%LQM1>,<LQ>B
Afieaz zreULiUzim 11LiB
STO1 STO1
Obser)a'ii
1. Ae oserv c n etapele a i se ale" identificatorii mrimilor cu care se opereaz n rezolvarea prolemei$a1!1!a<!<!zre!zim...%.
<. 2ste de dorit ca aceste nume s fie scrise numai cu litere mici. Ae oserv c n reprezentarea al"oritmului nu s,au folosit indici pentru
variaile$cu ar fi a1!1!a<!<!zre!zim%. 7otivul este c n pro"ramarea reala n orice lima+ $C! 'ascal! A-A! 'rolo"! etc%! nu se pot folosi indici
pentru variaile. Ca atare este recomandat ca i n alctuirea al"oritmilor$sc&eme lo"ice! pseudocod% s nu se foloseasc astfel de notaii pentru a
nu crea confuzii c1nd se vor scrie pro"ramele! mai ales de ctre nceptori.
B. 8n etapele a! se precizeaz care sunt mrimile cu care opereaz pro"ramul5
, datele iniiale$a1!1!a<!<%
, datele finale$zre!zim%
@. Ae oserv ca la afiarea rezultatului se scrie VLiU. 'entru calculator i nu exist$nu se poate face radical dintr,un numr ne"ativ%.
#extul dintre "&ilimele va fi afisat pe ecran exact asa cum a fost scris. 'resupun1nd ca zre>@ si zim>< pe ecran va aprea mesa+ul5
@Li<
Q. Concluzie 5 variailele care primesc valori nu se afiseaz ntre "&ilimele! pe c1nd mesa+ele care se doresc a fi afiate pe ecran se
scriu ntre "&ilimele.

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