Ce vei învăța astăzi?
După această lecție vei putea descrie cele cinci etape ale elaborării unui program și vei ști rolul fiecărei etape.
Cele cinci etape ale elaborării unui program
Elaborarea unui program nu înseamnă doar „scrierea de cod". Este un proces cu mai multe etape, pe care le respectăm mereu:
| Etapa | Ce facem | Întrebarea la care răspunde |
|---|---|---|
| 1. Analiza | Înțelegem problema, identificăm datele de intrare și de ieșire | Ce știu? Ce trebuie să obțin? |
| 2. Proiectarea | Scriem algoritmul (în pseudocod (o descriere structurată a algoritmului, scrisă aproape ca în limbajul natural) sau organigramă (reprezentarea grafică a algoritmului, cu figuri geometrice pentru fiecare pas)) | Cum rezolv problema, pas cu pas? |
| 3. Implementarea | Transformăm algoritmul în program Python | Cum scriu pașii în limbaj de programare? |
| 4. Testarea | Rulăm programul cu date de test și verificăm rezultatele | Funcționează corect? |
| 5. Depanarea | Găsim și corectăm erorile descoperite la testare | Cum corectez ce nu merge? |
Exemplu aplicat: „media a trei note"
ANALIZA - Intrare: notele n1, n2, n3 (numere întregi) - Ieșire: media aritmetică (număr real) PROIECTAREA (algoritm în pseudocod) - citește n1, n2, n3 - media = (n1 + n2 + n3) / 3 - scrie media IMPLEMENTAREA (program Python) - transformăm fiecare pas în instrucțiuni Python TESTAREA - rulăm cu n1=8, n2=10, n3=9 → trebuie să obținem 9.0 DEPANAREA - dacă rezultatul este greșit, căutăm eroarea și o corectăm
De la algoritm la program Python
Implementarea presupune transformarea pașilor din algoritm în instrucțiuni Python. Exemplu pentru „media a trei note":
n1 = int(input()) n2 = int(input()) n3 = int(input()) media = (n1 + n2 + n3) / 3 print(media)
De reținut: la fiecare problemă începem cu analiza, continuăm cu proiectarea, abia apoi scriem cod. Testarea ne spune dacă am gândit corect.
Exercițiu de completare
Așază etapele elaborării unui program în ordinea corectă:
1. ______
2. ______
3. ______
4. ______
5. ______
Bancă de cuvinte:
Test de înțelegere
Test rapid - etapele unui program:
1. În care etapă identificăm datele de intrare și de ieșire?
2. În care etapă scriem algoritmul în pseudocod?
3. Ce facem în etapa de depanare?
Test de verificare
Test rapid - etapele elaborării unui program:
1. Prima etapă în elaborarea unui program este...
2. Scrierea codului în Python se face în etapa de...
3. Găsirea și corectarea erorilor se face în etapa de...
Aprofundare
De ce analiza este cea mai importantă etapă? O greșeală în analiză se propagă (adică se transmite mai departe) în toate etapele următoare: dacă identificăm greșit datele de intrare, programul va fi greșit chiar dacă codul este impecabil. Programatorii cu experiență petrec adesea mai mult timp analizând și proiectând decât scriind codul propriu-zis. Este exact ca la matematică: o problemă greșit înțeleasă nu poate fi rezolvată corect.
Depanarea este o artă, nu doar o etapă. Depanarea înseamnă mai mult decât „să scoatem erorile". Ea include strategii precise: citirea cu atenție a mesajului de eroare, folosirea unor afișaje temporare (print()) pentru a vedea valorile intermediare, și tabelul de urmărire a variabilelor (un tabel în care notăm valorile variabilelor la fiecare pas, pentru a descoperi unde apare eroarea). Un programator bun nu corectează la întâmplare: urmează un plan sistematic.
Cazuri particulare în testare. Etapa de testare are cazuri particulare esențiale: testarea cu valori minime (n = 0), cu valori maxime, cu valori negative atunci când problema nu le permite și cu valori „în mijlocul" intervalului. Fiecare categorie descoperă un alt tip de eroare posibilă.
PbInfo - Aria dreptunghiului
Enunț:
Cerință: Se citesc lungimea L și lățimea l ale unui dreptunghi. Să se afișeze aria acestuia.
Date de intrare:
Programul citește de la tastatură numerele L și l.
Date de ieșire:
Programul va afișa aria dreptunghiului.
Restricții și precizări:
Numerele citite sunt numere naturale, iar rezultatul este un număr întreg sau real.
Exemplu:
Intrare:
5 3
Ieșire:
15
Cum gândim soluția (pe etape):
- Analiza: intrare L, l; ieșire aria = L * l
- Proiectarea: citește L, l; aria = L * l; scrie aria
- Implementarea: transformăm pașii în Python
Scrie soluția în Python:
Soluție corectă:
L = int(input()) l = int(input()) aria = L * l print(aria)
Ce învățăm: am respectat etapele: analiză (identificăm L, l, aria), proiectare, apoi implementare.
PbInfo - Dublul unui număr
Enunț:
Cerință: Se citește un număr natural n. Să se afișeze dublul acestuia.
Date de intrare:
Programul citește de la tastatură numărul n.
Date de ieșire:
Programul va afișa valoarea 2 * n.
Restricții și precizări:
Numerele citite sunt numere naturale, iar rezultatul este un număr întreg sau real.
Exemplu:
Intrare:
7
Ieșire:
14
Cum gândim soluția:
- Analiza: intrare n; ieșire 2 * n
- Proiectarea: citește n; dublu = 2 * n; scrie dublu
- Implementarea: scriem programul Python
- Testarea: verificăm cu n = 7 → 14
Scrie soluția în Python:
Soluție corectă:
n = int(input()) dublu = 2 * n print(dublu)
Ce învățăm: respectăm ordinea etapelor și testăm întotdeauna programul înainte de a-l considera gata.
Exercițiul Practic: Aplicarea etapelor
Sarcini de lucru
Aplică cele cinci etape ale elaborării unui program pentru probleme concrete
Sarcina 1: Analiză și proiectare
Cerință: Pentru problema „perimetrul unui dreptunghi", scrie: datele de intrare, datele de ieșire și algoritmul în pseudocod.
Soluție pentru Sarcina 1:
ANALIZA: - Intrare: lungimea L și lățimea l - Ieșire: perimetrul P = 2 * (L + l) PROIECTAREA (pseudocod): - citește L, l - P = 2 * (L + l) - scrie P
Sarcina 2: Implementare și testare
Cerință: Implementează în Python algoritmul de la Sarcina 1, apoi notează rezultatul pentru testul L = 6, l = 4.
Soluție pentru Sarcina 2:
L = int(input()) l = int(input()) P = 2 * (L + l) print(P) # Testare: L = 6, l = 4 → P = 2 * 10 = 20
Verificare: pentru L=6 și l=4 obținem P = 20. Dacă ai alt rezultat, verifică formula și pașii.
Scrie pe caiet - De reținut
Titlul lecției
Ora 4: Etapele elaborării unui program
Definiția lecției
Elaborarea unui program nu înseamnă doar „scrierea de cod", ci este un proces cu cinci etape, pe care le respectăm mereu. În etapa de analiză înțelegem problema și identificăm datele de intrare și de ieșire. În etapa de proiectare scriem algoritmul în pseudocod sau organigramă, pas cu pas. Implementarea transformă pașii algoritmului în instrucțiuni Python, apoi testarea rulează programul cu date de test pentru a verifica rezultatele. În etapa finală, depanarea, găsim și corectăm erorile descoperite la testare. De exemplu, pentru calculul mediei a trei note, analizăm ce știm (notele), proiectăm pașii (adunare, împărțire), implementăm în Python, testăm cu notele 8, 10 și 9, apoi corectăm eventualele greșeli, exact ca la rezolvarea unei probleme de matematică, pas cu pas.
Definiții esențiale
- Analiza - identificăm datele de intrare, de ieșire și de manevră ale problemei.
- Proiectarea - scriem algoritmul în pseudocod, pas cu pas.
- Implementarea - transformăm pașii algoritmului în instrucțiuni Python.
- Testarea - rulăm programul cu date de test și verificăm rezultatele.
- Depanarea - găsim și corectăm erorile descoperite la testare.
Algoritmul cheie - pseudocod
Algoritmul cheie - cod Python
n1 = int(input()) n2 = int(input()) n3 = int(input()) s = n1 + n2 + n3 media = s / 3 print(media)
Greșeli comune de evitat
- Sărirea peste analiză și proiectare - programul se scrie direct, fără algoritm.
- Testarea cu un singur exemplu și declararea programului corect.
- Confuzia dintre datele de intrare și cele de ieșire în analiză.
- Corectarea erorilor la întâmplare, fără a înțelege cauza lor.
Sfaturi practice și trucuri
- La orice problemă, scrie mai întâi pe hârtie: ce date intră, ce date ies, ce prelucrăm.
- Proiectează algoritmul în pseudocod și abia apoi implementează-l în Python.
- Testează cu valori diferite și verifică rezultatul pe calculator, nu doar „cu ochiul".
- La depanare, citește mesajul de eroare complet și începe corectarea de la prima eroare raportată.
Exemplu practic
Când îți calculezi media la sfârșitul semestrului, aplici fără să-ți dai seama etapele elaborării unui program: analizezi notele pe care le ai (intrare), planifici cum să le aduni și să împarți (proiectare), faci calculul (implementare), verifici rezultatul cu un alt calcul (testare) și, dacă a ieșit greșit, refaci pașii ca să găsești eroarea (depanare).