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

Ora 12: Pseudocod, organigramă și Python - elemente de corespondență

Ce vei învăța astăzi: Cum corespund instrucțiunile din pseudocod (citește, scrie, dacă, pentru) cu instrucțiunile din Python

Rezultat practic: Transformi fără greșeală un algoritm dat în pseudocod într-un program Python complet (Competența 2.3).

Competența 2.3 Săptămâna 6

Înainte de a începe

De ce contează? Traducerea pseudocodului în Python este competența centrală a modulului: fiecare cuvânt cheie (citește, scrie, dacă, pentru) are un corespondent exact în Python, ceea ce face algoritmii portabili.

Ce știi deja?

În lecția anterioară („Medii integrate de dezvoltare și executarea programelor Python”) ai rulat programe în IDLE. Transformă mental în Python „citește n, scrie n * 2” — ce linii ai scrie?

Ideea-cheie: Fiecare instrucțiune din pseudocod are un corespondent Python: citeșteinput(), scrieprint(), dacăif, pentrufor, cât timpwhile.
SINTEZĂ TEORETICĂ ȘI EXEMPLE GHIDATE

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.

Citește, scrie → input(), print()
Dacă-atunci-altfel → if, elif, else
Pentru, cât timp → for, while
Tabel de corespondență pseudocod - Python

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

citește a, ba = int(input()), b = int(input()) - citirea de la tastatură
scrie xprint(x) - afișarea pe ecran
dacă condiție atunci ... altfel ...if condiție: ... else: ... - decizia
pentru i de la 1 la nfor i in range(1, n + 1): - bucla cu număr cunoscut de pași
cât timp condițiewhile condiție: - bucla cu condiție

De 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:

Algoritmul Paritate: citește n dacă n % 2 = 0 atunci scrie "par" altfel scrie "impar"
Program Python complet (rulabil)
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:

Algoritmul MediaTreiNote: citește n1, n2, n3 s = n1 + n2 + n3 media = s / 3 scrie media
Program Python complet (rulabil)
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:
citește input() scrie print() dacă

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:
int(input()) if print else

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

Ai grijă la: Să traduci greșit 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.

APLICARE ȘI REZOLVARE DE PROBLEME

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.

Algoritmul SumaPrimeleN: citește n s = 0 pentru i de la 1 la n execută s = s + i scrie s
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:
  1. Transformăm citește n în n = int(input())
  2. Transformăm pentru i de la 1 la n în for i in range(1, n + 1):
  3. Adunăm fiecare i la acumulatorul s
  4. 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.

Algoritmul NumarPare: citește n cnt = 0 pentru i de la 1 la n execută dacă i % 2 = 0 atunci cnt = cnt + 1 scrie cnt
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:
  1. Transformăm citește n în Python
  2. Transformăm dacă i % 2 = 0 în if i % 2 == 0:
  3. Creștem contorul cnt de fiecare dată când i este par
  4. 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ȚII PRACTICE

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 Paritate: citește n dacă n % 2 = 0 atunci scrie "par" altfel scrie "impar"

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 = 5 este greșit, corect este if 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 scriem range(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")