SlideShare a Scribd company logo
1 of 4
Algoritmi: caracteristici, reprezentare, implementare

          Etapele rezolvării problemelor. Caracteristicile algoritmilor.

      Algoritmi

Noţiunea de algoritm este prezentă azi în contexte diferite. Termenul algoritm vine de la
numele matematicianului persan Abu Ja’Far Mohamed ibn Musa al Khowarizmi (circa
825 e.n.), care a scris o carte cunoscuta sub denumirea latina de “Liber algorithmi”. Tot
el a introdus denumirea de “algebra” în matematică.

În trecut, termenul de algoritm era folosit numai în domeniul matematicii, însa datorită
dezvoltării calculatoarelor, astăzi “gândirea algoritmică” nu mai este un instrument
specific matematicii ci folosit în diverse domenii.


     Prin algoritm înţelegem o succesiune finită de operaţii cunoscute care se executăă
într-o succesiune logică bine stabilită astfel încât plecand de la un set de date de
intrare, să obtinem într-un interval de timp finit un set de date de ieşire.


      Caracteristicile algoritmilor


    Finitudine – proprietatea algoritmilor de a furniza datele de ieşire într-un timp finit
(adica dupa un număr finit de paşi).

De exemplu, dacă avem următoarea problemă: Se citeşte un număr n natural. Să se
efectueze operaţia de extragere a radicalului şi să se afişeze rezultatul. Această
problemă nu este un proces finit, deoarece nu s-a specificat precizia cu care se va
furniza rezultatul.


    Claritatea - algoritmul trebuie să descrie operaţiile clar şi fără ambiguiăţi.


    Generalitatea – proprietatea algoritmilor de a rezolva o intreagă clasă de probleme
de acelaşi fel.

De exemplu adunarea 2+8 este o problemă care adună numai aceste două numere,
însă dacă elaboram o metodă de rezolvare care va aduna a+b, unde a şi b pot avea
orice valori întregi, spunem ca am realizat un algoritm general.
Corectitudinea – spunem că un algoritm este corect dacă el furnizează în mod
corect datele de ieşire pentru toate situaţiile regăsite în datele de intrare.

De exemplu, trebuie să evaluam expresia E=a/b+c. O succesiune de paşi pentru
evaluarea expresiei este:
   - se citeşte a, b, c
   - se calculează a/b, apoi rezultatul se adună cu c.
   - se atribuie lui E valoarea calculată
   - se afişează E
Acest algoritm NU furnizeaza rezultatul corect pentru toate valorile de intrare. În cazul în
care b=0, împărţirea nu se poate efectua dar algoritmul nu verifică acest lucru.

Există totuşi algoritmi care sunt corecţi, clari, generali şi furnizează soluţia într-un timp
finit însă mai lung sau folosesc mai multă memorie decât alţi algoritmi. Aceasta
înseamnă că atunci când elaborăm un algoritm, nu ne oprim la prima soluţie găsită.
Vom încerca să gasim algoritmi care să dea soluţia într-un timp cât mai scurt, cu cât
mai puţină memorie folosită. Cu alte cuvinte vom încerca să elaboram algoritmi
eficienţi.


     Numim deci eficienţă - capacitatea algoritmului de a da o soluţie la o problema într-
un timp de executie cât mai scurt, folosind cât mai puţină memorie.


       Etapele rezolvării problemelor


    Rezolvarea unei probleme este un proces complex, care are mai multe etape.

       1. Analiza problemei, pentru a stabili datele de intrare şi de ieşire.
       2. Elaborarea unui algoritm de rezolvare a problemei.
       3. Implementarea algoritmului într-un limbaj de programare.
       4. Verificarea corectitudinii algoritmului implementat.
       5. Analiza complexitatii algoritmului.
ETAPELE REZOLVĂRII UNEI PROBLEME


                                      Implementare
      Analiza          Elaborarea                        Verificare        Analiza
                                       în limbaj de
     problemei        algoritmului                     corectitudine     complexităţii
                                       programare




    Toate aceste etape vor fi evidentiate pe algoritmii ce vor fi prezentaţi în fişele suport
şi modulele următoare.

Sugestii metodologice
UNDE PREDĂM? Conţinutul poate fi predat în laboratorul de informaţică sau într-o
sală care are videoproiector sau flipchart.
CUM PREDĂM?

      Se recomandă utilizarea calculatoarelor pentru activităţile de fixare a noilor
cunoştinţe.

      Clasa poate fi organizată frontal sau pe grupe de 3-4 elevi.


     Ca materiale suport se pot folosi:
•    O prezentare multimedia care să cuprindă noţiunile de mai sus.
•    Activităţi interactive, de genul urmator:
          o Activităţi drag & drop de ordonare a etapelor de rezolvare a problemelor
          o Activităţi de tip rebus, împerechere, completare despre caracteristicile
            algoritmilor
Ca materiale de evaluare se pot folosi:
o Probe practice şi scrise

More Related Content

What's hot

Sintaxa si limbajul pascal
Sintaxa si limbajul pascalSintaxa si limbajul pascal
Sintaxa si limbajul pascalalinabacalim
 
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ixClaudia
 
Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011AutoProg
 

What's hot (6)

Tehnica greedy
Tehnica greedyTehnica greedy
Tehnica greedy
 
Metoda backtracking
Metoda backtrackingMetoda backtracking
Metoda backtracking
 
Sintaxa si limbajul pascal
Sintaxa si limbajul pascalSintaxa si limbajul pascal
Sintaxa si limbajul pascal
 
Iterativitate sau recursivitate
Iterativitate sau recursivitate Iterativitate sau recursivitate
Iterativitate sau recursivitate
 
Proiect cl ix
Proiect cl ixProiect cl ix
Proiect cl ix
 
Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011Reprezentarea algoritmilor ap 21feb2011
Reprezentarea algoritmilor ap 21feb2011
 

Viewers also liked (19)

Exercitii de aplicare a ordinii efectuarii operatiilor si eliminarea parantez...
Exercitii de aplicare a ordinii efectuarii operatiilor si eliminarea parantez...Exercitii de aplicare a ordinii efectuarii operatiilor si eliminarea parantez...
Exercitii de aplicare a ordinii efectuarii operatiilor si eliminarea parantez...
 
Fisalucru
FisalucruFisalucru
Fisalucru
 
Simbolurile romaniei
Simbolurile romanieiSimbolurile romaniei
Simbolurile romaniei
 
Prezentare mica
Prezentare micaPrezentare mica
Prezentare mica
 
Verbul
VerbulVerbul
Verbul
 
Maiasii
MaiasiiMaiasii
Maiasii
 
Principiul separarii puterilor
Principiul separarii puterilorPrincipiul separarii puterilor
Principiul separarii puterilor
 
Mutaţiile slobozia bradului
Mutaţiile slobozia braduluiMutaţiile slobozia bradului
Mutaţiile slobozia bradului
 
Arta
ArtaArta
Arta
 
Dioxina
DioxinaDioxina
Dioxina
 
Fişă de evaluare
Fişă de evaluareFişă de evaluare
Fişă de evaluare
 
Fisalucru
FisalucruFisalucru
Fisalucru
 
Test de evaluare_felicitarea
Test de evaluare_felicitareaTest de evaluare_felicitarea
Test de evaluare_felicitarea
 
Test evaluare material
Test evaluare materialTest evaluare material
Test evaluare material
 
Maiasii
MaiasiiMaiasii
Maiasii
 
Rev1848
Rev1848Rev1848
Rev1848
 
Proiect tematic claudia si oana
Proiect tematic   claudia si oanaProiect tematic   claudia si oana
Proiect tematic claudia si oana
 
Lumea nano
Lumea nanoLumea nano
Lumea nano
 
Ateliers commercants acv-ucm-acia #2
Ateliers commercants acv-ucm-acia #2Ateliers commercants acv-ucm-acia #2
Ateliers commercants acv-ucm-acia #2
 

Similar to Tema2 algoritmi

Manualul profesorului
Manualul profesoruluiManualul profesorului
Manualul profesoruluinatashcka
 
Graduation projects in Crispico
Graduation projects in CrispicoGraduation projects in Crispico
Graduation projects in Crispicostagiipebune
 
Modulul v mtcp i
Modulul v   mtcp iModulul v   mtcp i
Modulul v mtcp iIoanaK2
 
manual-de-programare-c
manual-de-programare-cmanual-de-programare-c
manual-de-programare-cSerghei Urban
 
Manual de programare c
Manual de programare cManual de programare c
Manual de programare cArgos
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trieriivladimir_welling
 
2006 intro java_v01
2006 intro java_v012006 intro java_v01
2006 intro java_v01Usurelu Ion
 
baze c++sructura unui program declarare variabilepdf.
baze c++sructura unui program declarare variabilepdf.baze c++sructura unui program declarare variabilepdf.
baze c++sructura unui program declarare variabilepdf.AdrianaDanielaCupsa
 
Modulul ii algoritmi
Modulul ii   algoritmiModulul ii   algoritmi
Modulul ii algoritmiIoanaK2
 
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascalguest274e8
 

Similar to Tema2 algoritmi (20)

Algoritmi 121014204617-phpapp02
Algoritmi 121014204617-phpapp02Algoritmi 121014204617-phpapp02
Algoritmi 121014204617-phpapp02
 
Manualul profesorului
Manualul profesoruluiManualul profesorului
Manualul profesorului
 
Graduation projects in Crispico
Graduation projects in CrispicoGraduation projects in Crispico
Graduation projects in Crispico
 
Metoda programarii dinamice
Metoda programarii dinamiceMetoda programarii dinamice
Metoda programarii dinamice
 
Metoda greedy(1)
Metoda greedy(1)Metoda greedy(1)
Metoda greedy(1)
 
Modulul v mtcp i
Modulul v   mtcp iModulul v   mtcp i
Modulul v mtcp i
 
manual-de-programare-c
manual-de-programare-cmanual-de-programare-c
manual-de-programare-c
 
Manual de programare c
Manual de programare cManual de programare c
Manual de programare c
 
Informatica metoda trierii
Informatica metoda trieriiInformatica metoda trierii
Informatica metoda trierii
 
Tehnici de programare
Tehnici de programareTehnici de programare
Tehnici de programare
 
Lecture1 pc
Lecture1 pcLecture1 pc
Lecture1 pc
 
Curs Visual c++
Curs Visual c++Curs Visual c++
Curs Visual c++
 
Curs C++
Curs C++Curs C++
Curs C++
 
2006 intro java_v01
2006 intro java_v012006 intro java_v01
2006 intro java_v01
 
EXAMEN MNI 5-9.docx
EXAMEN  MNI 5-9.docxEXAMEN  MNI 5-9.docx
EXAMEN MNI 5-9.docx
 
Cap01
Cap01Cap01
Cap01
 
baze c++sructura unui program declarare variabilepdf.
baze c++sructura unui program declarare variabilepdf.baze c++sructura unui program declarare variabilepdf.
baze c++sructura unui program declarare variabilepdf.
 
Cap02
Cap02Cap02
Cap02
 
Modulul ii algoritmi
Modulul ii   algoritmiModulul ii   algoritmi
Modulul ii algoritmi
 
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
 

More from mihaelapaduraru (20)

Proiectul ghita delia
Proiectul ghita deliaProiectul ghita delia
Proiectul ghita delia
 
Proiec tematic prezentare ppt
Proiec  tematic  prezentare pptProiec  tematic  prezentare ppt
Proiec tematic prezentare ppt
 
Brosura
BrosuraBrosura
Brosura
 
Cozam Dafin Fotografi cu test initial clasa a 5 a
Cozam Dafin Fotografi cu  test initial clasa a 5 aCozam Dafin Fotografi cu  test initial clasa a 5 a
Cozam Dafin Fotografi cu test initial clasa a 5 a
 
Primavara (1)
Primavara (1)Primavara (1)
Primavara (1)
 
Referat com metodica 11noiem2013
Referat com metodica 11noiem2013Referat com metodica 11noiem2013
Referat com metodica 11noiem2013
 
Fisa ui3
Fisa ui3Fisa ui3
Fisa ui3
 
Test evaluare digestie
Test evaluare digestieTest evaluare digestie
Test evaluare digestie
 
Sistemul digestiv
Sistemul digestivSistemul digestiv
Sistemul digestiv
 
Fiziologia aparatului digestiv
Fiziologia aparatului digestivFiziologia aparatului digestiv
Fiziologia aparatului digestiv
 
Fisa 2 lirism
Fisa 2 lirismFisa 2 lirism
Fisa 2 lirism
 
Fisa lucru lirism
Fisa lucru lirismFisa lucru lirism
Fisa lucru lirism
 
Fisa gen liric
Fisa gen liricFisa gen liric
Fisa gen liric
 
Fisa gen liric
Fisa gen liricFisa gen liric
Fisa gen liric
 
91 test
91 test91 test
91 test
 
Test formativ stiinte_cl_2
Test formativ stiinte_cl_2Test formativ stiinte_cl_2
Test formativ stiinte_cl_2
 
Plante de camp
Plante de campPlante de camp
Plante de camp
 
Fisa de lucru_stiinte
Fisa de lucru_stiinteFisa de lucru_stiinte
Fisa de lucru_stiinte
 
Fisa de lucru_stiinte
Fisa de lucru_stiinteFisa de lucru_stiinte
Fisa de lucru_stiinte
 
0 2 fisa_cunoasterea_mediului
0 2 fisa_cunoasterea_mediului0 2 fisa_cunoasterea_mediului
0 2 fisa_cunoasterea_mediului
 

Tema2 algoritmi

  • 1. Algoritmi: caracteristici, reprezentare, implementare Etapele rezolvării problemelor. Caracteristicile algoritmilor. Algoritmi Noţiunea de algoritm este prezentă azi în contexte diferite. Termenul algoritm vine de la numele matematicianului persan Abu Ja’Far Mohamed ibn Musa al Khowarizmi (circa 825 e.n.), care a scris o carte cunoscuta sub denumirea latina de “Liber algorithmi”. Tot el a introdus denumirea de “algebra” în matematică. În trecut, termenul de algoritm era folosit numai în domeniul matematicii, însa datorită dezvoltării calculatoarelor, astăzi “gândirea algoritmică” nu mai este un instrument specific matematicii ci folosit în diverse domenii. Prin algoritm înţelegem o succesiune finită de operaţii cunoscute care se executăă într-o succesiune logică bine stabilită astfel încât plecand de la un set de date de intrare, să obtinem într-un interval de timp finit un set de date de ieşire. Caracteristicile algoritmilor Finitudine – proprietatea algoritmilor de a furniza datele de ieşire într-un timp finit (adica dupa un număr finit de paşi). De exemplu, dacă avem următoarea problemă: Se citeşte un număr n natural. Să se efectueze operaţia de extragere a radicalului şi să se afişeze rezultatul. Această problemă nu este un proces finit, deoarece nu s-a specificat precizia cu care se va furniza rezultatul. Claritatea - algoritmul trebuie să descrie operaţiile clar şi fără ambiguiăţi. Generalitatea – proprietatea algoritmilor de a rezolva o intreagă clasă de probleme de acelaşi fel. De exemplu adunarea 2+8 este o problemă care adună numai aceste două numere, însă dacă elaboram o metodă de rezolvare care va aduna a+b, unde a şi b pot avea orice valori întregi, spunem ca am realizat un algoritm general.
  • 2. Corectitudinea – spunem că un algoritm este corect dacă el furnizează în mod corect datele de ieşire pentru toate situaţiile regăsite în datele de intrare. De exemplu, trebuie să evaluam expresia E=a/b+c. O succesiune de paşi pentru evaluarea expresiei este: - se citeşte a, b, c - se calculează a/b, apoi rezultatul se adună cu c. - se atribuie lui E valoarea calculată - se afişează E Acest algoritm NU furnizeaza rezultatul corect pentru toate valorile de intrare. În cazul în care b=0, împărţirea nu se poate efectua dar algoritmul nu verifică acest lucru. Există totuşi algoritmi care sunt corecţi, clari, generali şi furnizează soluţia într-un timp finit însă mai lung sau folosesc mai multă memorie decât alţi algoritmi. Aceasta înseamnă că atunci când elaborăm un algoritm, nu ne oprim la prima soluţie găsită. Vom încerca să gasim algoritmi care să dea soluţia într-un timp cât mai scurt, cu cât mai puţină memorie folosită. Cu alte cuvinte vom încerca să elaboram algoritmi eficienţi. Numim deci eficienţă - capacitatea algoritmului de a da o soluţie la o problema într- un timp de executie cât mai scurt, folosind cât mai puţină memorie. Etapele rezolvării problemelor Rezolvarea unei probleme este un proces complex, care are mai multe etape. 1. Analiza problemei, pentru a stabili datele de intrare şi de ieşire. 2. Elaborarea unui algoritm de rezolvare a problemei. 3. Implementarea algoritmului într-un limbaj de programare. 4. Verificarea corectitudinii algoritmului implementat. 5. Analiza complexitatii algoritmului.
  • 3. ETAPELE REZOLVĂRII UNEI PROBLEME Implementare Analiza Elaborarea Verificare Analiza în limbaj de problemei algoritmului corectitudine complexităţii programare Toate aceste etape vor fi evidentiate pe algoritmii ce vor fi prezentaţi în fişele suport şi modulele următoare. Sugestii metodologice UNDE PREDĂM? Conţinutul poate fi predat în laboratorul de informaţică sau într-o sală care are videoproiector sau flipchart. CUM PREDĂM? Se recomandă utilizarea calculatoarelor pentru activităţile de fixare a noilor cunoştinţe. Clasa poate fi organizată frontal sau pe grupe de 3-4 elevi. Ca materiale suport se pot folosi: • O prezentare multimedia care să cuprindă noţiunile de mai sus. • Activităţi interactive, de genul urmator: o Activităţi drag & drop de ordonare a etapelor de rezolvare a problemelor o Activităţi de tip rebus, împerechere, completare despre caracteristicile algoritmilor
  • 4. Ca materiale de evaluare se pot folosi: o Probe practice şi scrise