# data[].attributes.body
Subprogramele sunt blocuri de cod reutilizabile, denumite, care îndeplinesc o anumită sarcină

într-un program.

# data[].attributes.body
Funcția este un grup de instrucțiuni căruia i se dă un nume și care poate returna un rezultat.

# data[].attributes.body
În C++ subprogramele sunt funcțiile.

# data[].attributes.body
Folosești un subprogram când vrei să împarți programul în bucăți mai mici, organizate, care execută anumite sarcini (calcul, afișare, prelucrare etc.).

Exemplu: citire(), suma(), afisare()

# data[].attributes.body
Procedura este o funcție care nu returnează nicio valoare, definită de tipul de returnare void. Aceasta îndeplinește o sarcină specifică fără a produce un rezultat care să fie transmis înapoi codului apelant.

# data[].attributes.body
O alegi când vrei:

• doar afișare

• citire

• prelucrare de date fără rezultat returnat

# data[].attributes.body
Domeniile de vizibilitate reprezintă porțiunea din cod în care o variabilă, funcție sau alt identificator este accesibil și poate fi folosit.

Variabilele locale sunt vizibile doar în blocul în care au fost declarate.

Variabilele globale sunt vizibile în tot programul.

# data[].attributes.body
Subprogram care poate returna valori.

# data[].attributes.body
Regulă care spune unde e valabilă o variabilă.

# data[].attributes.body
O alegi când ai nevoie de un rezultat:
• calcul matematic
• verificări (returnează true/false)
• prelucrări care întorc ceva

# data[].attributes.body
Pentru a înțelege mai bine tema, începe de la min. 4:20

# data[].attributes.body
Folosești domeniile ca să eviți conflicte de nume și să protejezi variabilele

# data[].attributes.body
Este o funcție pentru că:

1.Are un tip de returnare în față:

double suma (...)

– faptul că scrie double înainte de nume înseamnă că întoarce o valoare de tip double.

2.Are instrucțiunea return:

return s;

– funcțiile trimit un rezultat înapoi acolo de unde sunt apelate.

3.Este apelată și pusă într-o variabilă:

double r = suma(x1, x2, x3, x4);

– faptul că rezultatul funcției se păstrează într-o variabilă (r) arată că funcția dă o valoare.

# data[].attributes.attachment_link.title
GDB online Debugger | Code, Compile, Run, Debug online C, C++

# data[].attributes.attachment_link.description
Online GDB is online ide with compiler and debugger for C/C++. Code, Compiler, Run, Debug Share code nippets.

# data[].attributes.body
1. Are nume propriu:

int media (...)

Subprogramele au un nume prin care pot fi apelate.
Numele aici este media.

2. Are parametri:

int a, int b, int c, int d

Subprogramele pot primi valori de la programul principal.
media primește 4 valori.

3. Are corp propriu, separat de main:

int media (int a, int b, int c, int d)

{

int m;

m = (a+b+c+d)/4;

return m;

}

-aceste acolade { } formează corpul subprogramului.

-tot ce se întâmplă între acolade aparține doar funcției media.

-programul principal (main) nu vede codul din interior, ci doar poate apela funcția.

Faptul că are acest bloc separat de main demonstrează că este un subprogram.

# data[].attributes.attachment_link.title
GDB online Debugger | Code, Compile, Run, Debug online C, C++

# data[].attributes.attachment_link.description
Online GDB is online ide with compiler and debugger for C/C++. Code, Compiler, Run, Debug Share code nippets.

# data[].attributes.body
Tipul funcției este void

void delta(int n)

-void înseamnă că nu returnează nicio valoare, deci nu este o funcție în sensul „care returnează ceva”.

-o procedură este exact o funcție care nu returnează nimic (void).

# data[].attributes.attachment_link.title
GDB online Debugger | Code, Compile, Run, Debug online C, C++

# data[].attributes.attachment_link.description
Online GDB is online ide with compiler and debugger for C/C++. Code, Compiler, Run, Debug Share code nippets.

# data[].attributes.body
int main() {

int x = 5;

}

-este vizibil doar în main

# data[].attributes.body
Blender= subprogram

Poți să îl folosești de câte ori vrei pentru a mixa legume sau fructe.

Input: ingredientele

Output: ce obții

# data[].attributes.body
Aparatul de cafea= funcție

-pui boabe, apă și apeși un buton => primești o cafea.

Input = boabe și apă (parametrii)

Output = cafeaua preparată (return)

# data[].attributes.body
O lampă=procedura

Apeși butonul => se aprinde.

Ea face un lucru (aprinde lumina) dar nu îți dă ceva înapoi (nu returnează valoare).

# data[].attributes.body
Cheia de la cameră=domeniu de vizibilitate

Cheia ta deschide doar camera ta (domeniu de vizibilitate limitat).

Nu poți folosi cheia ta pentru camera altcuiva.

# data[].attributes.attachment_link.description
Create interactive quizzes, polls, presentations, and more to engage your audience.

# data[].attributes.attachment_link.provider_name
Wordwall - Creează lecții mai bune mai repede

# data[].attributes.attachment_link.description
Alegi ____ când ai nevoie de un calcul matematic afișat. Variabile ____ sunt vizibile doar in blocul în care au fost declarate.