V1. 2. Pentru 2. Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare a apelului f(121,1);? oid f(long n, int i) ! if(n"#$) if(n%&'$) ! couti; f(n&,i*1); + +
Răspuns: 12354 V2. 2. Pentru 2. Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare a apelului f(12&-);? (.p/) oid f(long n) ! coutn%1$; if(n"#$) ! f(n1$$); coutn%1$; + +
Răspuns: 5310135 V3. 2. Pentru 2. Pentru definiţia alăturată a subprogramului f, ce se afişează ca urmare a apelului f(2.);? (.p/) oid f (int 0) !if(0'$) if(0%##$) ! cout0; f(01); + else ! f(0&); cout3; + + 1
Răspuns: xyyy V4. 2. Pentru 2. Pentru definiţia alăturată a subprogramului f, oid f (int n, int 0) ce se afişează ca urmare a apelului f(1-,2);? (.p/) oid f (int n, int 0) ! if(0'n) cout$; else if(0%#1) f(n,0*1); else ! f(n,0*&); cout1; + +
Răspuns: 01111 V5. 2. Pentru 2. Pentru subprogramul f definit mai jos, ce se afişează ca urmare a apelului f(&,14)?(.p/) oid f ( int a, int b) ! if(a#b) ! f(a*1,b2); cout5; + else coutb; +
Răspuns: 7***** V6. 2. 6e 2. 6e consideră subprogramul alăturat7 8e aloare are f(1-,2)? 9ar f(12:,2)? int f(int a, int b) ! if (b1) return 1; else if (a%b##$) return 1*f(ab,b); else return $; +
Răspuns: f(15,2)=0;
f(128,2)=7 2
Răspuns: xyyy V4. 2. Pentru 2. Pentru definiţia alăturată a subprogramului f, oid f (int n, int 0) ce se afişează ca urmare a apelului f(1-,2);? (.p/) oid f (int n, int 0) ! if(0'n) cout$; else if(0%#1) f(n,0*1); else ! f(n,0*&); cout1; + +
Răspuns: 01111 V5. 2. Pentru 2. Pentru subprogramul f definit mai jos, ce se afişează ca urmare a apelului f(&,14)?(.p/) oid f ( int a, int b) ! if(a#b) ! f(a*1,b2); cout5; + else coutb; +
Răspuns: 7***** V6. 2. 6e 2. 6e consideră subprogramul alăturat7 8e aloare are f(1-,2)? 9ar f(12:,2)? int f(int a, int b) ! if (b1) return 1; else if (a%b##$) return 1*f(ab,b); else return $; +
Răspuns: f(15,2)=0;
f(128,2)=7 2
V7. 1. 6e 1. 6e consideră subprogramul f definit alăturat/ 8e se a afişa n urma apelului f(12&-);? oid f(long int n) ! if (n"#$) ! if (n%2 ## $) coutn%1$; f(n1$); + + a/ -1&
b/ 2
c. 42
d/ &1-
V8. 2. 6e 2. 6e consideră subprogramul f, descris alăturat/ 8e se a afişa n urma apelului f(&);? oid f(int n) ! if (n"#$) ! if (n%2##$) coutn ; f(n1); coutn ; + else coutendl; + <ăspuns7 2 1 2 & V9. 1. 6e 1. 6e consideră subprogramul f cu definiţia alăturată/ int f (long int n, int =) ! if (n"#$) if(n%1$##=) return 1*f(n1$,=); else return $; else return $; + 8e aloare are f(121&111,1)? a/ -
b. 3
c/ 2
d/ 1
V10. 1. 6e 1. 6e consideră subprogramul cu definiţia alăturată/ 8e aloare are f(&,1)? int f(int n,int 3) ! if(n"#$) 3
!
3#3*1; return 3*f(n1,3); + else return $;
+
a. 9
b/ .
c/ 4
d/ :
V11. 2. 8are este aloarea lui f(-), pentru funcţia f, cu definiţia alăturată? 9ar f(2&1->)? int f(int n) ! int c; if (n##$) return >; else ! c#f(n1$); if (n%1$c) return n%1$; else return c; + +
Răspuns: f(5)=5; f(23159)=1;(cea a! !ca c!f"a #!n 23159) V12. 1. 6e consideră subprogramul P, definit alăturat/ oid P(int 0) ! 0#0*-; + @tiind că aloarea ariabilei ntregi a este inainte de apel , care este aloarea ei după reenirea din apelul P(a)? a/ 1$
b/
c. 9
d/ -
V13. 1. Aie subprogramul fct definit alăturat, parţial/ Bniţial, ariabile ntregi a, b şi c au alorile a#:, b#&1 şi c#>, iar după apelul fct(a,b,c), alorile celor trei ariabile sunt a#>, b#&1 şi c#$/ 8are poate fi antetul subgrogramului fct? oid fct(////) ! 0**; 3; 4
+
z#0*3;
a/ b/ c/ #.
oid oid oid $%!#
fct(int fct(int fct(int fc&(!n&
0,int 3,int z) 0,int 3,int z) 0,int 3,int z) 'x,!n& y,!n& ')
V14. 1. 8are dintre următoarele ariante reprezintă antetul corect al unui subprogram care primeşte prin parametrii 0 şi 3 două numere ntregi şi furnizează prin parametrul m cea mai mică dintre cele două alori 0 şi 3? a/ b. d/ c/
int minim(int 0,int 3,int m) $%!# !n!(!n& x,!n& y,!n& ') oid minim(int 0,int 3,int m) int minim(int 0,int 3)
2. Pentru funcţiile f1 şi f2 definite alăturat, stabiliţi care este aloarea lui f1(&)? 9ar f2(1&:2)? long f1(int c) ! if (c%2##1) return 1; else return 2; + long f2(long n) ! if (n##$) return $; else return f1(n%1$)*f2(n1$); +
Răspuns: f1(3)=1; f2(41382)=8 V15. 2. Pentru funcţiile f şi g definite mai jos, stabiliţi care este rezultatul returnat la apelul f(.)? long g(long 0) ! if (0'>) return (01$ * 0%1$); else return 0 + long f(int c) ! if (c1) return 1; else return g(c*f(c1)); +
Răspuns: f()=4; 5
f(.)#g(.*f(-)) f(-)#g(-*f()) f()#g(*f(&)) f(&)#g(&*f(2)) f(2)#g(2*f(1)) f(1)#g(1*f($)) f($)#$ #' f(1)#g(1*f($))#g(1*1)#g(2)#2; f(2)#g()#; f(&)#g(4)#4; f()#g(11)#2; f(-)#g(4)#4; f(.)#g(1&)#; V16. 1. Auncţia A are definiţia alăturată/ 8e aloare are A(&)? int A(int n) ! if(n##$ CC n##1) return 1; else return 25A(n1)*25A(n2); + a/ 1
b/ 12
#. 10
c/ .
V17. 1/ 6ubprogramul f are definiţia alăturată/ 8e se a afişa n urma apelului f(12&-)? oid f(long n) ! if (n'>) ! coutn1$$; f(n1$); + +
a. 1231210
b/ 12&121
c/ 12&12&121
d/ 12&
V18. 1. Auncţia f are definiţia alăturată/ 8e se a afişa n urma apelului f(12&-,$);? oid f(long n, int i) ! if (in%1$) ! 6
coutn%1$; f(n1$,i*1); +
+ a/ -&21
b. 543
c/ -
d/ -&2
V19. 1. Auncţia A are definiţia alăturată/ 8e aloare are A(1:)? int A(int 0) ! if (0#1) return 0; else return 0*A(02); +
a. 90
b/ 141
c/ 1
d/ 1:
V20. 1. Auncţia A are definiţia alăturată/ 8e aloare are A(-)? int A(int 0) ! if(0"#$) return 0*A(01); else return 0; + a/ b/ 1$ d/ . c. 15 V21. 2. 6e consideră subprogramul, f, definit alăturat/ 8e aloare are f(1$$)? 6crieţi o aloare pentru 0 astfel ncDt f(0)#1/ int f(int n) ! if(n##$) return $; else return n%2*f(n2); + <ăspuns7 f(1$$)#&; natural)
0#1. (sau orice număr de forma 2 =
, =
V22. 2. 8onsiderăm subprogramul recursi definit alăturat/ 8e se a afişa n urma apelului7 f(8);? oid f(cEar c) ! if (c'F) f(c1); coutc; 7
if (c'F) f(c1); +
Răspuns: ++ Poza V23. 2. Pentru subprogramul suma definit alăturat, scrieţi aloarea e0presiei suma(-,) int suma (int a,int b) ! if (a##$ b##$) return $; else if (a##$) return 1*suma(a,b1); else return 1*suma(a1,b); +
Răspuns: 9 (func-!a "e&u"neaă sua pa"ae&"!%" #e ape) V24. 2. Auncţia f are definiţia alăturată/ a) 8e aloarea are f(14)? b) 8e aloare are f(22)? int f(int n) ! if (n#>) return $; if (n%##$) return $; return 1*f(n&); +
Răspuns: a) 3; b) 2; f(14)#1*f(1)#2*f(11)#&*f(:)#&; iar f(22)#1*f(1>)#2*f(1.)#2; V25. 2. Auncţia f are definiţia alăturată7 a) 8e aloare are f(1.)? b) 6crieţi cea mai mare aloare de două cifre pe care o poate aea n astfel ncDt f(n) să fie egal cu 2/ int f(int n) ! if (n#$) return 1; if (n%2##$) return $; if (n%#$) return $; return 1*f(n1$); 8
+
Răspuns: a) 0;
b) 95;
V26. 2. 6ubprogramul afis este definit alăturat/ 8e se afişează ca urmare a apelului afis(:); oid afis (int n) ! coutn; for (int i#n2;i'#1;i) if(n%i##$) afis(i); +
Răspuns: 84211211 V27. 2. 6ubprogramul scrie este definit alăturat/ oid scrie (int 0,int 3) ! cout03; if(03) ! scrie(0*1,31); cout(0*3)2; + +
Răspuns: 2354444 V28. 2. 6ubprogramul f este definit alăturat/ 8e aloarea are f(:,)? int f (int 0,int 3) ! if(03) return 1*f(0*1,3); if(30)return 1*f(3*1,0); return 1; +
Răspuns: 5;
(f(8,4)=1/f(5,8)=2/f(,8)=3/f(7,8)=4/f(8,8)=5)
V29. 2. 8e se afişează ca urmare a apelului p(12&); dacă subprogramul p are definiţia alăturată/ oid p(int 0) 9
!
cout0; if(0"#$) ! p(01$); cout0%1$; +
+ Răspuns: 1231210123 V30. 2. 8e se afişează ca urmare a apelului f(1,); oid f (int 0,int 3) ! for (int i#0;i#3;i**) ! couti; f(i*1,3); + +
Răspuns: 1233233 V31. 2. 6e consideră subprogramul recursi f1 definit alăturat/ 8e se a afişa n urma apelului f1(-)? oid f1(int 0) ! if (0#>) ! cout0*1; f1(0*2); cout0*&; + +
Răspuns: 81012108 V32. 2. 6ubprogramul afis este definit alăturat/ 8e se a afişa n urma apelului afis(14)? oid afis(int 0) ! if (0'&) ! cout01; afis(0&); 10
cout0*1; +
+
Răspuns: 1418 V33. 2. 6ubprogramul re este definit alăturat/ 8e aloare are re(1)? 9ar re(1)? int re(int i) ! if (i>) return &*re(i*2); else if (i##>) return 2; else return 1*re(i1); +
Răspuns: "e(1)=10 ! "e(14)=3 re(1)#&*re(&)#&*&*re(-)#&*&*&*re(4)#&*&*&*&*re(>)#122#1$ re(1)#1*re(1&)#1*1*re(12)#1*1*1*re(11)#1*1*1*1*re(1$)#1*1*1 *1*1*re(>)#-2#& V34. 2. 6e consideră definit subprogramul f / 6crieţi două alori naturale, 01 şi 02, (0112 şi 0212) pentru care f(01)#f(02)/ int f(int i) ! if (i'12) return 1; else return 1*f(i*2); + <ăspuns7 oricare dintre perecEile (1,2), (&,), (-,.), (4,:), (>,1$) V35. 2. 6ubprogramul f este definit alăturat/ 8e se a afişa n urma e0ecutării secenţei de mai jos? a#&,b#>; f(a,b);f(b,b); oid f(int a,int b) ! a#a-;b#a2; coutab; + Răspuns: -2-442
11
2. 6ubprogramul f este definit alăturat/ 8e se a afişa n urma e0ecutării secenţei de mai jos? a#&,b#>; f(b,a);f(b,b); oid f(int a,int b) ! a#a-;b#a2; coutab; +
Răspuns: 4213 V36. 1. 6ubprogramul scif returnează suma cifrelor unui număr natural transmis ca parametru/ 8are este aloarea e0presiei scif(scif(-1:)*scif(-1:))? a/ 1
b. 10
c/ 2:
d/ 1
<ăspuns7 V37. 2. 8onsiderăm subprogramul f definit alăturat/ 8e aloare are f(4,11)? 9ar f(11,4)? int f(int 0,int 3) ! if(0#3) return 03; return f(30,01)*&; + Răspuns: f(7,11)=-4;
f(11,7)=-11
V38. 2. Pentru definiţia alăturată a subprogramului sc, stabiliţi ce aloare are sc(1$)/ 9ar sc(>$1&2)? int sc(long 0) ! if(01$) return 0; return sc(01$)*0%1$; +
Răspuns: sc(10)=1; c!f"e%" u! x)
sc(901324)=19 (se cacueaa sua
V39. 2. Pentru definiţia alăturată a subprogramului f, ce aloare are f(&)/ 9ar f(:)? 12
int f(int 0) ! if(0#) return 050&; return f(0&)*; + <ăspuns7 f(&)#.;
f(:)#>
V40. 2. Pentru definiţia alăturată a subprogramului f, stabiliţi ce aloare are f(2&.1)? int f(int 0) ! if(01$) ! if(0%2"#$) return $; return 0; + if((0%2"#$) return f(01$); return f(01$)*0%1$; +
Răspuns: 12 V41. 2. 6ubprogramul f are definiţia alăturată/ 8e aloare are f(4,2)? 9ar f(&-,2)? int f(int 0, int 3) ! if(0%3##$) return 3; else return f(0,3*1); +
Răspuns: f(7,2)=7
! f(35,2)=5
V42. 2. 6ubprogramul f are definiţia alăturată/ 8e aloare are f(4)? 9ar f(1$$)? int f(int 0) ! if(0%.##$) return 0; else return f(01); +
Răspuns: f(7)=7 !
f(100)=9
V43. 2. 6ubprogramul f are definiţia alăturată/ 8e aloare are f(&)? 9ar f(1$)? 13
int f(int 0) ! if(0##$)return $; else return f(01)*2; +
Răspuns: f(3)=
! f(10)=20
V44. 2. 6ubprogramul f are definiţia alăturată/ 8e aloare are f(.,-)? 9ar f(-,1$)? int f(int 0,int 3) ! if(0##3) return 0; else if(03) return f(0*1,31); else return f(01,3); +
Răspuns: f(,5)=5
!
f(5,10)=7
V45. 2. 6ubprogramul f are definiţia alăturată/ 8e aloare are f()? 9ar f(11)? int f(int 0) !if(01)return 1; else return f(0&)*1; +
Răspuns: f(4)=3
! f(11)=5
V46. 2. Auncţia f are definiţia alăturată/ 9acă f(0) are aloarea 1$1$$, care este aloarea lui 0? long f(int n) ! if(n#$) return $; else return f(n1)*25n; +
Răspuns: 100 V47. 2. 6e consideră subprogramul f definit alăturat/ 8e aloare are f(-)? 9ar f(1$$)?
14
long f(int n) ! if (n'$) return $; else return f(n2)*n; +
Răspuns: f(5)=9;
f(100)=2550
V48. 2. 6e consideră subprogramul f definit alăturat/ 8e aloare are f(2-$)? int f(int 0) ! if (0%#$) return $; else return 1*f(0&); + a/ -
b. 2
c/ &
d/
V49. 2. Pentru o aloare mai mare decDt 1 memorată n ariabila globală n, subprogramul recursi alăturat afişează cel mai mare diisor al lui n, mai mic decDt n, la apelul dii(n)/ 8u ce trebuie nlocuite a şi b? oid dii(long i) ! if (a##$) coutb; else dii(i1); + <ăspuns7 a cu (n%i##$ in) b cu i V50. 1. Galorile memorate de componentele ectorului , cu indicii de la $ la -, sunt, n această ordine7 >4&, -1, :41, &-$, .>1, 1-/ 8are este apelul corect al subprogramului tablou alăturat pentru ca, n urma e0ecutării apelului, aloarea ariabilei ntregi 0 să fie &? int tablou (int i,int HI, int c) ! if(i$) return $; else ! int n#HiI; 15
JEile(n) ! if(n%1$##c)return 1*tablou(i1,,c); n#n1$; +
return tablou(i1,,c); + + a/ b. c/ d/
0#tablou(,,-); x=&ab%u(5,$,5); 0#tablou(-,,1); 0#tablou($,,);
V51. 1. 8are este antetul corect al subprogramului cifre care primeşte prin intermediul primului parametru 0 un număr natural şi furnizează prin intermediul celui deal doilea parametru, 3, suma cifrelor numărului natural 0?
a. b/ c/ d/
$%!# c!f"e(!n& x, !n& 'y) int cifre(int 0) oid cifre(int 0, int 3) int cifre(int 0, int 3)
V52. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f()? 9ar f(1$$)? long f(unsigned int n) ! if (n##$) return $; else return n*f(n1); +
Răspuns: f(4)=10;
f(100)=5050
2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f()? 9ar f(>)? int f(int n) ! if (n##$) return $; if (n%2##1) return nf(n1); return f(n1)n; +
Răspuns: f(4)=0;
f(9)=9
16
V53. 1. 6ubprogramul f realizează interscEimbarea alorilor a 2 ariabile ntregi/ 8are este antetul corect al subprogramului f ?
a. b/ d/ c/
$%!# f(!n& 'x, !n& 'y) int f(int 0,int 3) oid f(int 0, int 3) oid f(int 0, int 3)
2. 6e consideră subprogramul f, definit alăturat/ 8Dte alori ale lui n aparţinDnd interalului H1$, 2$I au proprietatea că la apelul f(n) se obţine aloarea $? int f(unsigned int n) !if (n##$) return $; else if(n%2##$)return n%1$*f(n1$); else return f(n1$); +
Răspuns: 10, 11, 13, 15, 17, 19 V54. 2. 6e consideră subprogramul f definit alaturat/ 8e se afişează la apelul f(1)? oid f(int i) ! if(i#-) ! coutiK K ; f(i*1); couti2K K; + +
Răspuns: 1 2 3 4 5 2 2 1 1 0 V55. 2. 6e consideră subprogramul f, definit alăturat/ 8Dte alori ale parametrului n aprţinDnd interalului H1,1$$I au proprietatea că la apelul f(n) se obţine o aloare nenulă ? int f(unsigned int n) ! if (n'2$) return $; else return -*f(n*-); +
17
Răspuns: 20 2. 6e consideră subprogramul f, definit alăturat/ a) 8e aloare are f(2-)? b) 9ar e0presia f(1)*f(-)*f(1-)? int f(unsigned int n) ! if (n'2$) return $; else return -*f(n*-); +
Răspuns: a) 0
b) 50
V56. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f(12,&)? 9ar f(2111,1)? int f(int n,int c) ! if(n##$) return $; if(n%1$##c) return n%1$$*f(n1$,c); return f(n1$,c); +
Răspuns: f(12,3)=0;
f(21114,1)=43
V57. 2. 6e consideră subprogramul f, definit alăturat/ 8e se a afişa la apelul f(&:)? oid f(int 0) ! if(0) ! if(0%#$) ! cout&; f(0&); + else ! f(0&); cout0%&; + + + <ăspuns7 &112
18
V58. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f(::,1)? 9ar f(&41&,&)? int f(int n,int c) ! if(n##$) return $; if(n%1$##c) return f(n1$,c)51$*c; return f(n1$,c); +
Răspuns: f(88,1)=0;
f(3713,3)=33
V59. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f(12,-)? 9ar f(2.1,&1)? int f(int a,int b) ! if(a1$) return b; return f(a1$,b)51$*b*1; +
Răspuns: f(12,5)=5;
f(21,31)=3452
V60. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f(&,1&)? 9ar f(&>:,2$$:)? 9ar f(1$$$,2$$>)? int f(int a,int b) ! if(25a'#b) return $; if(b%a##$) return ba; return f(a*1,b1); + Răspuns: f(3,13)=8;
f(398,2008)=1604;
f(1000,2009)=0
V61. 2. 6e consideră tabloul unidimensional a definit global, ce memorează elementele a1#12, a2#&-, a, a#: şi subprogramul f, definit alăturat/ 8e aloare are f(1)? 9ar f()? int f(int 0) ! if(0'#1) return (aH0I*f(01))%1$; else return $; + 19
Răspuns: f(1)=2 ! f(4)=7 V62. 2. 8onsiderăm subprogramul f, definit alăturat/ 8are a fi aloarea ariabilei globale 0 după apelul f(>.2,0), dacă nainte de apel, 0 are aloarea $? 9ar dacă are aloarea -2? oid f1(int n,int a) ! int c; if(n"#$) ! c#n%1$; if(ac) a#c; f1(n1$,a); + +
Răspuns: 9 pen&"u x=0; 52 pen&"u x=52 V63. 2. 6e consideră tabloul unidimensional a definit global, ce memorează elementele a1#1, a2#2, a$ şi subprogramul f, definit alăturat/ 8e aloare are f(2,1)? 9ar f(&,&)? int f(int b,int i) ! if(i'#1) return f(b,i1)5b*aHiI; else return $; +
Răspuns: f(2,1)=1;
f(3,3)=15
V64. 2. 6e consideră subprogramul f, definit alăturat/ 8e se a afişa n urma apelului f(-,$)? oid f(int i,int j) ! if(j#>) f(i,j*1); couti5j#i5jendl; + <ăspuns7 -51$#-$ -5> #-5: #$ LLLLL 20
-5$# $ V65. 2. 6e consideră funcţia f, definită alăturat/ 8e se afişează ca urmare a e0ecutării secenţei de mai jos ? a#; b#1:; coutf(a,b); coutab; int f(unsigned int a, unsigned int b) ! JEile (a "#b) if (a'b) a#ab; else b#ba; return a; +
Răspuns: 2 2 2 V66. 2. 6e consideră subprogramul recursi alăturat/ 8e aloare are functie(1)? 9ar functie()? int functie(int 0) ! if (0#$) return & ; else return functie(0&)5 ; +
Răspuns: 12, "espec&!$ 48 V67. 2. 6e consideră subprogramul recursi definit alăturat/ Pentru ce aloare a parametrului u, alfa(u) are aloarea 2-? Pentru u#., ce aloarea returnează alfa(u)? int alfa(int u) !if (u##$) return &; else return alfa(u1)*&5u2; + <ăspuns7 alfa()#2- ;
alfa(.)#-
V68. 2. 6e consideră subprogramul recursi definit alăturat/ 8e alori or fi afişate pe ecran n urma apelului gama(.)?
21
oid gama(int n) ! int i; if(n'#&) ! for(i#&;i#n;i**) coutnK K; gama(n&); + + <ăspuns7 . . . . & V69. 2. 6e consideră subprogramul recursi definit alăturat/ 8e alori or fi afişate pe ecran n urma apelului beta(1-)? oid beta(int n) ! if (n"#1) ! coutnK K; if (n%#$) beta(n&); else beta(25n1); + else cout1; + <ăspuns7 1- - > & 1 (6e obtim apelurile7 beta(1-)'beta(-)'beta(>)'beta(&)'beta(1)
)
V70. 2. 6e consideră subprogramul recursi definit alăturat/ 8e aloare are e0presia bac(1$,)? 8are este cea mai mică aloare de 2 cifre a lui u pentru care funcţia bac(u,2) are aloarea 1 ? int bac(int u, int 0) !if (u0)return $; if (0##u)return 1; else if (u%0##$)return $; else return bac(u,0*1); + <ăspuns7 bac(1$,)#$ 8ea mai mica aloarea a lui u pentru care bac(u,2)#1, este 11 V71.
22
2. 8e aloare a aea ariabila ntreagă 0, n urma apelului A(1, 0), ştiind că, nainte de apel, ariabila 0 are aloarea $, iar subprogramul A este definit alăturat? oid A(int i, int 0) ! if (i#1$) ! if(i%2) 0#0*2; else 0#0M1; A(i*1,0); + +
Răspuns: 5 V72. 2. 6crieţi ce se a afişa n urma e0ecutării subprogramului alăturat, la apelul A(-4)/ oid A(int 0) ! if(0 "# $) ! A(02); cout 0%2; + +
Răspuns: 111001 V73. 2. 8e se a afişa n urma e0ecutării subprogramului alăturat, la apelul A(-.)? oid A(int 0) ! if(0) ! A(02); cout 0%1$; + + <ăspuns7 1&4:. Fpelurile functiei or fi n ordine7 A(-.), A(2:), A(1), A(4), A(&), A(1), A($) V74.
23
2. 6e consideră funcţia 6uma, definită alăturat/ 8e aloare are 6uma(:)? 9ar 6uma(11)? 9ar 6uma(&)? int 6uma(int 0) ! if(0 ## 1 ) return $; if(0%2##$) return 6uma(01)*(01)50; return 6uma(01)(01)50; +
Răspuns: ua(8)=32, !a" ua(11)=0,
ua(3)=4
V75. 1. 8e se a afişa n urma apelului A(24-:), pentru funcţia A definită alăturat? int A(int 0) ! if(0 ## $) return $; if(0%1$%2 ## $) return 2 * A(01$); return 1$ M A(01$); + a/ $
b/ 2$
#. 4
c/ 12
V76. 2. Pentru definiţia alăturată a subprogramului sub, stabiliţi ce aloare are sub(&)/ 9ar sub(1&24.)/ long sub(long n) ! if (n"#$) if(n%2"#$) return n%1$5sub(n1$); else return sub(n1$); else return 1; + <ăspuns7 sub(&)#&, iar sub(1&24.)#21 (6e nmulţesc cifrele impare ale parametrului) V77. 2. Pentru definiţia alăturată a subprogramului sub, stabiliţi ce aloare are sub()?/ 9ar sub(1&24.)/ int sub(long n) !if (n"#$) if(n%2"#$) return n%1$*sub(n1$); else return sub(n1$); else return $; + 24
<ăspuns7 sub()#$, iar sub(1&24.)#11 (6ubprogramul returnează suma cifrelor impare ale parametrului ) V78. 2. Pentru definiţia alăturată a subprogramului sub, stabiliţi care este aloarea e0presiei sub()? 9ar sub(12&>:.)/ int sub(long n) !if (n"#$) if(n%2"#$) return 1*sub(n1$); else return sub(n1$); else return $; + <ăspuns7 sub()#$, iar sub(12&>:.)#& (6ubprogramul numără cifrele impare din numărul dat ca parametru) V79. 2. Pentru definiţia alăturată a subprogramului f, ce aloare are e0presia f(:)? 9ar f(12$>>:.)? int f(long 0) ! int 3,z; if (0##$) return 0; else !3#0%1$; z#f(01$); if(3'z) return 3 ; else return z; + + <ăspuns7 f(:)#:, iar f(12$>>:.) are aloarea $ (6ubprogramul returnează cifra ma0imă din numărul dat ca parametru ) V80. 2. Pentru definiţia alăturată a subprogramului sub, ce aloare are sub(>)? 9ar sub(1&24.)? int sub(long n) !if (n"#$) if(n%2"#$) return n%1$*sub(n1$); else return sub(n1$); else return $; +
Răspuns: sub(9)=9, !a" sub(13274)=11 V81. 25
2. Pentru definiţia alăturată a subprogramului f, scrieţi ce aloare are f($,$) 9ar f(---2,-)/ int f(int 0,int 3) ! if(0##$)return $; else if(0%1$##3) return f(01$,3)*1; else return f(01$,3); +
Răspuns: 0 ! "es%ec&!$ 2 V82. 2. Pentru definiţia alăturată a subprogramului f, stabiliţi ce aloare are f(2)? 9ar f(12&)? int f(int 0) ! if(0##$)return $; else if(0%2##$)return 1*f(01$); else return 2*f(01$); +
Răspuns: a ! "espec&!$e 5 V83. 2. Pentru definiţia alăturată a subprogramului f, stabiliţi ce aloare are f(2)? 9ar f(12&)? int f(int 0) ! if(0##$)return $; else if(0%2##$)return &*f(01$); else return *f(01$); + Răspuns: f(2)=3, iar f(123)=11 V84. 2. Pentru definiţia alăturată a subprogramului f, stabiliţi ce aloare are f(1)? 9ar f(1$$)? int f(int 0) (.p/) ! if(0##$)return 1; else return 1*f(01); +
Răspuns: f(1)=2, !a" f(100)=101
26
V85. 2. Pentru definiţia alăturată a subprogramului f, scrieţi ce aloare are f(-1)? 9ar f(1$$)/ int f(int 0) ! if(0##-$) return 1; else return 2*f(01); +
Răspuns: 3 ! "espec&!$e 101 V86. 2. 6e consideră subprogramul f, definit alăturat/ 8e se afişează la apelul f()? oid f(int n) ! coutN5N; if(n'2) ! f(n1); coutNON; + +
Răspuns: *** V87. 2. 6e consideră subprogramul f, definit alăturat/ 8e se afişează la apelul f()? oid f(int n) ! if(n'$) ! coutn; f(n1); coutn; + +
Răspuns: 43211234 V88. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f(1)? 9ar f()? int f(int n) ! if (n##$) return 1; else if (n##1) return 2; 27
else return f(n1)f(n2); +
Răspuns: f(1)=2 !a" f(4)=2 V89. 2. 6e consideră subprogramul f, definit alăturat/ 8e aloare are f($)? 9ar f()? long f(int n) ! if (n##$) return $; else return n5n*f(n1); +
Răspuns: f(0)=0 !a" f(4)=30 V90. 2. 6e consideră subprogramul f, definit alăturat/ 8e se afişează la apelul f(a)? oid f(cEar c) ! if (c "# e) ! f(c*1); coutc; + +
Răspuns: #cba V91. 2. 6ubprogramul recursi alăturat este definit incomplet/ 6crieţi e0presia care poate nlocui punctele de suspensie astfel ncDt, n urma apelului, f(12) să se afişeze şirul de alori7 12 . & 1 1 & . 1&/ oid f(int i) ! if (/ / /) ! couti ; f(i2); couti ; + +
Răspuns: !0 sau !=1 V92. 2. 6e consideră subprogramul f definit alăturat/ 8e se a afişa n urma apelului f(1)? oid f(int 0) 28
! if (0#1$) cout$K K; else ! f(02); cout0K K; + +
Răspuns: 0
12
14
V93. 2. 6ubprogramul f este definit alăturat/ 8e se afişează ca urmare a apelului de mai jos? f(1,); oid f (int 0,int 3) ! if (03) ! 0#0*1; f(0,3); 3#31; f(0,3); + else cout03; +
Răspuns: 4443333332 2. 6ubprogramul f este definit alăturat/ 8e se afişează ca urmare a apelului de mai jos? f(1,&); oid f (int 0,int 3) ! if (03) ! 0#0*1; f(0,3); 3#31; f(0,3); + else cout03; +
Răspuns: 333222 V94. 2. Auncţia f este astfel definită ncDt f(1)#:, iar f(n*1)#25f(n) (n natural, n'1)/ a) 8e aloare are f(-) ?
29
b) 8are este cea mai mare aloare pe care o poate lua 0 astfel ncDt f(0)1$$$ ?
Răspuns : a) 8;
b) 8
V95. 2. Auncţia f are definiţia alăturată/ 6crieţi cinci alori de apel pe care le poate aea n astfel ncDt, pentru cele apeluri corespunzătoare acestor alori, să se obţină alori ale funcţiei, disticte două cDte două/ int f(int n) ! if (n#>) return $; if (n%-##$) return $; return 1*f(n&); + <ăspuns7 8ele cinci alori distincte pe care le poate lua funcţia corespund celor cinci resturi posibile care se pot obţine cDnd mpărţim la -/ Qn e0emplu7 (f(1$)#$, f(1&)#1, f(1.)#2, f(1>)#&, f(22)# V96. 2. Auncţia f are definiţia alăturată/ 6crieţi alori de apel pe care le poate aea n astfel ncDt, pentru cele apeluri, corespunzătoare acestor alori, să se obţină alori, disticte două cDte două/ int f(int n) ! if (n#>) return $; if (n%##$) return $; return 1*f(n&); + <ăspuns7 )#$, f(11)#1, f(1:)#2, f(21)#& V97. 1. 6ubprogramul recursi alăturat este definit incomplet7 8are dintre următoarele e0presii poate nlocui punctele de suspensie astfel ncDt, n urma apelului, subprogramul f să returneze suma primelor două cifre ale numărului primit prin intermediul parametrului 0/ int f(int 0) ! if (///) return 0%1$ * 01$; else return f(01$); + 30