🐍 INFORMATICĂ — CLASA A IX-A

Python de la zero

Partea 1 — Bazele programării în Python

Teorie refăcută pentru ca exercițiile să nu folosească niciun concept înainte ca acesta să fie explicat.

🎯 0. Obiectivele Părții 1

La final trebuie să poți construi și urmări programe simple fără să depinzi de concepte încă nepredate.

Problemă
→
Analiză
→
Algoritm
→
Python
→
Testare
Limită pedagogică: în această parte nu folosim vectori/liste, matrice, bucle, indexare sau feliere de șiruri. Acestea vor fi introduse separat înainte de a apărea în probleme.

1. Ce este Python?

Python este un limbaj de programare folosit pentru a descrie algoritmi prin instrucțiuni executabile de calculator.
print("Salut!")

Instrucțiunile sunt executate, în mod obișnuit, de sus în jos.

Exemplul 1 — mai multe instrucțiuni UȘOR
print("Salut!")
print("Invat Python.")
print("Prima problema.")

2. Algoritmul

Algoritmul este o succesiune finită și ordonată de pași care conduce la rezolvarea unei probleme.

Exemplu: media a două numere

  1. Citim primul număr.
  2. Citim al doilea număr.
  3. Calculăm suma.
  4. Împărțim suma la 2.
  5. Afișăm rezultatul.

Pseudocod

citește a
citește b
s ← a + b
m ← s / 2
afișează m

Python

a = int(input())
b = int(input())
m = (a + b) / 2
print(m)

3. Variabile și atribuirea

O variabilă este un nume asociat unei valori folosite de program.
x = 10

= înseamnă atribuire: variabilei x îi atribuim valoarea 10.

3.1. Modificarea unei variabile

x = 10
x = x + 5
print(x)
Inițial x = 10; apoi x = 10 + 5; în final x = 15.
Atenție: nu confunda = (atribuire) cu == (comparație).

4. Tipuri de date

TipExempluSemnificație
int15număr întreg
float3.14număr real
str"Python"text / șir de caractere
boolTruevaloare logică

În Python, partea zecimală se scrie cu punct: 3.14.

Important: 7 este int, iar "7" este str. Arată asemănător, dar sunt valori de tipuri diferite.
x = 10
y = 3.5
z = "10"
p = True

print(type(x))
print(type(y))
print(type(z))
print(type(p))

5. Caractere

Python folosește tipul str pentru text. Un caracter poate fi privit ca un text format dintr-un singur simbol, de exemplu "A", "7" sau "?".
ScriereTipCe este?
7intnumărul șapte
"7"strcaracterul cifră „7”

5.1. Caracter cifră → număr

c = "7"
n = int(c)
print(n)

5.2. Număr → text

n = 7
c = str(n)
print(c)

5.3. Coduri Unicode

ord() transformă un caracter în codul său numeric, iar chr() transformă un cod numeric întreg în caracterul corespunzător.

print(ord("A"))
print(chr(65))
FuncțieDirecțieExemplu
ord()caracter → codord("A") → 65
chr()cod → caracterchr(65) → "A"
Nu confunda: str(7) produce textul "7"; chr(55) produce caracterul al cărui cod Unicode este 55. Pot ajunge la același caracter, dar prin mecanisme diferite.

6. Funcția print()

print() afișează valori în consolă.
a = 10
b = 20
print(a, b)

Valorile multiple sunt afișate implicit cu spațiu între ele.

6.1. end și sep

print("A", end="")
print("B")

print(10, 20, 30, sep="-")

7. Funcția input()

input() citește de la tastatură și returnează întotdeauna un str.
nume = input()
Schema esențială:
input() → str
int(input()) → int
float(input()) → float

8. Conversii de tip

O conversie transformă o valoare dintr-un tip în alt tip atunci când transformarea este permisă.

ConversieExempluObservație
int → floatfloat(7) → 7.0valoarea numerică rămâne aceeași
float → intint(7.9) → 7nu rotunjește; elimină partea zecimală
int → strstr(7) → "7"obținem text
float → strstr(7.5) → "7.5"obținem text
str → intint("7") → 7textul trebuie să reprezinte un întreg
str → floatfloat("7.5") → 7.5textul trebuie să reprezinte un real
caracter → codord("A") → 65cod Unicode
cod → caracterchr(65) → "A"argumentul este întreg
Foarte important: int(7.9) este 7, nu 8. Pentru -7.9, rezultatul este -7 (spre zero).

8.1. float → caracter prin cod

x = 65.9
c = chr(int(x))
print(c)

Aici avem două transformări: float → int → chr(). Nu există o conversie generală directă „orice real → caracter”; chr() lucrează cu un cod întreg.

chr(7) nu înseamnă caracterul „7”. Pentru cifra textuală „7” folosim str(7); pentru a transforma textul „7” în număr folosim int("7").

9. Operatorii matematici

OperatorRolExempluRezultat
+adunare8 + 311
-scădere8 - 35
*înmulțire8 * 324
/împărțire reală8 / 32.666...
//împărțire întreagă8 // 32
%rest8 % 32
**putere2 ** 532

9.1. Prioritatea

  1. Paranteze
  2. Puteri
  3. Înmulțire, împărțire, împărțire întreagă, rest
  4. Adunare și scădere
x = 2 + 3 * 4
print(x)       # 14

x = (2 + 3) * 4
print(x)       # 20

10. Operatorii de comparație

OperatorSemnificație
==egal
!=diferit
<mai mic
>mai mare
<=mai mic sau egal
>=mai mare sau egal

O comparație produce True sau False.

x = 10
print(x == 10)
print(x > 7)
print(x != 5)

11. if, elif și else

Instrucțiunile condiționale permit programului să aleagă ce execută în funcție de o condiție.

11.1. if

if conditie:
    instructiuni

11.2. if + else

n = int(input())

if n % 2 == 0:
    print("par")
else:
    print("impar")

11.3. if + elif + else

x = int(input())

if x > 0:
    print("pozitiv")
elif x < 0:
    print("negativ")
else:
    print("zero")
Indentarea este obligatorie: instrucțiunile din interiorul condiției sunt retrase, de regulă, cu 4 spații.

12. and, or, not

OperatorSemnificație
andambele condiții trebuie să fie adevărate
orcel puțin una trebuie să fie adevărată
notinversează valoarea logică
x = int(input())

if x >= 10 and x <= 20:
    print("DA")
else:
    print("NU")

13. Urmărirea manuală a programului

Trebuie să poți urmări valorile variabilelor fără să rulezi programul.

Exemplul 2 — urmărire MEDIU
x = 4
y = 3
x = x + y
y = x * 2
x = y - 5
print(x, y)
x=4, y=3 → x=7 → y=14 → x=9. Rezultat: 9 14.

14. Exerciții rezolvate

Problema 1 — suma a două numere UȘOR

Se citesc două numere întregi. Afișați suma.

a = int(input())
b = int(input())
print(a + b)
Problema 2 — media a trei numere UȘOR
a = int(input())
b = int(input())
c = int(input())
print((a + b + c) / 3)
Problema 3 — int → float → str UȘOR
n = int(input())
x = float(n)
s = str(n)
print(x)
print(s)
Problema 4 — caracter cifră → int MEDIU
c = input()
n = int(c)
print(2 * n)
Problema 5 — caracter → cod MEDIU
c = input()
print(ord(c))
Problema 6 — cod → caracter MEDIU
cod = int(input())
print(chr(cod))
Problema 7 — maximul a două numere MEDIU
a = int(input())
b = int(input())

if a > b:
    print(a)
else:
    print(b)
Problema 8 — clasificarea unui număr MEDIU
n = int(input())

if n > 0:
    print("pozitiv")
elif n < 0:
    print("negativ")
else:
    print("zero")

15. Exerciții propuse

1. Conversie

Se citește un întreg. Afișați-l ca float, apoi ca str.

2. Real → întreg

Se citește un număr real. Afișați valoarea obținută prin int().

3. Text → întreg

Se citește un text care reprezintă un întreg. Transformați-l în număr și afișați triplul.

4. Text → real

Se citește un text care reprezintă un număr real. Transformați-l în float și afișați-l.

5. Cifră

Se citește un caracter cifră. Transformați-l în număr și afișați numărul mărit cu 5.

6. Unicode

Se citește un caracter. Afișați codul său folosind ord().

7. Unicode invers

Se citește un cod Unicode întreg. Afișați caracterul cu chr().

8. Maxim

Se citesc două numere. Afișați-l pe cel mai mare folosind if și else.

9. Interval

Se citește un număr. Verificați dacă aparține intervalului [10, 20].

10. Paritate

Se citește un număr întreg. Afișați dacă este par sau impar.

Nu introduce încă: liste/vectori, matrice, for, while, indexare, slicing, split(), map() sau alte metode de șiruri nepredate.

16. Recapitulare

Verificare☐
Știu ce este un algoritm?☐
Știu ce este o variabilă și ce înseamnă atribuirea?☐
Știu diferența dintre int, float și str?☐
Știu că input() returnează str?☐
Știu int ↔ float?☐
Știu int/float ↔ str?☐
Știu caracter ↔ cod prin ord()/chr()?☐
Știu operatorii matematici și de comparație?☐
Pot folosi if / elif / else?☐
Pot folosi and / or / not?☐
Pot urmări manual valorile variabilelor?☐
Principiul cursului: înainte ca un concept să fie folosit într-o problemă, el trebuie explicat în teorie și exersat într-un exemplu simplu.