wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Subprograme

Total questions: 20

Worksheet time: 10mins

Name
Class
Date
1.

Subprogramul scif returnează suma cifrelor unui număr natural transmis ca parametru. Stabiliți valoarea expresiei scif(scif(518)+scif(518)).

a)

14

b)

10

c)

28

d)

1

2.

Subprogramul fct este definit mai jos, parțial.Iniţial, variabile întregi a, b şi c au valorile a=8, b=31 şi c=9, iar după apelul fct(a,b,c), valorile celor trei variabile sunt a=8, b=31 şi c=39. Care poate fi antetul subprogramului fct?

void fct(....){ x=x+1; y=y-1; z=x+y;}

a)

void fct(int &x,int &y,int &z)

b)

void fct(int x,int y,int &z)

c)

void fct(int x,int y,int z)

d)

void fct(int &x,int y,int &z)

3.

Este definită o funcție smax care primește două valori întregi prin intermediul a doi parametri și returnează suma tuturor cifrelor celor două numere. De exemplu, smax(73, 608) returnează 24 (7+3+6+0+8). Stabiliți în ce mod se poate apela smax pentru a determina suma cifrelor unui număr întreg n.

a)

smax(n, n)

b)

smax(n, 0)

c)

smax(n, 1)

d)

nu se poate utiliza

4.

Care este antetul corect al subprogramului C/C++ cifre, care primeşte prin intermediul primului parametru, x, un număr natural şi furnizează prin intermediul celui de-al doilea parametru, y, suma cifrelor numărului natural x?

a)

void cifre(int x, int &y)

b)

int cifre(int x)

c)

void cifre(int x, int y)

d)

void cifre(int &x, int y)

5.

Subprogramul divmax(n) returnează cel mai mare divizor prim al numărului n. De exemplu divmax(13) returnează valoarea 13, iar divmax(28) returnează valoarea 7. Stabiliţi valoarea expresiei: divmax(divmax(17)+divmax(51));

a)

17

b)

34

c)

68

d)

13

6.

Scrieţi antetul unei funcţii intregi numită fct care are trei paramatri intregi: a,b si c, primul transmis prin valoare şi urmatorii doi prin referinţă si un vector v de maxim 100 de numere intregi trans prin referinta.

(a)  

7.

Se presupune că este definită o funcție min care primește două valori reale prin intermediul a doi parametri și returnează cea mai mică dintre cele două valori. Stabiliți care dintre următoarele expresii este egală cu cea mai mare dintre valorile reale a și b.

a)

a-min(a,b)+b-min(b,a)

b)

min(a,b)

c)

a+b-min(a,b)

d)

min(a,b)-a-b

8.

Variabile definite într-un subprogram se numesc ... ?

a)

globale

b)

valoare

c)

locale

d)

formali

9.

Parametrii care servesc pentru transmiterea de valori din programul apelant la programul apelat se numesc parametri transmiși prin... ?

a)

formali

b)

actuali

c)

variabilă

d)

valoare

10.

Parametrii care servesc pentru întoarcerea rezultatelor dint-un subprogram în subprogramulul apelant sunt transmiși prin ... ?

a)

formali

b)

variabilă

c)

valoare

d)

referință

11.

Subprogramele care calculează și returnează o valoare se numesc ...

a)

Proceduri

b)

Funcții

12.

Parametrii incluși în antetul funcției se numesc ...

a)

Formali

b)

Actuali

c)

Valoare

d)

Variabilă

13.

Apelul funcției conține lista parametrilor ...

a)

Formali

b)

Actuali

c)

Valoare

d)

Variabilă

14.

Variabile definite într-un subprogram se numesc ... ?

a)

globale

b)

valoare

c)

locale

d)

formali

15.

Care dintre afirmaţiile următoare sunt adevărate?

a)

La apelul unei functii, se produce inlocuirea

parametrilor formali cu parametrii actuali;

b)

La apelul unei functii, se salveaza pe stiva adresa

de revenire, precum si variabilele locale si

parametrii modulului apelant

c)

Orice functie trebuie sa aiba intotdeauna cel

putin un parametru

d)

Tipul parametrilor dati la apelul unei functii

trebuie sa coincida sau sa fie compatibil cu tipul

celor definiti in antetul functiei

e)

Niciuna de mai sus

16.

Considerăm subprogramul următor şi x o variabilă întreagă a cărei valoare este 2. Ce valoare va avea x după apelul f(x,x)?

void f(int x, int &y)

{ y=y+x;

x=x+y;}

a)

4

b)

6

c)

8

d)

2

17.

Fie funcţia:

int C(int n)

{return (n/1000)*100 + n%100 ;}

Ce valoarea returnează funcţia la apelul

x = C(12345);

a)

1245

b)

145

c)

1345

d)

14500

18.

Un antet de procedura poate sa nu aiba lista parametrilor formali.

a)

Da

b)

Nu

19.

Intre parametrii formali de același tip se scrie

a)

, - virgula

b)

; - punct si virgula

c)

: - două puncte verticale

d)

. punct

20.

Parametri efectivi (actuali) corespunzători parametrilor formali transmiși prin referință pot fi

a)

expresii

b)

variabile

c)

constante

d)

mesaje