Școala Româno-Britanică
Modulul 1 Clasa a IX-a | Python

Ora 3: Gândirea computațională și algoritmii

Ce vei învăța astăzi: Ce este un algoritm, proprietățile sale și datele cu care lucrează

Rezultat practic: Înțelegi ce este un algoritm și identifici datele de intrare, de ieșire și de manevră, ca bază pentru rezolvarea oricărei probleme (Competența 1.3).

Competența 1.3 Săptămâna 2

Înainte de a începe

De ce contează? Gândirea computațională este baza oricărei soluții de programare: orice problemă, de la cea mai simplă la cea mai complexă, se rezolvă prin pași clari numiți algoritmi.

Ce știi deja?

În lecția anterioară („Instalarea Python și primul program - Hello World”) ai scris primele linii Python. Ce pași a urmat programul tău pentru a afișa „Hello World” pe ecran, de la pornire până la rezultat?

Ideea-cheie: Un algoritm este o secvență finită de pași clari și ordonați care transformă datele de intrare în date de ieșire.
SINTEZĂ TEORETICĂ ȘI EXEMPLE GHIDATE

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ția și proprietățile unui algoritm
Date de intrare, ieșire și manevră
Exemple de algoritmi din viața reală

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”

Algoritmul PreparareCeai: scrie "Pune apa la fiert" scrie "Pune pliculetul de ceai în cană" scrie "Toarnă apa fierbinte în cană" scrie "Așteaptă până ceaiul se infuzează" scrie "Scoate pliculetul" scrie "Adaugă zahăr după gust" scrie "Amestecă"
Algoritm în limbaj natural
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:

Date de intrare

Informațiile pe care le primește programul pentru a lucra

Date de ieșire

Rezultatele pe care le produce programul

Date de manevră

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:
secvență ordonată intrare ieșire manevră

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...

Ai grijă la: Să consideri că orice listă de pași este un algoritm: un pas neclar sau o ordine greșită („coace, apoi amestecă”) nu respectă proprietățile claritate și determinism.

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ă!

APLICARE ȘI REZOLVARE DE PROBLEME

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:
  1. Citim cele două numere cu input() și le transformăm în întregi cu int()
  2. Calculăm suma: s = a + b
  3. 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:
  1. Citim toate cele trei note într-o singură linie
  2. Le despărțim cu split() și le transformăm în întregi
  3. 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ȚII PRACTICE

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 MediaDouaNumere: citește a, b s = a + b media = s / 2 scrie media

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)