Sunteți pe pagina 1din 2

Numele ___________________________ Clasa a XI-a F Data _07.10.

2021

TEST DE EVALUARE din CAPITOLUL SUBPROGRAME – NR.1

1. Stabiliti valoarea de adevar/fals a fiecareia din afirmaţiile urmatoare:

a) Variabilele locale ale unui subprogram sunt vizibile din orice locaţie a functiei principale
b) Variabilele locale îşi păstrază valoarea de la un apel la altul al subprogramului
c) Variabilele locale unui subprogram există în timpul execuţiei acelui subprogram
d) Parametri formali se comportă ca si variabilele locale subprogramului

2. În cazul în care se doreşte scrierea unei functii procedurale, cu numele calcul, si care să calculeze si să returneze
perimetrul (p) si aria (aria) a unui dreptunghi de lungime a si latime b prin parametrul p, respectiv aria(a si b-nr.
Reale strict pozitive), care din antetele de mai jos sunt corecte?
a) void calcul(float a,b,&p,&aria)
b) void calcul(float a, float b, float &p, float &aria)
c) void calcul(float &a, float &b:real, float p, float aria)
d) niciuna din variantele anterioare

3. Se consideră programul:
#include <iostream.h>
Cerinta :
int a,b;
float x;
int f(int c) 3.1) Ce se va afisa daca:
{ int a,b; //linia 5 a) lipseste linia 5 din program
a=10; b=5; b) nu lipseste linia 5 din program
return (a+b+c); Justificaţi răspunsul.
}
int main() 3.2)a) Câţi parametri efectivi sunt in program ?
{a=3; b=1; R:__________
x=f(a-b)%10;
b) Incercuiti-i.
cout<<a<<” ”<<b<<” ”<<x<<endl;
}

4. Ce va afisa pe ecran programul de mai jos?


# include <iostream.h>
void f (int &a, int b)
{ a=b%8;
b=a+a/2;
cout<<b<<” ”<<a<<” ”;
}
int main()
{ int x=27, y=-13;
f(x, y);
cout<<y<<” ”<<x<<” ”;
f(x,x);
cout<<x<<” ”<<y<<” ”;
f(y,y);
cout<<y<<” ”<<x<<” ”;
return 0;
}

5. a) Scrieţi un subprogram care afiseaza cifrele pare ale unui nr. natural de cel mult 4 cifre, transmis ca
si parametru de intrare.
b) Scrieti un subprogram care primeste ca parametru un numar natural de cel mult 8 cifre si retuneaza
prin parametrul div, cel mai mare divizor prim al numarului n.

6. Scrieti definitia completa a unui subprogram par ce primeşte prin singurul său parametru, n, un număr natural
nenul cu cel mult 8 cifre şi returnează valoarea 1 dacă n conţine cel puţin o cifră pară, sau returnează valoarea 0
în caz contrar.
Exemplu: pentru n=723 subprogramul va returna valoarea 1.
Numele ___________________________ Clasa a XI-a F Data _07.10.2021

TEST DE EVALUARE din CAPITOLUL SUBPROGRAME – NR.2

1. Stabiliti valoarea de adevar a fiecaruia dintre urmatoarele enunturi:


a) Subprogramele reprezinta acele parti ale unui program ce corespund subproblemelor in care este descompusa o
problema complexa.
b) Parametri definiţi în apelul unui subprogram se numesc formali, iar cei care apar in antetul subprogramului se
numesc actuali
c) Corpul unui subprogram trebuie cuprins între {…} (acolade) numai daca este alcatuit din cel puţin două
instrucţiuni distincte
d) La transmiterea prin valoare, parametri actuali pot fi: constante, variabile, valori ale unor expresii, valori
returnate de alte functii

2. Subprogramul intersch realizează interschimbarea valorilor a două variabile întregi transmise prin intermediul
parametrilor formali x si y. Antetul subprogramului este :
a) void intersch( int &x, int &y)
b) int intersch (int x)
c) int intersch (int &x, int &y)
d) void intersch(int x, int y)
e) nic una din variantele anterioare

3. Se consideră programul:
#include <iostream.h>
int a,b;
Cerinte :
float x; 3.1) Ce se va afisa daca:
int f(int d) a) lipseste linia 5 din program
{ int a,b; //linia 5 b) nu lipseste linia 5 din program
a=13; b=15; Justificaţi răspunsul.
return (b-a+d);
} 3.2) a)Cate variabile locale au fost declarate
int main() in program ? R : _______
{a=2; b=5; b) Incercuiti-le.
x=f(a+b)/2;
cout<<a<<” ”<<b<<” ”<<x<<endl;
}

4. Ce va afisa pe ecran programul de mai jos?


# include <iostream.h>
void f (int a, int &b)
{ a=b%7;
b=a+a/2;
cout<<a<<” ”<<b<<” ”;
}
int main()
{ int x=19, y=-31;
f(x, y);
cout<<y<<” ”<<x<<” ”;
f(x,x);
cout<<x<<” ”<<y<<” ”;
f(y,y);
cout<<y<<” ”<<x<<” ”;
return 0;
}
5. a) Scrieţi un subprogram care returneaza cifra maxima dintr-un numar natural de cel mult 9 cifre.
b) Scrieti un subprogram care primeste ca parametru un numar natural de cel mult 8 cifre si retuneaza
prin paramaetrul p, puterea celui mai mare divizor prim din descompunerea lui n.

6. Scrieti definitia completa a unui subprogram cifre ce primeşte prin singurul său parametru, n, un număr natural
nenul cu cel mult 8 cifre şi verifica daca numarul n are exact 3 divizori.
Exemplu: pentru n=9 subprogramul va returna valoarea 1, iar pentru numarul n=6 va afisa 0.

S-ar putea să vă placă și