Informatică Gimnaziu (5-8)

Subprograme (functii si proceduri): definire, apel, parametri

Subprogramele sunt blocuri de cod reutilizabile care indeplinesc o sarcina specifica. In programare, ele ne ajuta sa evitam repetitia aceluiasi cod si sa organizam logic programele mari. Exista doua tipuri principale: functii si proceduri. Diferenta esentiala este ca functia returneaza o valoare (prin cuvantul cheie 'return'), in timp ce procedura (numita uneori si 'subrutina') nu returneaza nimic – ea doar executa o actiune.

Definirea unui subprogram se face inainte de a-l folosi, de obicei inainte de programul principal. De exemplu, o functie simpla in pseudocod arata asa:

functie suma(a, b)

return a + b

Aici, 'suma' este numele functiei, iar 'a' si 'b' sunt parametrii sai (datele de intrare). Apelul functiei se face prin numele sau si furnizarea argumentelor:

x <- suma(3, 5) // x va primi valoarea 8

Procedurile nu au 'return'. De exemplu:

procedura afiseazaMesaj(nume)

scrie "Salut, " + nume

Apelul

afiseazaMesaj("Ana") // va afisa: Salut, Ana

Parametrii sunt variabile locale care primesc valorile transmise la apel. Ei pot fi transmisi prin valoare (se copiaza valoarea) sau prin referinta (se transmite adresa variabilei). In limbajele pentru clasele 5-8, de obicei se foloseste transmiterea prin valoare. Este important ca elevii sa inteleaga ca un subprogram poate avea zero sau mai multi parametri, iar ordinea lor conteaza.

Subprogramele fac codul mai curat, mai usor de testat si de inteles. De aceea, orice programator bun le foloseste frecvent.

Exemple

  • Exemplul 1: Functie pentru calculul ariei unui dreptunghi.
Definim: functie ariaDreptunghi(lungime, latime): return lungime * latime

Apel: rezultat <- ariaDreptunghi(5, 3) -> rezultat = 15. Se afiseaza 'Aria este 15'.

  • Exemplul 2: Procedura care afiseaza un numar de stele.
Definim: procedura deseneazaStele(n): pentru i de la 1 la n: scrie '*'

Apel: deseneazaStele(4) -> afiseaza '****'.

  • Exemplul 3: Functie care verifica daca un numar este par.
Definim: functie estePar(numar): daca numar % 2 == 0 atunci return true altfel return false

Apel: daca estePar(8) atunci scrie 'par' -> afiseaza 'par'.

Concepte cheie: Definirea subprogramelor (functii si proceduri), Apelul unui subprogram cu argumente, Transmiterea parametrilor prin valoare

Vrei exerciții pe lecția asta + AI care te ajută pas cu pas?
Cont gratuit — 20 întrebări AI/zi, exerciții nelimitate.

Creează cont