Ce vei învăța astăzi?
După această lecție vei înțelege ce este un algoritm, care sunt proprietățile lui și ce fel de date folosește un program.
Ce este gândirea computațională?
Definiție: Gândirea computațională este un mod de a gândi care ne ajută să descompunem (adică să împărțim în părți mai mici, mai ușor de rezolvat) probleme complexe în pași mici, clari și logici, pe care un calculator le poate executa.
Este ca o rețetă de gătit: spargi o mâncare complicată în ingrediente și pași simpli, apoi urmezi pașii în ordine pentru a obține rezultatul.
De ce este importantă?
- Descompunerea: împărțim problema mare în probleme mici
- Recunoașterea tiparelor: observăm modele care se repetă
- Abstracția (capacitatea de a reține doar esențialul unei probleme): ignorăm detaliile neimportante
- Algoritmii: scriem pași clari pentru rezolvare
Ce este un algoritm?
Definiție: Un algoritm este o secvență finită de pași, bine definită și ordonată, care transformă datele de intrare în date de ieșire, pentru a rezolva o problemă.
Exemplu: algoritmul „preparare ceai”
1. Pune apa la fiert 2. Pune pliculetul de ceai în cană 3. Toarnă apa fierbinte în cană 4. Așteaptă până ceaiul se infuzează 5. Scoate pliculetul 6. Adaugă zahăr după gust 7. Amestecă
Observă: pașii sunt în ordine, fiecare pas este clar, iar la final obținem rezultatul dorit. Exact așa lucrează și un program!
| Proprietate | Ce înseamnă | Exemplu din viață |
|---|---|---|
| Finitude | Are un număr finit de pași | Rețeta de ceai are 7 pași |
| Claritate | Fiecare pas este neambiguu (adică are un singur înțeles, nu poate fi interpretat în mai multe feluri) | „Pune pliculetul în cană" este clar |
| Determinism | Pentru aceleași date de intrare dă același rezultat | Aceeași rețetă dă același gust |
| Generalitate | Rezolvă o clasă de probleme, nu un singur caz | Funcționează pentru orice cană |
| Eficiență | Folosește cât mai puține resurse | Fierbi doar apa de care ai nevoie |
Datele cu care lucrează un algoritm
Orice algoritm lucrează cu trei tipuri de date:
Informațiile pe care le primește programul pentru a lucra
Rezultatele pe care le produce programul
Valori intermediare, folosite pe parcursul calculelor
Exemplu: „media a două numere"
| Tip de dată | Valoare |
|---|---|
| Intrare | a = 8, b = 10 |
| Manevră | s = a + b = 18 (suma intermediară) |
| Ieșire | media = 9 |
Exercițiu de completare
Completează enunțul despre algoritmi cu cuvintele potrivite:
Un algoritm este o ______ finită de pași, bine definită și ______, care transformă datele de ______ în date de ______. Valorile intermediare folosite pe parcurs se numesc date de ______.
Bancă de cuvinte:
Test de înțelegere
Test rapid - algoritmi:
1. Care dintre următoarele este un algoritm corect?
2. În problema „media a două numere", suma celor două numere este o dată de:
3. Proprietatea prin care un algoritm dă același rezultat pentru aceleași date de intrare se numește:
Test de verificare
Test rapid - algoritmi și date:
1. Care dintre următoarele este o proprietate a unui algoritm?
2. În problema „media a două numere", datele de intrare sunt...
3. „Spargerea unei probleme mari în probleme mici" se numește...
Aprofundare
De unde vine cuvântul „algoritm"? Termenul provine de la numele matematicianului persan Al-Khwarizmi (secolul al IX-lea), care a scris primele lucrări sistematice despre calcul. De atunci, algoritmii au devenit baza tuturor programelor: de la calculatoarele de buzunar până la aplicațiile de inteligență artificială de astăzi.
Algoritmi fără date de intrare. Există algoritmi care nu primesc nimic de la utilizator. De exemplu, programul care afișează „Salut!" nu are date de intrare, ci doar date de ieșire. Aceasta este o situație particulară importantă: atunci când analizăm o problemă, verificăm întotdeauna dacă există date de intrare, pentru că nu toate problemele au.
Gândirea computațională în jocuri. Fiecare joc video folosește algoritmi în spate: descompunerea (fiecare nivel este împărțit în provocări mici), recunoașterea tiparelor (inamicii se mișcă după tipare), abstracția (jocul ignoră detaliile care nu contează) și algoritmii propriu-ziși (fizica, coliziunile, scorul). Când joci un joc, de fapt experimentezi gândirea computațională!
PbInfo - Suma a două numere
Enunț:
Cerință: Se citesc două numere naturale a și b. Să se afișeze suma lor.
Date de intrare:
Programul citește de la tastatură numerele a și b.
Date de ieșire:
Programul va afișa pe ecran suma celor două numere.
Restricții și precizări:
Numerele citite sunt numere naturale, iar rezultatul este un număr întreg sau real.
Exemplu:
Intrare:
8 10
Ieșire:
18
Cum gândim soluția:
- Citim cele două numere cu
input()și le transformăm în întregi cuint() - Calculăm suma:
s = a + b - Afișăm rezultatul cu
print()
Scrie soluția în Python:
Soluție corectă:
a = int(input()) b = int(input()) s = a + b print(s)
Ce învățăm: datele de intrare sunt a și b, suma s este o dată de manevră, iar rezultatul afișat este date de ieșire.
PbInfo - Proba cu 3 note
Enunț:
Cerință: Un elev primește trei note la informatică (numere naturale). Să se calculeze media aritmetică a celor trei note.
Date de intrare:
Programul citește de la tastatură cele trei note, separate prin spații.
Date de ieșire:
Programul va afișa media aritmetică a celor trei note.
Restricții și precizări:
Numerele citite sunt numere naturale, iar rezultatul este un număr întreg sau real.
Exemplu:
Intrare:
8 10 9
Ieșire:
9.0
Cum gândim soluția:
- Citim toate cele trei note într-o singură linie
- Le despărțim cu
split()și le transformăm în întregi - Calculăm media și o afișăm
Scrie soluția în Python:
Soluție corectă:
n1, n2, n3 = map(int, input().split()) media = (n1 + n2 + n3) / 3 print(media)
Ce învățăm: folosim input() pentru intrare, calculăm media (manevră) și afișăm cu print() (ieșire).
Exercițiul Practic: Primele probleme de algoritmi
Sarcini de lucru
Completează următoarele sarcini pentru a-ți consolida cunoștințele despre algoritmi
Sarcina 1: Scrie un algoritm
Cerință: Scrie, în limbaj natural, un algoritm (pași clari, în ordine) pentru „spălarea mâinilor".
Soluție pentru Sarcina 1:
Exemplu de algoritm corect:
1. Deschide robinetul 2. Umezește mâinile 3. Pune săpun pe mâini 4. Freacă mâinile timp de 20 de secunde 5. Clătește mâinile cu apă 6. Închide robinetul 7. Uscă mâinile cu un prosop
Verifică: pașii sunt în ordine logică, fiecare pas este clar și algoritmul se termină.
Sarcina 2: Identifică tipul datelor
Cerință: Pentru problema „aria unui dreptunghi", identifică datele de intrare, de ieșire și de manevră.
Soluție pentru Sarcina 2:
Date de intrare: lungimea L și lățimea l ale dreptunghiului Date de ieșire: aria A = L * l Date de manevră: în acest caz nu sunt necesare valori intermediare (sau, dacă vrem, produsul L * l se poate considera manevră)
Scrie pe caiet - De reținut
Titlul lecției
Ora 3: Gândirea computațională și algoritmii
Definiția lecției
Gândirea computațională este un mod de a gândi care ne ajută să descompunem probleme complexe în pași mici, clari și logici, pe care un calculator le poate executa. Un algoritm este o secvență finită de pași, bine definită și ordonată, care transformă datele de intrare în date de ieșire, pentru a rezolva o problemă. Proprietățile esențiale ale unui algoritm sunt finitudinea, claritatea, determinismul, generalitatea și eficiența. Un algoritm lucrează cu date de intrare (informațiile primite), date de manevră (valorile intermediare folosite pe parcurs) și date de ieșire (rezultatele produse). De exemplu, algoritmul de preparare a ceaiului urmează pași clari și ordonați, de la punerea apei la fiert până la amestecarea zahărului, exact cum un program execută instrucțiunile în ordine pentru a obține rezultatul dorit.
Definiții esențiale
- Gândirea computațională - modul de a gândi care descompune probleme complexe în pași mici, clari și logici.
- Algoritmul - secvență finită de pași, bine definită și ordonată, care transformă datele de intrare în date de ieșire.
- Proprietățile algoritmului - finitudine, claritate, determinism, generalitate, eficiență.
- Date de intrare - informațiile primite de program; date de ieșire - rezultatele produse; date de manevră - valorile intermediare.
Algoritmul cheie - pseudocod
Algoritmul cheie - cod Python
a = int(input()) b = int(input()) s = a + b media = s / 2 print(media)
Greșeli comune de evitat
- Pași vagi sau neclari: „procesează datele" nu este un pas bun, trebuie să spui exact ce faci.
- Uitarea unei date de ieșire: orice algoritm trebuie să producă un rezultat.
- Confuzia între datele de manevră și cele de ieșire: suma intermediară nu este rezultatul final.
Sfaturi practice și trucuri
- Scrie întâi algoritmul în limbaj natural sau pseudocod, apoi transformă-l în cod.
- Identifică întotdeauna datele de intrare, de ieșire și de manevră înainte de a scrie orice program.
- Verifică proprietatea de determinism: același algoritm trebuie să dea mereu același rezultat.
Exemplu practic
Când urmezi o rețetă de gătit, aplici de fapt un algoritm: pașii sunt clari și ordonați, iar pentru aceleași ingrediente obții mereu același rezultat. La fel, un algoritm simplu poate calcula media a două note, folosind o valoare intermediară (suma), exact ca datele de manevră:
a = 8 b = 10 s = a + b media = s / 2 print(media)