Python clasa a 9-a · Manual Python
Laborator Python
LECȚIE · CAPITOLUL 1

1.1. Recapitulare: de la problemă la program

Date, variabile, tipuri de date, operatori, citire și afișare. Construim o bază clară pentru programarea în Python.

ANALIZĂ
→
PROIECTARE
→
IMPLEMENTARE
→
TESTARE
→
DEPANARE
01
OBIECTIVE

La finalul lecției vei putea...

  • să identifici datele de intrare, datele de ieșire și rezultatul unei probleme;
  • să explici rolul unei variabile și să alegi tipul de date potrivit pentru o valoare;
  • să utilizezi operatori aritmetici, relaționali și logici;
  • să realizezi operații de citire și afișare în Python;
  • să explici diferența dintre text și valoare numerică;
  • să scrii un algoritm simplu în pseudocod și să-l transpui în Python;
  • să urmărești valorile variabilelor în timpul executării;
  • să testezi un program simplu folosind valori concrete.
Ideea centrală: aceeași problemă poate fi descrisă printr-un algoritm și apoi implementată în Python. Pentru aceasta trebuie să înțelegem datele, variabilele, tipurile, operatorii, citirea și afișarea.
02
EXPLICAȚIE

Elementele de bază ale unui program

2.1. De la problemă la program

Rezolvarea unei probleme informatice poate fi privită ca o succesiune de pași:

Problemă → analiză → algoritm → implementare → testare → program.

În analiză identificăm datele de intrare, prelucrarea necesară și datele de ieșire. Algoritmul descrie pașii rezolvării, iar implementarea exprimă algoritmul într-un limbaj de programare.

2.2. Datele

O dată este o informație utilizată de algoritm.

DatăExempluTip
vârsta unui elev15întreg
media unui elev9.75real
numele elevului"Andrei"șir de caractere
răspunsul la o întrebareTruelogic

Într-o problemă putem avea date de intrare, date intermediare și date de ieșire.

2.3. Variabilele

O variabilă este un nume asociat unei valori, care poate fi utilizat în timpul executării programului. În Python, atribuirea se realizează cu =.

a = 12
b = 8
s = a + b
print(s)

După executare, s are valoarea 20.

VariabilăValoare
a12
b8
s20

Urmărește valorile

x = 5
y = x + 3
x = 10

Ce valoare are y la final?

2.4. Tipuri de date în Python

Tipul unei valori arată natura acesteia și determină operațiile care pot fi aplicate.

int

numere întregi: 15, -4, 0

float

numere reale: 9.75, -0.5

bool

valori logice: True, False

str

șiruri de caractere: "Ana", "12"

x = 15
print(type(x))       # int

nota = 9.75
print(type(nota))    # float

nume = "Andrei"
print(type(nume))    # str

promovat = True
print(type(promovat)) # bool

Ce tip are 15.5?

2.5. Operatorii aritmetici

Operatorii aritmetici permit efectuarea calculelor.

OperatorSemnificațieExemplu
+adunare7 + 3 = 10
-scădere7 - 3 = 4
*înmulțire7 * 3 = 21
/împărțire7 / 3 = 2.333...
//câtul împărțirii întregi7 // 3 = 2
%restul împărțirii7 % 3 = 1
**ridicare la putere2 ** 3 = 8

Calculează rapid

Pentru a = 23 și b = 7, cât este a % b?

2.6. Operatorii relaționali (de comparație)

Operatorii relaționali compară două valori. Rezultatul este o valoare logică: True sau False.

OperatorSemnificație
<mai mic
<=mai mic sau egal
>mai mare
>=mai mare sau egal
==egal
!=diferit
a = 12
b = 8
print(a > b)   # True
print(a == b)  # False
print(a != b)  # True

Compară

Pentru a = 7 și b = 7, ce valoare are a == b?

2.7. Operatorii logici

Operatorii logici permit combinarea sau negarea unor condiții.

and

Este adevărat numai dacă ambele condiții sunt adevărate.

or

Este adevărat dacă cel puțin una dintre condiții este adevărată.

not

Inversează valoarea logică.

Exemplu

18 > 10 and 18 < 20 are valoarea True.

Verifică expresia

(5 > 2) and (3 == 4)

2.8. Citirea datelor

Funcția input() citește date introduse de utilizator. Rezultatul este de tip str.

nume = input()
print(nume)

Pentru a utiliza valoarea ca număr realizăm o conversie:

n = int(input())
x = float(input())
Observă: dacă utilizatorul introduce 12 și 8, atunci input() produce textele "12" și "8". De aceea "12" + "8" produce "128". Pentru suma numerică avem nevoie de int().

Citire simulată

2.9. Citirea a două valori

Nu introducem încă o formă compactă de citire. În prima lecție vrem să vedem clar fiecare operație.

Citirea a două numere întregi se poate scrie în doi pași:

a = int(input())
b = int(input())

Prima instrucțiune citește primul număr și îl memorează în a. A doua citește al doilea număr și îl memorează în b.

De ce două instrucțiuni? Pentru că în acest moment învățăm ce face fiecare instrucțiune. Forma simplă este mai ușor de urmărit și de verificat.

2.10. Afișarea datelor

Funcția print() afișează valori sau rezultate.

print(a)
print(a, b)
print("Suma este:", a + b)

Ce va afișa?

a = 6
b = 4
print("Suma este:", a + b)

03
EXEMPLU INTUITIV

Un calculator pentru cumpărături

Un magazin are nevoie de un program care să calculeze costul unor produse. Utilizatorul introduce prețul unui produs și numărul de produse.

Încearcă

Rezultatul va apărea aici.

Fluxul problemei

CITIRE → preț, cantitate

PRELUCRARE → total = preț × cantitate

AFIȘARE → totalul

04
PYTHON

Construim treptat programul

Un program Python este alcătuit din instrucțiuni executate în ordinea în care apar.

a = 12
b = 8
s = a + b
print("Suma este:", s)

Mai întâi memorăm valorile, apoi calculăm suma și, în final, afișăm rezultatul.

Python Sandbox

Modifică programul și execută-l direct în lecție.

Rezultatul va apărea aici.

Primul program complet

Acum putem reuni ceea ce am învățat:

a = int(input())
b = int(input())
s = a + b
print(s)

Programul are patru instrucțiuni simple:

  1. citește primul număr;
  2. citește al doilea număr;
  3. calculează suma;
  4. afișează suma.
05
ALGORITM / PSEUDOCOD

Descriem algoritmul înainte de cod

Problemă: se citesc două numere întregi a și b. Să se determine suma lor.

Analiză

Date de intrare: a, b. Date de ieșire: s. Prelucrare: s = a + b.

Pseudocod

citește a, b
s ← a + b
scrie s

Python

a = int(input())
b = int(input())
s = a + b
print(s)

Reconstituie fluxul

Apasă pașii în ordinea corectă.

Începe cu citirea datelor.

06
ATENȚIE!

Greșeli frecvente

= și == nu au același rol

x = 5 realizează o atribuire. x == 5 verifică egalitatea.

input() produce text

Pentru calcule numerice folosim int(input()) sau float(input()).

/ și // sunt diferiți

17 / 5 = 3.4, iar 17 // 5 = 3.

% este restul

17 % 5 = 2.

Textul nu este număr

"12" + "8" produce "128", nu 20.

Un program care rulează nu este neapărat corect

Rezultatul trebuie verificat prin teste relevante.

07
EXEMPLU REZOLVAT

Calcularea ariei unui cerc

Enunț

Se citește raza r a unui cerc. Să se calculeze și să se afișeze aria, folosind π ≈ 3.14.

Analiză

Date de intrare: raza r. Date de ieșire: aria A. Formula este A = 3.14 × r × r.

Algoritm

citește r
A ← 3.14 * r * r
scrie A

Python

r = float(input())
A = 3.14 * r * r
print(A)

Urmărirea variabilelor

PasrA
citire5—
calcul578.5
afișare578.5

Testarea

TestrRezultat așteptat
caz normal578.5
caz-limită00
caz particular13.14

Verificarea soluției: pentru fiecare valoare, programul aplică formula A = 3.14 × r × r. De exemplu, pentru r = 5, obținem 3.14 × 5 × 5 = 78.5.

Verificare rapidă

Care este rezultatul pentru r = 2?

08
EXERCIȚII DE BAZĂ

Aplicarea directă

  1. Se citesc două numere întregi a și b. Afișați suma, diferența și produsul.
  2. Se citește un număr întreg n. Afișați pătratul și cubul lui.
  3. Se citesc două numere întregi. Afișați câtul și restul împărțirii întregi a primului la al doilea. Considerați că al doilea număr este nenul.
  4. Se citește temperatura în grade Celsius. Transformați-o în Fahrenheit folosind formula F = 9C/5 + 32.
  5. Se citește latura unui pătrat. Calculați perimetrul și aria.
  6. Se citesc două numere. Afișați rezultatul comparației a > b.
  7. Se citește n. Afișați restul împărțirii lui n la 2.

Experimentează: modifică programul

Programul de mai jos transformă o temperatură exprimată în grade Celsius în grade Fahrenheit. Modifică valoarea lui C, rulează programul și observă rezultatul.

Rezultatul va apărea aici.
  1. schimbă valoarea lui C și rulează din nou programul;
  2. alege o valoare pentru care rezultatul în Fahrenheit este un număr întreg;
  3. modifică mesajul afișat de program;
  4. adaugă o instrucțiune care afișează și temperatura în grade Celsius.

Activitate interactivă

Care este valoarea expresiei 2 ** 4 + 3?

09
EXERCIȚII DE APROFUNDARE

Combinăm noțiunile

  1. Schimbați valorile a două variabile și explicați, prin urmărirea variabilelor, ce se întâmplă după fiecare atribuire.
  2. Calculați media aritmetică a trei numere reale.
  3. Se citește un număr natural de secunde. Determinați numărul de ore, minute și secunde.
  4. Scrieți o expresie care verifică dacă x aparține intervalului 10 ≤ x ≤ 99.
  5. Scrieți expresii care verifică simultan două condiții folosind and, or și not.
  6. Explicați de ce a = input(); b = input(); print(a + b) nu calculează suma numerică. Corectați programul astfel încât să afișeze suma.
  7. Transcrieți în Python algoritmul: citește a, b; p ← a * b; scrie p.
10
VERIFICARE

Verificăm dacă am înțeles

A. Verifică noțiunile

B. Construiește primul program

Completează instrucțiunile care citesc două numere întregi și afișează suma.

a =
b =
s = a + b
(s)

C. Gândește și explică

1. Ce produce input()?
a = input()
b = input()
print(a + b)

Pentru intrările 12 și 8, ce se afișează?

2. Calculează expresiile

Pentru a = 23 și b = 7, completează rezultatele.

a + b
a - b
a * b
a / b
a // b
a % b

3. Transpune algoritmul în Python

Algoritm:

citește x
y ← x * x
scrie y

Completează instrucțiunile:

x =
y = x * x
(y)

11
MINI-PROIECT

Calculatorul meu

MISIUNE

Construiește un mic calculator în Python

Realizează un program Python pentru două numere.

  1. citește două numere;
  2. calculează suma, diferența și produsul;
  3. calculează câtul dacă al doilea număr este nenul;
  4. calculează restul dacă valorile sunt întregi;
  5. afișează rezultatele într-o formă clară.

Cerință suplimentară: notează datele de intrare, variabilele, operatorii și rezultatele așteptate. Scrie mai întâi pseudocodul, apoi programul Python.

Exemplu pentru 12 și 5

Suma17
Diferența7
Produsul60
Câtul2.4
Restul2

Ai terminat lecția?

Înainte de finalizare, verifică dacă poți explica diferența dintre int și str, dintre = și == și dintre /, // și %.