Algoritmi - Notiuni Introductive

Embed Size (px)

Citation preview

  • 7/23/2019 Algoritmi - Notiuni Introductive

    1/7

    AlgoritmiNoiuni introductive

  • 7/23/2019 Algoritmi - Notiuni Introductive

    2/7

    1.Noiunea de algoritm.

    Defini ie : Prin algoritm se nelege o metod de soluionare a unei clase deprobleme, reprezentat de o succesiune finit de operaii bine definite, numite

    instruciuni.

    Primul algoritm se considera algoritmul lui Euclid (utilizat pentru determinareacelui mai mare divizor comun a doua numere naturale). Termenul de algoritmpoate fi neles n sens larg nefiind neaprat legat de rezolvarea uneiproleme cu caracter !tiinific" ci doar pentru a descrie ntr#o manierordonat activiti care constau n parcurgerea unei succesiuni de pa!i (cumeste de e$emplu utilizarea unui telefon pulic sau a unui ancomat).

    %n matematic e$ist o serie de algoritmi: cel al rezolvrii ecuaiei de graduldoi" algoritmul lui Eratostene (pentru generarea numerelor prime mai mici

    dec&t o anumita valoare)" sc'ema lui orner (pentru determinarea c&tului !irestului mpririi unui polinom la un inom) etc.

    oluia prolemei se oine prin execuia algoritmului. Algoritmul poate fie$ecutat pe o ma!in formal (n faza de proiectare !i analiz) sau pe oma!in fizic (calculator) dup ce a fost codificat ntr#un lima* de programare.

  • 7/23/2019 Algoritmi - Notiuni Introductive

    3/7

    2. Caracteristicile unui algoritm

    Generalitate. +n algoritm destinat rezolvrii unei proleme treuie s permitoinerea rezultatului pentru orice date de intrare !i nu numai pentru dateparticulare de intrare.

    Finitudine.Adic se termin dup un numr finit de pa!i" indiferent c&t de muli.

    Claritate. Prelucrrile algoritmului treuie specificate riguros" fr amiguiti. %norice etap a e$ecuiei algoritmului treuie s se !tie e$act care este urmtoareaetap ce va e$ecutat.

    Eficien.Algoritmii pot fi efectiv utilizai doar dac folosesc resurse de calculnvolum acceptail.

    Prin resurse de calcul se nelege volumul de memorie !i timpul necesar pentrue$ecuie.

  • 7/23/2019 Algoritmi - Notiuni Introductive

    4/7

    Exemple

    ,. Nu orice problem poate rezolat algoritmic.

    a. -iind dat un numr n s se determine toi divizorii si.

    Pentru aceast prolem se poate scrie un algoritm foarte u!or.

    . -iind dat un numr n s se determine toi multiplii si.

    Pentru aceast prolem nu se poate scrie un algoritm deoarece nucunoa!tem un criteriu de oprire a operaiilor.

    . !n algoritm trebuie s funcioneze pentru orice date de intrare.

    -iind date numerele a, b, cs se afi!eze ma$imul dintre ele.

    / posiil soluie ar fi:

    se compar acu b!i c !i dac e mai mare se afi!eaz a" iar apoise compar bcu a!i c !i dac e mai mare se afi!eaz b" iar apoi

    se compar ccu b!i a !i dac e mai mare se afi!eaz c

    Algoritmul nu funcioneaz dac valori sunt identice !i de valoare ma$im.

  • 7/23/2019 Algoritmi - Notiuni Introductive

    5/7

    Exemple

    ". !n algoritm trebuie sa se opreasc.

    e consider urmtoarea secven de prelucrri:Pas ,. Atriuie variailei xvaloarea ,0

    Pas . 1reste valoarea lui xcu 0Pas 2. 3aca xeste egal cu ,44 atunci se opre!te prelucrarea altfel se reia de laPas .

    Este usor de oservat cax nu va lua niciodat valoarea ,44" deci succesiuneade prelucrri nu se termin niciodat. 3in acest motiv nu poate considerat un

    algoritm corect.

    #. Prelucrrile dintr$un algoritm trebuie s fie neambigue.

    5onsideram urmtoarea secven de prelucrri:

    Pas ,. Atriuie variaileix

    valoarea 40Pas . Fie se mre!te xcu , fie se mic!oreaz xcu ,0Pas 2. 3aca x aparine 6#,4% ,47 se reia de la Pas " altfel se opre!te algoritmul.

  • 7/23/2019 Algoritmi - Notiuni Introductive

    6/7

    Exemple

    &. !n algoritm trebuie s se opreasc dup un interal rezonabil de timp.

    -iind dat un numr nse cere s se determine de c&te ori a aprut o cifr

    cn reprezentarea tuturor numerelor naturale mai mici ca n.

    / rezolvare simpl ar fi s lum toate numere mai mici ca n!i s vedemde c&te ori apare cifra cn fiecare dinte ele. oluia e simpl !i pentruvalori mici ale lui n algoritmul se termin ntr#un interval de timprezonail" dar pentru valori mari timpul de terminare al algoritmului cre!te

    nepermis de mult.

  • 7/23/2019 Algoritmi - Notiuni Introductive

    7/7

    Pa!ii realizrii unui algoritm

    ,. 5itirea cu atenie a enunului prolemei.

    . 8dentificarea datelor de intrare !i a celor de ie!ire.

    2. 9ezolvarea propriu#zis a prolemei pe cazuri particulare !i reprezentative. %nacest moment nuse ncearc scrierea programului ci doar determinarea

    metodei de rezolvare" generalizarea !i nelegerea acesteia.

    . 3escrierea n lima* natural a soluiei prolemei.3ac nu suntei capaili s descriei metoda folosit n lima* natural e puinproail s o putei face ntr#un lima* de programare care e mai restrictiv dec&tlima*ul natural.

    ;. crierea programului ntr#un lima* de programare.