Documente Academic
Documente Profesional
Documente Cultură
marcheaz nceputul unui algoritm marcheaz sfritul unui algoritm pentru citirea datelor de intrare pentru afiarea rezultatelor pentru opera!ii de atribuire
STOP
" citete #aloarea #ariabilei cu numele precizat $#ariabila i schimb #aloarea curent)
%&emplu:
citeste x
)bs.: putem citi simultan #alori pentru mai multe #ariabile $#alorile se atribuie* n ordine* #ariabilelor din list* care i modific #aloarea curent) a=( * b="+ $nainte)
citeste a,b
" afieaz la ieire $monitor) #aloarea e&presiei $#ariabil* e&presia aritmetic sau logic* mesa.)
%&emplu:
scrie x
a=2 * b=/ $nainte) " afieaz " $se e#alueaz e&presia i #aloarea ob!inut se afieaz* a i b - b/a nu se modifica) a=2 * b=/ $dup )
%&emplu:
scrie eroare
"
" se e#alueaz e&presia din dreapta " #aloarea ob!inut se atribuie #ariabilei din stnga $de#ine noua ei #aloare curent)
S=" 2((( $nainte) " opera!ia de ini!ializare S=( $dup ) &=1((* a=2* b=/ $nainte) " opera!ia de calcul $numai #ariabila din stnga i schimb #aloarea) &=" * a=2* b=/ $dup ) " se e#alueaz condi!ia care este o e&presie logic dac condi!ia este ade#rat* e&ecu!ia algoritmului continu pe ramura 5* dac este fals* pe ramura 7
%&emplu:
x= - b/a
,).
5
condi ie
#A
%i& a
a$b
A0
X=-B/A
scrie %i&
SCRIE: SCRIE: ECUATIE X ST P IMP SIBI!A %&emplu: S se rezol#e ecua!ia !'X()*+, 5*7 R
ST P
Suport de curs
).
Pseudocodul
).
"IM)!- PSE.DOCOD
8odalitatea de descriere a algoritmului folosind un set de instruc!iuni cu sinta& i efect bine precizat. Se folosesc structuri pentru controlul e&ecu!iei programelor i anume: Structura sec#en!ial $liniar) Structura alternati# $decizional) Structura repetiti# $iterati#) )/. Structura sec0en1ial& Se implementeaz cu instruc!iunile de 1). 9nstruc!iunea de citire Sinta&a: cite2te 0aria3il& %fect: acelai ca la scheme logice. 2). 9nstruc!iunea de scriere Sinta&a: scrie e4presie %fect: acelai ca la scheme logice. ). 9nstruc!iunea de atribuire Sinta&a: 0aria3il& e4presie %fect: acelai ca la scheme logice. )5. Structura alternati0& decizia cu 2 ramuri Se implementeaz cu instruc!iunile de decizia simpl $cu o ramur #id) decizia generalizat $multipl) citire scriere atribuire
Suport de curs Sinta&a: dac& condi1ie atunci sec0en1a / altfel sec0en1a 5 sf6r2it dac&
Se)ve&*a,
Se)ve&*a+
%fect: se e#alueaz condi!ia* care este o e&presie logic2 dac condi!ia este ade#rat se e&ecut sec#en!a 1 de instruc!iuni $orice instr.)* dac este fals* se e&ecut sec#en!a 2 2 indiferent de sec#en!a e&ecutat $una din 2 posibile) dup ncheierea instruc!iunii se trece la urmtoarea instruc!iune din algoritm. 2). :ecizia simpl $cu o ramur #id) Sinta&a: dac& condi1ie atunci sec0en1a sf6r2it dac& Schema logic echi#alent: !
Co& '(
Se)ve&*a %fect: se e#alueaz condi!ia* care este o e&presie logic2 dac condi!ia este ade#rat se e&ecut sec#en!a de instruc!iuni $orice instr.)* dac este fals* nu se e&ecut nimic2 se trece la urmtoarea instruc!iune din algoritm. ). :ecizia generalizat $multipl) Sinta&a: ca7uri selector ca7/ 8 sec0en1a/ ca75 8 sec0en1a 5 ................ ca7n 8 sec0en1a n 9altfel sec0en1a n(/: op1ional
)bser#a!ii: selector este o #ariabil sau o e&presie de tip ordinal $ntreg sau caracter)2 caz i * cu i = 1*n * sunt constante cazuri i reprezint #alori pe care le poate lua selectorul2 sec#en!a i* cu i = 1*n * sunt sec#en!e de instruc!iuni pseudocod. %fect: se e#alueaz selectorul i se compar* pe rnd* cu constantele caz i2 se e&ecut acea sec#en! pentru care selector = caz i2 dac selector ; caz i $i=1*n) atunci* dac e&ist ramura altfel* se e&ecut sec#en!a n<1* n caz contrar e&ecu!ia instruc!iunii cazuri se ncheie fr nici un efect. )5. Structura repetiti0& ;iterati0&< Se implementeaz cu instruc!iunile de ciclul cu test ini!ial ciclul cu test final ciclul cu contor
Suport de curs 1). ciclul cu test ini!ial Sinta&a: c6t timp condi1ie e4ecut& sec0en1a
Co& '(
Se)ve&*a
corpul ciclului
%fect: se e#alueaz condi!ia* care este o e&presie logic2 dac condi!ia este ade#rat se e&ecut sec#en!a de instruc!iuni $corpul ciclului)* apoi se testeaz din nou condi!ia2 ct timp condi!ia este ade#rat se e&ecut n mod repetat sec#en!a de instruc!iuni $orice instruc!iune pseudocod)2 cnd condi!ia este fals* instruc!iunea se ncheie i se trece mai departe. )bser#a!ii: este un ciclu cu test ini!ial pentru c mai nti se #erific condi!ia i apoi* e#entual* se e&ecut sec#en!a2 este un ciclu cu numr necunoscut de pai* numrul minim posibil de e&ecu!ii pentru corpul ciclului este ( $cnd din start condi!ia este fals)2 pentru a e#ita buclarea infinit* corpul ciclului trebuie s con!in cel pu!in o instruc!iune care s asigure ieirea din bucl $la un moment dat condi!ia s de#in fals). 2). ciclul cu test final Sinta&a: repet& sec0en1a p6n& c6nd condi1ie 6
Co& '(
Se)ve&*a 5
corpul ciclului
%fect: se e&ecut sec#en!a $orice instruc!iune pseudocod) care formeaz corpul ciclului* apoi se #erific condi!ia* care este o e&presie logic2 dac condi!ia este fals* se e&ecut din nou sec#en!a* s.a.m.d.2 corpul ciclului se e&ecut n mod repetat pn cnd condi!ia de#ine ade#rat $adic ct timp este fals). )bser#a!ii: este un ciclu cu test final pentru c mai nti se e&ecut sec#en!a i apoi se #erific condi!ia2 este un ciclu cu numr necunoscut de pai* numrul minim de e&ecu!ii asigurat pentru sec#en! este 1 $cnd din start condi!ia este ade#rat)2 pentru a e#ita buclarea infinit* corpul ciclului trebuie s con!in cel pu!in o instruc!iune care s asigure ieirea din bucl $la un moment dat condi!ia s de#in ade#rat).
Suport de curs
v vi
5
-$= -. /=
Se)ve&*a v v0pas
/ corpul ciclului
modificare contor
)bser#a!ii: 0 = #ariabila contor $de tip ntreg sau caracter)2 0i = #aloarea ini!ial de la care ncepe numrarea2 0f = #aloarea final la care se oprete numrarea2 pas = din ct n ct se numr $pasul contorului).
0i , 0f i pas sunt constante* #ariabile sau e&presii de acelai tip cu 0. :ac a). #i >= #f i pas ?( " contor cresctor b). #i ?= #f i pas>( " contor descresctor %fect: se ncarc #ariabila contor cu #aloarea ini!ial de la care ncepe numrtoarea $ 0i)2 ct timp nu s"a depit #aloarea final 0f la care se oprete numrarea $adic 0i >* 0f pentru un contor cresctor* sau 0i ?* 0f pentru un contor descresctor) se e&ecut sec#en!a care formeaz corpul ciclului i se modific #ariabila contor 0 cu #aloarea pasului $crete sau scade cu #aloarea pas)2 cnd #aloarea final 0f este depit* instruc!iunea se ncheie. )bser#a!ii: " este un ciclu cu numr cunoscut de pai: nr pa2i * pas
0f - 0i
(/
nu se recomand modificarea #ariabilei contor 0 n corpul ciclului deoarece ea este modificat implicit de ctre instruc!iune cu #aloarea pasului pas 2 modificarea e&plicit a lui 0 duce la comportri impre#izibile ale instruc!iunii. pentru i= 1* 1( e&ecut SS<1 i i"1 S= 1<1<1... $de o infinitate de ori)
%&emplu:
" dac pas lipsete din sinta& se consider c pas = 1 $#ezi mai sus).