Sunteți pe pagina 1din 30

ALGORITMI, SCHEME

LOGICE ȘI PSEUDOCODURI
DEFINIȚIE – Calculatorul numeric
 Ele sunt „instalaţii complexe, capabile de a efectua
automat, cu rapiditate, precizie şi siguranţă un
număr foarte mare de operaţii cu caracter
intelectual, care implică […] prelucrarea unor
cantităţi însemnate de valori numerice
 după reguli bine stabilite şi într-o succesiune
prevăzută anterior“

 (Petre Dimo, Programarea în Fortran, Bucureşti,


Editura Tehnică, 1971).
Noțiunea de algoritm
• un set de pași care definește modul în care poate fi
dusă la îndeplinire o anumită sarcină.

• o metodă sau o procedură de calcul, alcătuită din pașii


elementari, necesari pentru rezolvarea unei probleme
sau categorii de probleme .

• un tipar de gândire necesar pentru rezolvarea unei


probleme într-un număr finit de pași.
Definițiile voastre – brainstorming
• Un ansablu de calcul de prelucrare a informatiei bazat
pe o intrare a informatiilor si o iesire-rezultat pe o
structura bine definita
• Un set de reguli care conduc la rezolvarea unor
probleme
• O modalitate de calcul prin care se rezolva o problema
printr-un numar finit de pasi
• O metoda de calcul care cuprinde anumite reguli
necesare pentru rezolvarea unei probleme
DEFINIȚIE – ALGORITM:

• Un set finit de pași executabili, care


soluționează o clasă de probleme.

• Cuvântul algoritm

• provine de la numele matematicianului arab, care a


trăit în sec. IX, Mohammed-Musa al-Khowarizmi ale
cărui lucrări au fost traduse în latină sub numele de
Algoritmus.
Proprietățile fundamentale ale
algoritmilor
• Caracterul finit: orice algoritm bine proiectat se termină
într-un număr finit de pași;
• Claritatea : algoritmul trebuie descris clar, fără ambiguități
• Generalitatea: orice algoritm trebuie sa rezolve toate
problemele dintr-o clasa de probleme;
• Completitudinea: presupune tratarea cazurilor speciale, a
excepțiilor unei probleme.
• Realizabilitatea: orice algoritm trebuie sa poată fi codificat
într-un limbaj de programare;
• Eficiența - se referă la timpul de execuție (în care sunt
folosite resursele calculatorului: memorie, procesor) și la
spațiul de memorie utilizat. Un algoritm este cu atât mai
eficient cu cât spațiul de memorie utilizat este mai mic și
numărul de operații mai reduse.
Exemplu de algoritm
• Pașii de calcul ai mediei artimetice a două numere sunt:

• 1 -start;

• 2 -citeşte primul număr;

• 3 -citeşte al doilea număr;

• 4 -calculează suma lor;

• 5 - împarte rezultatul la 2;

• 6 -afişează rezultatul calculat;

• 7 -stop.
Etapele rezolvării unei probleme
• stabilirea cerințelor problemei

• stabilirea datelor de intrare și a datelor de ieșire

• stabilirea unui raționament general de rezolvare a


problemei
• reprezentarea algoritmului problemei într-o formă
simplă și clară
• verificarea raționamentului pentru valori concrete
implementarea algoritmului într-un limbaj de
programare
Moduri de exprimare a algoritmilor
• Limbaj natural
 fraze coerente în limba română care permit
obținerea unei soluții pentru o problemă dată.
• Scheme logice
 diagrame de blocuri

• Pseudocod
 Propoziții scurte
 cuvinte cheie predefinite
 exprimate în engleză sau română
Schemele logice

• Schemele logice sunt notaţii grafice formate


din blocuri legate între ele prin săgeţi
• O schemă logică descrie grafic paşii unui
algoritm
• Totodată ea specifică prelucrările care se
execută asupra datelor
Operații de bază – blocurile
• Blocul de start
• Blocul de stop
• Blocul de citire
• Blocul de scriere
• Blocul de atribuire
• Blocul de decizie
Datele folosite în schemele logice
Variabilele:
• sunt zone de memorie care își schimbă valoarea și care
se caracterizează printr-un nume
• numele poate fi format dintr-o înșiruire de:
• Litere mici
• Litere mari
• Cifre
• Semne (ex.: „_”)

• numele unei variabile începe în mod obligatoriu cu


literă
Orientarea blocurilor

• “Curg” pe pagină de sus în jos


• Se dezvoltă arborescent
• Sunt legate între ele prin săgeți directionale
• Conectori de pagină
Leagă blocuri aflate pe aceeași foaie de hârtie
Cerculețe cu numere în ele
Blocul de start

• Este unic în cadrul unei scheme logice

• Reprezintă punctul de pornire al schemei

• Are forma ovală

• Scrie în el cuvântul predefinit start


START
Blocul de stop
• Este unic în cadrul unei scheme logice

• Trebuie atins într-un număr finit de pași

STOP
Blocul de intrare
• se mai numește și bloc de citire

• Oprește execuția unui program

• Citește de la tastatură valori pe care le stochează în


variabile
• tastatura–dispozitiv de intrare

• este simbolizat printr-un paralelipiped sau un trapez


cu baza mare sus
Citește: listă Listă
variabile variabile
Blocul de intrare
• Tipuri de variabile ce pot fi citite:

• Numere întregi

• 1, 77, 25

• Numere reale

• 1.5, 6.7

• Șiruri de caractere

• “am luat examenul la SAS cu nota”


Blocul de ieșire
• Se mai numește și bloc de scriere

• Are ca efect afișarea valorilor unor variabile pe ecran

• Ecranul-dispozitiv de ieșire

• Reprezentat printr-un paralelipiped sau un trapez cu


baza mare în jos

Scrie: Listă Listă


variabile variabile
Blocul de atribuire

• are rolul de a da valori noi unor variabile

• valorile anterioare ale acelor variabile se vor pierde

• unele atribuiri se pot folosi de valorile “vechi” ale


variabilei ce primeşte noua valoare
• Ex: i=i+1

• Este simbolizat prin dreptunghi


Variabilă=expresie
Blocul de decizie

• din punct de vedere grafic este reprezentat printr-un


romb
• din el pot ieşi în orice direcţii două săgeţi
corespunzătoare celor două căi de execuţie a
algoritmului

Condiție
Blocul de decizie
• are rolul de a ramifica cursul de
execuţie ale unui algoritm
• algoritmul se va executa după acest bloc
doar pe una din ramurile sale
• fie pe ramura cu DA

• fie pe ramura cu NU

• decizia de a alege o ramură sau pe cealaltă se


face pe baza evaluării condiţiei din bloc
Structuri de control

• Secvența prelucrări

• Selecția
• Ciclul cu test inițial
• Ciclul cu test final
• Ciclul cu contor
SELECȚIA CU O SINGURĂ SECVENȚĂ

Condiție

Secvență
Selecția
• are rolul de a selecta o secvenţă din două
pentru execuţie în funcţie de valoarea
condiţiei
Conţine:
• un bloc de selecţie

• cele două secvenţe ce se execută atunci cand


condiţia evaluată este adevărată respectiv
falsă
Condiție

Secvența
Secvența 1 2
CICLUL CU TEST INIȚIAL
• este formată dintr-o
condiţie
secvenţă
conectate ca în figură
• Utilizat în cazul în care rezolvarea trebuie să
răspundă unei întrebari, astfel încât să putem alege
traseul logic ce trebuie urmat
DA
Condiție

Secvență
FUNCȚIONARE (1)
• cât timp condiția este adevărată
secvența se va executa în mod repetat

• SECVENȚA reprezintă un șir ordonat de


operații de bază
FUNCȚIONARE (2)

• dacă condiţia este falsă la prima


trecere prin blocul decizional
• atunci secvenţa nu va ajunge să fie executată
niciodată

• dacă condiţia este tot timpul adevărată


• atunci algoritmul se va bloca într-o buclă infinită,
fără a mai putea ajunge vreodată la blocul de stop
Suma a două numere
START

Citește a

Citește b

S=a+b

scrie suma

STOP
Aria unui dreptunghi
start

Citește
lungimea

Citește
lățimea

Aria = l*L

Scrie aria

stop
START

CITEȘTE criterii de
eligibilitate: barem =
141,5 lei
BIANUAL
selecție CITEȘTE venitul
fiecărui membru
al familiei

CALCULEAZĂ
venitul/membru de
familie

Afișează
DA DACĂ venitul < // >
decât BAREM
ELIGIBIL ATUNCI

NU

Afișează NEELIGIBIL

STOP

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