Pagina Principala
Ora 3

Notiunea de Algoritm

Definitia algoritmului, proprietatile sale si etapele rezolvarii unei probleme

50 minute
Competenta 2.1
TEORIE - 30 minute

I. Ce este un Algoritm?

Algoritmul este o succesiune finita de pasi bine definiti care, pornind de la un set de date de intrare, produce un rezultat (date de iesire) intr-un timp finit.

Cu alte cuvinte: un algoritm este o reteta precisa pe care oricine (sau un calculator) o poate urma pentru a rezolva o problema.

Analogii din viata reala:

Reteta de bucatarie — ingrediente (date de intrare), pasi de preparare (prelucrare), mancarea gatita (rezultat). Daca urmezi reteta exact, obtii acelasi rezultat de fiecare data.
Indicatii de drum — "Mergi drept 100m, ia-o la stanga, mergi 50m, cladirea e pe dreapta." Pasi clari, ordinea conteaza, rezultatul: ajungi la destinatie.
Instructiuni de spalat haine — separare pe culori, setare temperatura, pornire masina, uscare. Fiecare pas e precis si necesar.

II. Proprietatile unui Algoritm

Un algoritm corect trebuie sa respecte 4 proprietati esentiale:

1

Finitudine

Algoritmul trebuie sa se termine dupa un numar finit de pasi. Nu exista algoritmi care ruleaza la infinit.

Exemplu: O reteta are un numar fix de pasi. La final, mancarea e gata.
2

Claritate (Precizie)

Fiecare pas trebuie sa fie descris clar si neambiguu. Nu pot exista interpretari diferite.

Gresit: "Adauga putin sare" (cat e putin?)
Corect: "Adauga 2 grame de sare"
3

Determinism

Cu aceleasi date de intrare, algoritmul produce intotdeauna acelasi rezultat.

Exemplu: 2 + 3 = 5, de fiecare data. Nicio surpriza.
4

Generalitate

Algoritmul rezolva o clasa de probleme, nu un singur caz particular.

Exemplu: Algoritmul de calcul al mediei functioneaza pentru orice numar de note, nu doar pentru 3 note.

III. Etapele Rezolvarii unei Probleme

Rezolvarea oricarei probleme cu ajutorul calculatorului presupune parcurgerea unor etape clare:

Intelegerea problemei

Citeste enuntul cu atentie. Ce date ai? Ce ti se cere? Ce conditii exista? Reformuleaza-o in cuvintele tale.

Identificarea datelor

Date de intrare (ce primesti), date de iesire (ce trebuie sa produci), date intermediare (ce calculezi pe parcurs).

Elaborarea algoritmului

Descrie pasii de rezolvare intr-o ordine logica. Foloseste limbaj natural, pseudocod sau schema logica.

Verificarea algoritmului

Testeaza mental algoritmul cu cateva exemple. Functioneaza corect? Acopera toate cazurile?

Implementarea

Transforma algoritmul intr-un program pe calculator folosind un limbaj de programare (C, C++, Python etc.).

IV. Exemple de Algoritmi

Algoritmul 1: Calculul mediei a trei numere

Date de intrare: trei numere a, b, c

Date de iesire: media aritmetica M

  1. Citeste a, b, c
  2. Calculeaza suma: S = a + b + c
  3. Calculeaza media: M = S / 3
  4. Afiseaza M
  5. STOP
Verificare: Pentru a=7, b=8, c=9: S=24, M=24/3=8. Corect!

Algoritmul 2: Determinarea maximului dintre doua numere

Date de intrare: doua numere a, b

Date de iesire: maximul max

  1. Citeste a, b
  2. Daca a ≥ b atunci max = a
  3. Altfel max = b
  4. Afiseaza max
  5. STOP
Verificare: Pentru a=5, b=12: 5 ≥ 12? Nu, deci max=12. Corect!

Algoritmul 3: Traversarea unei strazi la semafor

Date de intrare: culoarea semaforului

Date de iesire: actiunea pietonului

  1. Priveste culoarea semaforului
  2. Daca culoarea este ROSU: Asteapta
  3. Daca culoarea este VERDE: Verifica stanga-dreapta, apoi traverseaza
  4. STOP
Observatie: Acest algoritm din viata reala respecta toate cele 4 proprietati!
APLICATII PRACTICE - 20 minute

Exercitiu 1: Scrie algoritmul

Scrie in limbaj natural algoritmul pentru urmatoarele probleme:

  1. Calculeaza aria unui dreptunghi daca se cunosc lungimea si latimea.
  2. Determina daca un numar este par sau impar.
  3. Calculeaza pretul final al unui produs dupa un discount de 15%.

Exercitiu 2: Identifica proprietatile

Pentru fiecare situatie, spune ce proprietate a algoritmului NU este respectata:

  1. "Amesteca pana se face bine." (Ce proprietate lipseste?)
  2. "Repeta la infinit: scrie 'Hello'." (Ce proprietate lipseste?)
  3. "Daca numarul e mare, fa ceva." (Ce proprietate lipseste?)

Exercitiu 3: Identifica datele

Pentru problema: "Se citesc doua numere. Sa se afiseze suma si produsul lor."

  1. Care sunt datele de intrare?
  2. Care sunt datele de iesire?
  3. Exista date intermediare? Daca da, care?
  4. Scrie algoritmul pas cu pas.

Verificarea cunostintelor

1 Care sunt cele 4 proprietati ale unui algoritm?
Finitudine (se termina dupa un numar finit de pasi), Claritate (pasi neambigui), Determinism (acelasi input → acelasi output), Generalitate (rezolva o clasa de probleme, nu un singur caz).
2 Care sunt cele 5 etape ale rezolvarii unei probleme?
1) Intelegerea problemei, 2) Identificarea datelor (intrare/iesire/intermediare), 3) Elaborarea algoritmului, 4) Verificarea cu exemple, 5) Implementarea in limbaj de programare.
3 Raspunsuri la Exercitiul 2
1) "Amesteca pana se face bine" — lipseste Claritatea ("bine" e ambiguu).
2) "Repeta la infinit" — lipseste Finitudinea (nu se opreste niciodata).
3) "Daca numarul e mare" — lipseste Claritatea ("mare" e subiectiv si ambiguu).