Sunteți pe pagina 1din 6

Suport de curs

Informatica clasa a IX-a

Cap. 3 METODE DE REPREZE T!RE ! !"#ORITMI"OR !. Sc$ema lo%ic&


Schema logic = metod grafic de descriere a algoritmului Simboluri folosite: 1). 2). ).
START

marcheaz nceputul unui algoritm marcheaz sfritul unui algoritm pentru citirea datelor de intrare pentru afiarea rezultatelor pentru opera!ii de atribuire

STOP

a). citirea datelor de intrare


citeste var

" citete #aloarea #ariabilei cu numele precizat $#ariabila i schimb #aloarea curent)

%&emplu:
citeste x

'=1( $nainte) 1(( $de la tastatur) '=1(( $dup citire)

)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

1+* ,- $n ordine* de la tastatur)

a=1+ * b=,- $dup citire) b). afiarea rezultatelor


scrie expresie

" afieaz la ieire $monitor) #aloarea e&presiei $#ariabil* e&presia aritmetic sau logic* mesa.)

%&emplu:
scrie x

'=1( $nainte) " afieaz #aloarea #ariabilei & $#aloarea ei nu se modific)

'=1( $dup ) %&emplu:


scrie

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 afieaz mesa.ul 0eroare1 $constant tip ir de caractere)

Suport de curs %&emplu: s=1((* p= "2+ $nainte)


scrie s,p

Informatica clasa a IX-a

"

afieaz $n ordine) #alorile 1(( i "2+ 2 #ariabilele s* p nu se modific

s=1(( * p= "2+ $dup ) c). opera!ii de atribuire


variabilexpresie

" se e#alueaz e&presia din dreapta " #aloarea ob!inut se atribuie #ariabilei din stnga $de#ine noua ei #aloare curent)

%&emplu: i=- $nainte)


ii+1

" opera!ia de incrementare i=3 $dup )

%&emplu: 4=3 $nainte)


JJ-2

" opera!ia de decrementare

4=/ $dup ) %&emplu:


S0

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

%&emplu: S se determine minimul a dou #alori reale a i b. START


START

citeste a,b CITESTE 6 A, B

#A
%i& a

a$b

A0

"U "U %i& b #A B=0

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

SCRIE: ECUATIE "E#ETERM

ST P

Suport de curs

Informatica clasa a IX-a

).

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

1). :ecizia cu 2 ramuri

Suport de curs Sinta&a: dac& condi1ie atunci sec0en1a / altfel sec0en1a 5 sf6r2it dac&

Informatica clasa a IX-a

Schema logic echi#alent: !


Co& '(

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

Schema logic echi#alent nu are.

)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

Informatica clasa a IX-a

Schema logic echi#alent:


! =

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& '(

Schema logic echi#alent:

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).

). =iclul contor Sinta&a: pentru 0 * 0i , 0f , pas e4ecut& sec0enta

Schema logic echi#alent:

Suport de curs

Informatica clasa a IX-a

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).

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