6
ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea solutiei unei probleme. Proprietati: Finitate: orice algoritm trebuie sa rezolve problema într-un numar finit de pasi; Claritatea : algoritmul trebuie descris clar, fara ambiguitati Universalitate: orice algoritm trebuie sa rezolve toate problemele dintr-o clasa de probleme; Succesiunea bine determinata a pasilor Realizabilitatea: orice algoritm trebuie sa poata fi codificat într-un limbaj de programare; Eficienta- se refera la timpul de executie si la spatiul de memorie utilizat. ETAPELE REZOLVARII UNEI PROBLEME Orice prelucrare automata a informatiilor presupune definirea urmatorului lant: Intrari ————– Prelucrari ——————— Iesiri Astfel pentru rezolvarea unei probleme se vor parcurge urmatoarele etape: 1.Analiza problemei Presupune determinarea: – datelor de intrare si de iesire – metodei de rezolvare Exemplu: ecuatia de gr I ax=b Datele de intrare sunt coeficientii ecuatiei a si b, data de iesire va fi solutia ecuatiei x iar metoda de rezolvare este metoda matematica de rezolvare de rezolvare a ecuatiilor de gr I. 2.Elaborarea algoritmului de rezolvare Presupune scrierea algoritmului in limbajul pseudocod. 3.Transcrierea algoritmului intr-un limbaj de programare 4.Testarea algoritmului Presupune determinarea erorilor care pot fi erori de editare sau erori privind algoritmul de rezolvare. Pentru testare se vor folosi mai multe seturi de date. Algoritmul de rezolvare a ecuatiei ax=b Pas 1.Inceput Pas 2.Comunica valorile pentru a si b. Pas 3.Compara a=0. daca este adevarat executa pasul 4. altfel executa pasul 7. Pas 4.Compara b=0.daca este adevarat executa pasul 5, altfel executa pasul 6. Pas 5.Comunica mesajul “Ecuatia are o infinitate de solutii”,.Mergi la pasul 9. Pas 6.Comunica mesajul “Ecuatia nu are solutii”,.Mergi la pasul 9. Pas 7.Calculeaza x=b/a. Pas 8.Comunica valoarea lui x. Pas 9.Terminat.

ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

Embed Size (px)

Citation preview

Page 1: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

ALGORITMI

DEFINITII SI CARACTERISTICI

Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea solutiei unei probleme.

Proprietati:

Finitate: orice algoritm trebuie sa rezolve problema într-un numar finit de pasi;

Claritatea : algoritmul trebuie descris clar, fara ambiguitati Universalitate: orice algoritm trebuie sa rezolve toate problemele dintr-o clasa de

probleme; Succesiunea bine determinata a pasilor Realizabilitatea: orice algoritm trebuie sa poata fi codificat într-un limbaj de programare; Eficienta- se refera la timpul de executie si la spatiul de memorie utilizat.

ETAPELE REZOLVARII UNEI PROBLEME

Orice prelucrare automata a informatiilor presupune definirea urmatorului lant:

Intrari ————– Prelucrari ——————— Iesiri

Astfel pentru rezolvarea unei probleme se vor parcurge urmatoarele etape:

1.Analiza problemei Presupune determinarea: – datelor de intrare si de iesire – metodei de rezolvare

Exemplu: ecuatia de gr I ax=b

Datele de intrare sunt coeficientii ecuatiei a si b, data de iesire va fi solutia ecuatiei x iar metoda de rezolvare este metoda matematica de rezolvare de rezolvare a ecuatiilor de gr I.

2.Elaborarea algoritmului de rezolvare Presupune scrierea algoritmului in limbajul pseudocod.

3.Transcrierea algoritmului intr-un limbaj de programare

4.Testarea algoritmului Presupune determinarea erorilor care pot fi erori de editare sau erori privind algoritmul de rezolvare. Pentru testare se vor folosi mai multe seturi de date.

Algoritmul de rezolvare a ecuatiei ax=b

Pas 1.Inceput Pas 2.Comunica valorile pentru a si b. Pas 3.Compara a=0. daca este adevarat executa pasul 4. altfel executa pasul 7. Pas 4.Compara b=0.daca este adevarat executa pasul 5, altfel executa pasul 6. Pas 5.Comunica mesajul “Ecuatia are o infinitate de solutii”,.Mergi la pasul 9. Pas 6.Comunica mesajul “Ecuatia nu are solutii”,.Mergi la pasul 9. Pas 7.Calculeaza x=b/a. Pas 8.Comunica valoarea lui x. Pas 9.Terminat.

Page 2: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

DATE

Data este un model de reprezentare a informatiei, accesibil calculatorului, cu care se poate opera pentru a obtine noi informatii. Data se defineste prin: identificator, valoare si atribute.

Identificatorul -este numele atribuit datei de catre cel care defineste data.

Ex: a, alfa, x_1

Valoarea – reprezinta continutul zonei de memorie in care este stocata data. Atributele – sunt proprietati ale datelor care determina modul in care sistemul va trata acele date. Cel mai important atribut este tipul datei. Tipul datei – defineste apartenenta datei la o anumita clasa de date.

Clasificarea datelor:

a.Dupa momentul in care se produc: -date de intrare – datele care urmeaza sa fie prelucrate in cadrul algoritmului -date intermediare – folosite pentru realizarea unei prelucrari -date de iesire – reprezinta rezultatul obtinut

b.Dupa valoare: -variabile – isi pot modifica valoarea pe parcursul procesului de prelucrare -constante – isi vor pastra valoarea pe tot parcursul prelucrarii

c.Dupa modul de compunere: -date elementare – sunt date independente unele de altele -structuri de date – sunt colectii de date

d.Dupa tip: -date numerice -date logice -siruri de caractere

TIPUL DATEI

Determina: – dimensiunea zonei de memorie alocate datei (octeti) – operatorii care pot fi aplicati pe acea data -modul de reprezentare in memoria interna(codificare in binar)

Tipuri de date:

1.Tipul numeric – pentru reprezentarea numerelor intregi (intreg) sau cu zecimale (real) Ex: 3, -1.5, 15.0 2.Tipul logic – pentru reprezentarea datelor care nu pot lua decat doua valori: adevarat (true, T) sau fals (false, F) 3.Tipul sir de caractere – pentru reprezentarea unei multimi de caractere tratata ca un tot unitar. Ex: “alfa”, ‘abc’

Page 3: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

OPERATORI SI EXPRESII

Operatorii sunt caractere speciale sau cuvinte cheie prin intermediul carora se reprezinta operatiile care se efectueaza in cadrul algoritmului.

Clasificare:

1.Operatori matematici:

+ (adunare), – (scadere), * (inmultire), / (impartire reala), ^ sau ** (ridicare la putere), div (impartire intreaga – calculeaza catul impartirii), mod( modulo – calculeaza restul impartirii)

Exemple: 2*4=8 5/2=2.5 2^3=8 13 div 4=3 13 mod 4=1

Obs: Operatorii matematici se aplica pe date de tip numeric iar rezultatul va fi numeric.

2.Operatorii relationali:

< (mai mic), > (mai mare), <= (mai mic sau egal), >= (mai mare sau egal), = (egal), <> (diferit)

Exemple:

(12>10) = T (7<=5) = F (8>=8) = T (23<>6) = T

Obs: Operatorii relationali se aplica pe date de tip numeric sau sir de caractere iar rezultatul este de tip logic.

3.Operatorul de concatenare:

+: reuneste doua siruri de caractere intr-un singur sir.

Exemplu: “Buna” + “ziua” = “Buna ziua”

4.Operatorii logici:

and (si logic), or (sau logic), not (negare)

Considerand doi operanzi a si b se vor aplica operatorii logici asupra operanzilor:

a b a and b a or b not a T T T T F T F F T F F T F T T F F F F T

5.Operatorul de atribuire

← : atribuie a anumita valoare unei date:

nume ← expresie

Page 4: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

Exemple:

a)x ←3 (x ia valoarea 3)

b)a ← 7 +3 ( se calculeaza expresia si apoi a ia valoarea 10)

c)s←2 s ← s+4 ( noua valoare a variabilei s este vechea valoare, adica 2, la care se aduna 4 rezultand valoarea 6 pentru s)

Prioritatea operatorilor

Page 5: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

PRELUCRAREA DATELOR

Pentru a putea fi prelucrate de cotre procesorul sistemului de calcul datele sunt introdu-se in memoria interna a calculatorului. Introducerea datelor se face prin intermediul unor echipamente specializate pe citirea datelor numite dispozitive de intrare. Dispozitivul standard de intrare este tastatura. Datele care urmeaza a fi prelucrate se numesc date de intrare.

Rezultatele obtinute de procesor in urma prelucrarii acestor date de intrare sunt depuse in memoria interna, si ele se numesc date de iesire. Pentru a putea fi vizualizate de catre utilizator datele sunt extrase din memoria interna de catre dispozitive specializate in scrierea informatiilor numite dispozitive de iesire. Dispozitivul standard de iesire este monitorul.

In vederea prelucrarii datelor acestea pot fi pastrate temporar in memoria interna sau externa. In memoria externa datele sunt stocate sub forma de fisier. Acestea pot fi folosite ulterior ca date de intrare in sistemul de calcul. Printre tipurile de fisier intalnim:

fisiere text - acestea sunt create utilizand programe specializate in editarea textelor (Ex. aplicatia Microsoft Word)

fisiere baza de date - rezultate in urma unor aplicatii care creza si utilizeaza baza de date (Ex. FoxPro, Acces)

Page 6: ALGORITMI DEFINITII SI CARACTERISTICI - … · ALGORITMI DEFINITII SI CARACTERISTICI Definitie: Algoritmul este un set finit de pasi executabili, descrisi fara echivoc, pentru determinarea

fisiere registru de lucru - rezultate in urma utilizarii unui program de calcul tabelar (Ex. Microsoft Excel)

Reprezentarea datelor in calculator

Referindu-ne la capitolul anterior o data elementara reprezinta de fapt o zona de memorie interna la care utilizatorul are acces prin identificatorul datei. Dimensiunea zonei de memorie alocate si metoda folosita pentru pentru codificarea in binar a valorii datei depinde de tipul datei. Valoarea datei la un moment dat reprezinta continutul zonei de memorie asociate. Dimensiunea zonei de memorie alocata depinde de tipul datei, iar referirea la data se face prin numele sau.

Exemplu: in data alfa se memoreaza sirul de caractere "Maria" iar in data beta se memoreaza numarul 50. Zona de memorie alocata datei alfa incepe la adresa 200 iar cea alocata datei beta incepe la adresa 205.

Sistemul isi construieste o tabela prin care stabileste corespondenta intre numele datei, adresa la care se memoreaza si dimensiunea zonei de memorie alocata care corespunde modului de reprezentare interna, a tipului de data (de exemplu pentru data de tip sir de caractere sau alocat 5 octeti, iar pentru cea de tip numeric intreg sau alocat 4 octeti).

Atunci cand se cere sistemului sa afiseze data alfa, acesta cauta in tabela identificatorul alfa. Daca acesta va fi gasit sistemul va citi continutul zonei de memorie care incepe de la adresa 200, are o lungime de 5 octeti si va afisa de la data citita la dispozitivul desemnat pentru afisarea ei. Daca nu gaseste acest identificator va afisa un mesaj de eroare prin care va preciza ca nu exista aceasta data.