Ce vei învăța astăzi?
După această lecție vei ști să transformi fiecare instrucțiune din pseudocod în corespondentul ei din Python și să construiești tabelul de corespondență dintre cele două forme de reprezentare.
Elementele pseudocodului și corespondența lor în Python
Definiție: Pseudocodul este o formă de reprezentare a algoritmului, apropiată de limbajul natural, care folosește cuvinte cheie standard: citește, scrie, dacă, pentru, cât timp. Fiecare dintre acestea are un corespondent exact (elementul care îndeplinește același rol) în Python.
Analogie: pseudocodul este planul casei
Înainte de a construi o casă, arhitectul desenează planul. Planul nu este casa, dar arată exact ce va fi construit: unde sunt pereții, ușile, ferestrele. La fel, pseudocodul este „planul" programului: nu rulează pe calculator, dar descrie exact ce instrucțiuni Python vom scrie. Construcția propriu-zisă (implementarea) se face în Python.
Corespondențele principale
a = int(input()), b = int(input()) - citirea de la tastaturăprint(x) - afișarea pe ecranif condiție: ... else: ... - deciziafor i in range(1, n + 1): - bucla cu număr cunoscut de pașiwhile condiție: - bucla cu condițieDe reținut: atribuirea (operația de punere a unei valori într-o variabilă) x <- 5 din pseudocod devine x = 5 în Python, iar structurile se termină în Python cu două puncte și indentare.
Tabelul de corespondență pseudocod - Python
Acest tabel este cel mai important instrument al lecției. Îl vei folosi la fiecare problemă: vei scrie algoritmul în pseudocod, apoi îl vei transforma pas cu pas în Python, folosind corespondențele de mai jos.
| Pseudocod | Python | Rol |
|---|---|---|
citește a |
a = int(input()) |
Citirea unei valori de la tastatură |
scrie x |
print(x) |
Afișarea unei valori pe ecran |
x ← valoare |
x = valoare |
Atribuirea (reținerea unei valori) |
dacă c atunci ... altfel ... |
if c: ... else: ... |
Decizia pe baza unei condiții |
pentru i de la 1 la n |
for i in range(1, n + 1): |
Repetarea unui număr cunoscut de ori |
cât timp c |
while c: |
Repetarea cât timp condiția este adevărată |
Exemplu de transformare pas cu pas
Vrem să transformăm în Python algoritmul „paritate" care citește un număr și verifică dacă este par:
n = int(input())
if n % 2 == 0:
print("par")
else:
print("impar")
Observă: dacă devine if și se termină cu :, altfel devine else:, iar comparația = din pseudocod devine == în Python. Liniile din interiorul deciziei sunt indentate (împinse la dreapta).
Organigrama și corespondența cu Python
Organigrama (schema logică) reprezintă algoritmul cu ajutorul blocurilor grafice: paralelogramul pentru citire/afișare, dreptunghiul pentru prelucrare și rombul pentru decizie. Fiecare bloc are un corespondent direct în pseudocod și în Python.
| Bloc din organigramă | Pseudocod | Python |
|---|---|---|
| Paralelogram (intrare/ieșire) | citește / scrie |
input() / print() |
| Dreptunghi (prelucrare) | x ← valoare |
x = valoare |
| Romb (decizie) | dacă c atunci |
if c: |
| Buclă (repetare) | pentru / cât timp |
for / while |
Exemplu complet: media a trei note
Pornim de la algoritmul dat în pseudocod și îl transformăm integral în Python:
n1 = int(input()) n2 = int(input()) n3 = int(input()) s = n1 + n2 + n3 media = s / 3 print(media)
Observă: ordinea pașilor se păstrează identică: citire, prelucrare (suma, apoi media), afișare. Fiecare linie de pseudocod a devenit o linie (sau mai multe) de Python.
Exercițiu de completare - corespondențe
Completează tabelul de corespondență cu cuvintele potrivite:
Instrucțiunea ______ din pseudocod corespunde funcției ______ din Python. Instrucțiunea ______ corespunde funcției ______. Decizia ______-atunci-altfel corespunde lui if ... else.
Bancă de cuvinte:
Exercițiu de completare - programul
Completează programul Python obținut din pseudocod:
# pseudocod: citește n
n = ______
# pseudocod: dacă n > 0 atunci
______ n > 0:
______("pozitiv")
# pseudocod: altfel
______:
print("nepozitiv")
Bancă de cuvinte:
Test de înțelegere
Test rapid - corespondențe:
1. Instrucțiunea „citește n" din pseudocod corespunde în Python cu...
2. Instrucțiunea „pentru i de la 1 la n" corespunde în Python cu...
3. În Python, liniile din interiorul unei structuri if/for trebuie...
cât timp: în pseudocod cât timp devine while (nu for), iar pentru devine for — cele două nu sunt interschimbabile.Aprofundare
De ce folosim pseudocod dacă tot scriem în Python? Pseudocodul este independent de limbaj: același algoritm poate fi implementat în Python, C++ sau orice alt limbaj. La bacalaureat și la olimpiadă, rezolvarea începe întotdeauna cu algoritmul în pseudocod, pentru că verifică dacă ai înțeles logica, nu doar sintaxa (setul de reguli după care se scrie corect un program) unui limbaj.
Diferența subtilă la comparații. În pseudocod folosim semnul = atât pentru atribuire, cât și pentru comparație. În Python, atribuirea folosește =, iar comparația folosește ==. Confuzia dintre ele este una dintre cele mai frecvente greșeli la începători: if n = 5 produce o eroare, corect este if n == 5.
Bucla „pentru" în detalii. for i in range(1, n + 1) generează valorile 1, 2, ..., n (n-1 este ultimul dacă scriem range(n)). Atunci când pseudocodul spune „de la 1 la n", nu uita că al doilea argument al lui range() este exclusiv: de aceea scriem n + 1.
PbInfo - Suma primelor n numere (din pseudocod)
Enunț:
Cerință: Se citește numărul natural n. Să se afișeze suma 1 + 2 + ... + n. Algoritmul este dat mai jos în pseudocod și trebuie transformat în Python.
Date de intrare:
Programul citește de la tastatură numărul n.
Date de ieșire:
Programul va afișa suma primelor n numere naturale.
Restricții și precizări:
n este un număr natural.
Exemplu:
Intrare:
5
Ieșire:
15
Cum gândim soluția:
- Transformăm
citește nînn = int(input()) - Transformăm
pentru i de la 1 la nînfor i in range(1, n + 1): - Adunăm fiecare i la acumulatorul s
- Afișăm rezultatul
Scrie soluția în Python:
Soluție corectă:
n = int(input())
s = 0
for i in range(1, n + 1):
s = s + i
print(s)
Ce învățăm: pentru i de la 1 la n a devenit for i in range(1, n + 1). Fiecare corespondență din tabel a fost aplicată pas cu pas.
PbInfo - Numere pare (din pseudocod)
Enunț:
Cerință: Se citește numărul natural n. Să se afișeze câte numere pare există între 1 și n. Algoritmul este dat în pseudocod.
Date de intrare:
Programul citește de la tastatură numărul n.
Date de ieșire:
Programul va afișa numărul de valori pare din intervalul 1 ... n.
Restricții și precizări:
n este un număr natural, iar cnt este un număr întreg.
Exemplu:
Intrare:
10
Ieșire:
5
Cum gândim soluția:
- Transformăm
citește nîn Python - Transformăm
dacă i % 2 = 0înif i % 2 == 0: - Creștem contorul cnt de fiecare dată când i este par
- Afișăm numărul de valori pare
Scrie soluția în Python:
Soluție corectă:
n = int(input())
cnt = 0
for i in range(1, n + 1):
if i % 2 == 0:
cnt = cnt + 1
print(cnt)
Ce învățăm: structura dacă din interiorul buclei pentru a devenit un if indentat în interiorul for. De la pseudocod am obținut direct programul Python funcțional.
Exercițiul Practic: Transformarea pseudocod - Python
Sarcini de lucru
Transformă algoritmi din pseudocod în programe Python complete
Sarcina 1: Transformă algoritmul
Cerință: Transformă următorul algoritm din pseudocod în Python: „citește a, b; dacă a > b atunci scrie a, altfel scrie b" (maximul a două numere).
Soluție pentru Sarcina 1:
a = int(input())
b = int(input())
if a > b:
print(a)
else:
print(b)
Verifică: dacă a devenit if cu două puncte, altfel a devenit else:, iar conținutul este indentat.
Sarcina 2: Desenează corespondențele
Cerință: Scrie, sub formă de tabel, corespondența dintre următoarele instrucțiuni de pseudocod și Python: citește, scrie, dacă-atunci-altfel, pentru, cât timp.
Soluție pentru Sarcina 2:
citește n → n = int(input()) scrie x → print(x) dacă c atunci → if c: ... else: ... pentru i de la 1 la n → for i in range(1, n + 1): cât timp c → while c:
Verifică: acest tabel este instrumentul principal pe care îl folosești la toate problemele viitoare.
Scrie pe caiet - De reținut
Titlul lecției
Ora 12: Pseudocod, organigrama și Python - elemente de corespondență
Definiția lecției
Pseudocodul este o formă de reprezentare a algoritmului, apropiată de limbajul natural, care folosește cuvinte cheie standard, precum citește, scrie, dacă, pentru și cât timp. Fiecare dintre acestea are un corespondent exact în Python: citește devine input(), scrie devine print(), dacă-atunci-altfel devine if-elif-else, pentru devine for, iar cât timp devine while. Tabelul de corespondență pseudocod - Python este instrumentul principal al lecției, folosit la fiecare problemă pentru a transforma algoritmul pas cu pas în program. Organigrama reprezintă același algoritm cu blocuri grafice: paralelogramul pentru citire și afișare, dreptunghiul pentru prelucrare și rombul pentru decizie. Două reguli importante: atribuirea folosește =, iar comparația folosește ==, iar structurile Python se termină cu două puncte și au corpul indentat. De exemplu, algoritmul de paritate, scris în pseudocod, se transformă linie cu linie în programul Python care afișează „par" sau „impar".
Definiții esențiale
- Pseudocodul este o formă de reprezentare a algoritmului, apropiată de limbajul natural, cu cuvinte cheie standard: citește, scrie, dacă, pentru, cât timp.
- Organigrama reprezintă algoritmul cu blocuri grafice: paralelogram (intrare/ieșire), dreptunghi (prelucrare), romb (decizie).
- Fiecare instrucțiune de pseudocod are un corespondent exact în Python.
- Atribuirea folosește
=, iar comparația folosește==în Python. - Structurile Python se termină cu două puncte și au corpul indentat.
Algoritmul cheie - pseudocod
Algoritmul cheie - cod Python
n = int(input())
if n % 2 == 0:
print("par")
else:
print("impar")Greșeli comune de evitat
- Scrierea comparației cu un singur
=:if n = 5este greșit, corect esteif n == 5. - Uitarea celor două puncte
:dupăif,for,while. - Omiterea indentării: liniile din interiorul structurilor trebuie împinse la dreapta.
- Scrierea
range(1, n)când pseudocodul cere „de la 1 la n" - al doilea argument este exclusiv, deci scriemrange(1, n + 1).
Sfaturi practice și trucuri
- Scrie întotdeauna întâi algoritmul în pseudocod, apoi transformă-l în Python folosind tabelul de corespondență.
- Transformă o instrucțiune odată și verifică fiecare pas cu exemplul dat.
- La exercițiile cu bucle, testează mental pentru valori mici (n = 3) înainte de a rula programul.
- Notează tabelul de corespondență în caiet - îl vei folosi la toate problemele.
Exemplu practic
O casieră urmează un plan de calcul pentru a da restul corect: citește suma plătită, verifică dacă este suficientă și afișează restul. Exact așa, un algoritm scris în pseudocod se transformă pas cu pas în Python, folosind tabelul de corespondență:
n = int(input())
if n % 2 == 0:
print("par")
else:
print("impar")