Scrigroup - Documente si articole

     

HomeDocumenteUploadResurseAlte limbi doc
AccessAdobe photoshopAlgoritmiAutocadBaze de dateCC sharp
CalculatoareCorel drawDot netExcelFox proFrontpageHardware
HtmlInternetJavaLinuxMatlabMs dosPascal
PhpPower pointRetele calculatoareSqlTutorialsWebdesignWindows
WordXml


Notiunea de algoritm

c



+ Font mai mare | - Font mai mic



Notiunea de algoritm

Def1. Un algoritm este o succesiune de pasi finita, cu punct unic de intrare si de iesire, care conduce intr-un timp finit la rezolvarea unei clase de probleme.

Def2. Algoritmul este un mod prin care o transformare este descrisa sistematic si conditional in desfasurarea sa.




Transformarea impune de obicei folosirea unor valori numite date de intrare sau parametrii de intrare pe care algoritmul le transforma in rezultate sau date de iesire.

Algoritmii au urmatoarele caracteristici:

generalizare: adica sunt conceputi pentru a rezolva cu succes mai multe probleme care au o cale de rezolvare asemanatoare

determinism: adica obtinerea de rezultate identice pentru valori de intrare identice

finitudine: procesul de prelucrare se termina dupa un numar finit de pasi; (exista cazuri in care programele scrise nu respecta aceasta conditie ceea ce conduce la bucla infinita)

claritate: toate actiunile sau conditionarile din algoritm sunt clar specificate

Exemplu:

Rezolvarea unei ecuatii de gradul I.

Analiza problemei: Forma generala a unei ecuatii de gradul I este ax+b=0.

Date de intrare: a si b.

Date de iesire radacina calculata x a ecuatiei sau un mesaj ('x real' sau 'nu exista solutie' sau 'Exista o infinitate de solutii')

Procesul prelucrarii datelor de intrare poate fi descris astfel:

PAS 1. Se citesc valorile coeficientilor a, b;

PAS 2. Daca a=0 si b=0 atunci se 'Exista o infinitate de solutii';

PAS 3. Daca a=0 si b<>0 atunci se afiseaza 'nu exista solutie';

PAS 4. Daca a<>0 atunci solutia este x=-b/a;

PAS 5. Afiseaza valoarea lui x;

Pentru a reprezenta un algoritm putem alege orice model care repezita dezideratele aratate mai sus. Algoritmul din exemplul anterior a fost    reprezentat prin pseudocod. Pseudocodul este un mod de a descrie liber (fara ingradiri) a unui algoritm. El este apropiat de limbajul natural si de aceea este un excelent mod de a explica un algoritm. Din exemplul de mai sus reiese cu claritate finitudinea algoritmului si eficacitatea acestuia. Este un algoritm generalizat deoarece este conceput pentru a rezolva orice ecuatie de gradul I. Pentru a putea fi generalizata, orice solutie algoritmica are nevoie de a verifica datele din toata plaja posibila de valori. Algoritmului trebuie sa poata accepta date de intrare, de a le prelucra si de a le afisa ca rezultate. Aceste lucruri nu sunt posibile decat daca datele pot fi 'memorate'. Cea mai folosita cale de a memora si identifica date este aceea de a folosi variabile.

O variabila este o zona identificabila de memorie a carei valoare poate fi modificata prin actiunile algoritmului.

Caracteristicile variabilelor sunt

identificarea de obicei realizata printr-un nume (format dintr-o insiruire de litere si cifre). Numele unei variabile daca exista se numeste identificator;

tip de date. Este indicat ca sa se cunoasca ce fel de date vor fi memorate de catre variabila. Unele limbaje de programare (in special interpretoarele) admit existenta unui tip de date variabil adica variabila poate in perioada sa de definitie sa-si modifice tipul.

zona de memorie care va contine valoarea la un moment dat a variabilei. Dimensiunea rezervata pentru o variabila este de obicei in functie de tipul de data pe care il contine. Localizarea exacta a zonei de memorie este de obicei cunoscuta doar in momentul executiei programului.

Variabila isi poate schimba valoarea pe parcursul parcurgerii algoritmului, dar la un moment dat o variabila nu poate avea decat o singura valoare. Valoarea variabilei poate fi utilizata de catre algoritm prin intermediul numelui: oriunde apare numele unei variabile se intelege de fapt valoarea pe care aceasta o are la momentul respectiv.

Prin tip de date se intelege gruparea datelor asemanatoare ca domeniu de definitie sub un nume numit identificator de tip de date. In general, tipurile de date utilizate in informatica sunt submultimi ale multimilor cunoscute din matematica. Limitarea plajei de valori este datorata caracterului finit al zonei de memorie folosite memorare. De exemplu, in limbajul C++ sunt utilizate, printre altele, urmatoarele tipuri:

int.: valori intregi intre -32767 si 32768 (memorare pe 2octeti);

long int: valori intregi intre -2147483648 si 2147483647 (memorare pe 4octeti)

Unii autori considera inclusa in definitia tipului de date si multimea operatorilor si functiilor care se pot aplica elementelor tipului respectiv. De exemplu, pentru un tip intreg, exista operatii specifice: impartirea intreaga si modul aritmetic (restul impartirii intregi).

Prin constanta intelegem o valoare fixa, care nu se modifica de-a lungul aplicarii unui algoritm. Constantele se reprezinta uzual printr-o valoare efectiva:

3, -2, -123, 9452 sunt constante intregi

3.456, 2.000, 3.4000E+10 sunt constante reale

'a', 'B', '&' sunt constante de tip caracter

'ecuatia are o infinitate de solutii !' este o constanta sir de caractere



Politica de confidentialitate | Termeni si conditii de utilizare



DISTRIBUIE DOCUMENTUL

Comentarii


Vizualizari: 1177
Importanta: rank

Comenteaza documentul:

Te rugam sa te autentifici sau sa iti faci cont pentru a putea comenta

Creaza cont nou

Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved