Subprograme - Lecție

Subprograme

1. Structura și modul de definire al subprogramelor

Un subprogram este o secvență de instrucțiuni care poate fi apelată în mod repetat într-un program. Acesta permite modularizarea codului și îmbunătățește claritatea și reutilizarea acestuia.

Subprogramele pot fi de două tipuri:

  • Proceduri – nu returnează o valoare
  • Funcții – returnează o valoare

2. Declararea și apelul subprogramelor

Un subprogram trebuie declarat și definit înainte de a putea fi apelat. În limbajele de programare moderne, subprogramele pot fi definite astfel:

Exemplu: Declarația și apelul unei funcții în Python
def suma(a, b): return a + b rezultat = suma(5, 10) print(rezultat)

3. Transferul parametrilor la apel

Există două moduri principale de a transfera parametrii către un subprogram:

  • Prin valoare – se transmite o copie a valorii
  • Prin adresă (referință) – se transmite adresa variabilei, permițând modificarea valorii inițiale
Exemplu: Parametri prin valoare vs. prin referință în Python
def modifica_valoare(x): x = x + 10 def modifica_lista(lst): lst.append(100) numar = 5 lista = [1, 2, 3] modifica_valoare(numar) modifica_lista(lista) print(numar) # Rămâne 5 print(lista) # Se modifică [1, 2, 3, 100]

4. Returnarea valorilor de către subprograme

O funcție returnează o valoare utilizând cuvântul cheie return. Această valoare poate fi utilizată în expresii sau stocată într-o variabilă.

Exemplu: Funcție care returnează valoarea maximă
def maxim(a, b): if a > b: return a else: return b rezultat = maxim(10, 20) print(rezultat)

5. Variabile locale și globale

Variabilele într-un subprogram pot fi:

  • Locale – definite în interiorul subprogramului, accesibile doar acolo.
  • Globale – definite în afara subprogramului, accesibile oriunde în program.
Exemplu: Variabile locale vs. globale
x = 10 # Variabilă globală def functie(): y = 20 # Variabilă locală print(x, y) functie() print(x) # Va funcționa print(y) # Va genera eroare

6. Aplicaţii folosind subprograme

Subprogramele sunt folosite în multe aplicații practice, cum ar fi:

  • Calculul sumelor, produselor, mediilor
  • Sortarea și căutarea într-un tablou
  • Generarea de rapoarte și statistici
Exemplu: Calculul sumei unei liste de numere
def suma_lista(lista): suma = 0 for num in lista: suma += num return suma numere = [1, 2, 3, 4, 5] rezultat = suma_lista(numere) print(rezultat)