Sunteți pe pagina 1din 8

Algoritmi reprezentai prin

scheme logice

Maximul a trei numere (varianta 1)

O prim variant de
rezolvare a problemei
gsirii celui mai mare
dintre 3 numere citite a,
b i c este algoritmul
reprezentat prin schema
logic alturat
Se compar mai nti
primele 2 numere (a i b)
i se continu, n funcie
de valoarea de adevr a
expresiei a>b pe ramura
corespunztoare: se
compar cel mai mare
dintre a i b cu c

Maximul a trei numere (varianta 2)

O alt variant de rezolvare este cea din


schema alturat;
Se folosete o variabil suplimentar
max, n care se pstreaz cel mai mare
numr de pn la momentul respectiv;
Avantajul cel mai important este
reducerea riscurilor unei erori de
programare;
n locul unui bloc de decizie complex, care
avea la rndul su subordonate alte dou
blocuri, schema alturate folosete dou
blocuri de decizie simple;
Acesta e un principiu pe care l vom aplica
i n viitor: preferm s rezolvm mai
multe subprobleme simple n locul uneia
complicate.

Maximul a trei numere (varianta 2)

Schema logic alturat seamn foarte bine


cu cea anterioar;
De data aceasta folosim ns o singur variabil
a, n care reinem pe rnd valorile tuturor celor
3 numere citite (citirea datelor de intrare se
face n 3 pai);
Principiul de funcionare este asemntor cu cel
de la Ping Pong (nvingtorul rmne la mas);
Variabila max corespunde juctorului care se
afl deja la mas, care este cel mai bun dintre
cei care au jucat pn acum;
Pe rnd vin ali juctori (CITETE a) care se
confrunt cu cel aflat deja la mas;
Dac l nving (a>max), i iau locul (max a);
Un avantaj important al acestei versiuni este
acela c poate fi uor adaptat pentru a calcula
maximul a oricte numere citite.

Forma general a unui algoritm


care prelucreaz n numere citite

Schema alturat
corespunde unui
algoritm general de
prelucrare a unui ir de n
numere;
Mai precis, se citete mai
nti n, reprezentnd
lungimea irului
(numrul elementelor
acestuia), iar apoi, n
cadrul buclei repetitive,
cte un element, a, al
irului, care este
prelucrat imediat dup
citire (prelucrarea difer
de la o problem la alta).

Algoritm pentru calculul maximului


a n numere (n oarecare, citit)

Algoritmul alturat citete n i apoi n


numere, care sunt reinute pe rnd
n variabila a i determin maximul
lor;
De fapt, pe parcursul rulrii
algoritmului semnificaia valorii
reinute de n este cte numere mai
avem de citit i prelucrat;
Dup citirea i prelucrarea fiecrui
numr, n scade cu 1;
Principiul de funcionare este din nou
nvingtorul rmne la mas;
Algoritmul combin ideile slide-urilor
precedente: respect ablonul
pentru prelucrarea a n numere, iar
fiecare numr este tratat la fel ca n
cazul determinrii maximului a 3
numere (e comparat cu maximul de
pn la acel moment i n cazul n
care e mai mare ca acesta, i ia
locul).

Algoritm pentru calculul sumei a n


numere (n oarecare, citit)

Un alt exemplu de
prelucrare a unui ir de
n numere (cu n citit
nainte) este calculul
sumei elementelor
irului;
Schema logic
alturat difer de cea
pentru determinarea
maximului doar n
ceea ce privete
prelucrarea termenului
curent a.

Algoritm pentru calculul sumei a n


numere varianta 2

O variant mai simpl


de rezolvare a
problemei anterioare
se bazeaz pe faptul
c 0 este element
neutru pentru
adunare;
Dac iniializm s cu 0,
atunci putem
introduce prelucrarea
primului element al
irului n bucla
repetitiv, ca n
schema alturat.

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