Prog Proced

35
Algoritmul urmator testeaza daca sirul de caractere s este palindrom (citit atat de la stanga la dreapta, cat si de la dreapta la stanga, se obtine acelasi sir de caractere). {i=0; j=strlen(s)-1; while(i<j && s[i]==s[j]) {i=i+1; j=j-1;} if(...) printf(“palindrom”; else printf(“nu este palindrom”); } Care este expresia care poate inlocui punctele de suspensie astfel incat algoritmul sa fie corect? b. i>=j Care din operatiile urmatoare atribuie variabilei float x media aritmetica a valorilor intregi a, b si c? a. x = (a + b + c) /3; Care din urmatoarele afirmatii despre operatorii din C este falsa? d. <= este operator logic Care din urmatoarele expresii are valoarea 1 daca si numai daca sirul de caractere s, de lungime 10, este obtinut prin concatenarea d. strcmp(s,strcat(s,s+5))== 0 Care din urmatoarele secvente de instructiuni va afisa (cu un spatiu intre ele) in ordine descrescatoare toate numerele naturale impare mai mici sau egale cu o valoare naturala data a? c. for (i = a; i >= 1; i--) if (i % 2 != 0) printf(“%d ”, i); Care dintre expresiile C de mai jos este echivalenta cu expresia !((a<5)&&(b>7)) ? c. !(a<5) && !(b>7) Care dintre expresiile C de mai jos, are valoarea 1 daca valoarea variabilei intregi x este un numar intreg par si strict pozitiv? a. !((x%2!=0)||(x<=0)) Care dintre expresiile C/C++ de mai jos are valoarea 1 dupa executarea secventei de instrucţiuni C: v1=0; v2=0; for(i=1;i<=3;i++) { for (j=1;j<=i;j++) v1=v1+1; for (k=i;k<=3;k++) v2=v2+1; } in care toate variabilele sunt intregi? c. v1==v2 Care dintre expresiile de mai jos are valoarea 1 dupa executarea secventei de instructiuni C, a=11;b=1; for(i=1;i<=5;i++) { b=b+1; a=a-1; } in care toate variabilele sunt intregi? b. a==b Care dintre expresiile de mai jos va avea valoarea 1? c. ‘a’ < ‘b’ Care dintre expresiile urmatoare, scrise in limbajul C, are valoarea 1 daca si numai daca valorile variabilelor intregi c. (x%2==0) || (y%2==0) 1

Transcript of Prog Proced

Page 1: Prog Proced

Algoritmul urmator testeaza daca sirul de caractere s estepalindrom (citit atat de la stanga la dreapta, cat si de la dreaptala stanga, se obtine acelasi sir de caractere).{i=0; j=strlen(s)-1;while(i<j && s[i]==s[j]) {i=i+1; j=j-1;}if(...) printf(“palindrom”; else printf(“nu este palindrom”);}Care este expresia care poate inlocui punctele de suspensieastfelincat algoritmul sa fie corect?

b. i>=j

Care din operatiile urmatoare atribuie variabilei float x mediaaritmetica a valorilor intregi a, b si c?

a. x = (a + b + c) /3;

Care din urmatoarele afirmatii despre operatorii din C este falsa? d. <= este operator logicCare din urmatoarele expresii are valoarea 1 daca si numai dacasirul de caractere s, de lungime 10, este obtinut princoncatenarea

d. strcmp(s,strcat(s,s+5))==

0

Care din urmatoarele secvente de instructiuni va afisa (cu unspatiu intre ele) in ordine descrescatoare toate numerele naturaleimpare mai mici sau egale cu o valoare naturala data a?

c. for (i = a; i >= 1; i--) if (i % 2 != 0) printf(“%d ”,

i);Care dintre expresiile C de mai jos este echivalenta cuexpresia !((a<5)&&(b>7)) ?

c. !(a<5) && !(b>7)

Care dintre expresiile C de mai jos, are valoarea 1 daca valoarea variabilei intregi x este un numar intreg par si strict pozitiv?

a. !((x%2!=0)||(x<=0))

Care dintre expresiile C/C++ de mai jos are valoarea 1 dupaexecutarea secventei de instrucţiuni C:v1=0; v2=0;for(i=1;i<=3;i++){ for (j=1;j<=i;j++)v1=v1+1;for (k=i;k<=3;k++)v2=v2+1;}in care toate variabilele sunt intregi?

c. v1==v2

Care dintre expresiile de mai jos are valoarea 1 dupaexecutarea secventei de instructiuni C, a=11;b=1;for(i=1;i<=5;i++){ b=b+1;a=a-1;}in care toate variabilele sunt intregi?

b. a==b

Care dintre expresiile de mai jos va avea valoarea 1? c. ‘a’ < ‘b’Care dintre expresiile urmatoare, scrise in limbajul C, arevaloarea 1 daca si numai daca valorile variabilelor intregi x si ysunt numere pare?

c. (x%2==0) || (y%2==0)

Care dintre instructiunile C de mai jos determina inlocuirea cu0 a ultimei cifre a numarului natural, cu cel putin doua cifre, memorat in variabila intreaga n?

c. n=n-n%10;

Care dintre secventele de mai jos conduce la memorarea invariabila max a celei mai mari dintre cele n valori intregi retinutein tabloul unidimensional a (in care a[0] este primul element)?

b. for(i=0; i<n-1; i++) if (a[i] > a[i+1]) {max =

a[i]; a[i] =a[i+1]; a[i+1] = max;}

max = a[n-1];Care dintre urmatoarele declaratii sunt corecte sintactic:1) int ab=30;2) int a+b;3) float a1;4) char 2ab;5) int m.n;

c. 1, 3

Care dintre urmatoarele expresii are valoarea 1 daca si numai c. (c%a == 0) && (c%b

1

Page 2: Prog Proced

daca numarul natural c este un multiplu comun al numerelor naturalenenule (unsigned int) a si b?

==0)

Care dintre urmatoarele expresii C are valoarea 1 daca sinumaidaca numarul natural nenul memorat in variabila x, de tip int,estedivizibil cu 100?

d. x%10+x%10/10==0

Care dintre urmatoarele expresii C are valoarea 1 daca sinumaidaca numarul natural memorat de variabila x de tip int are exactdoua cifre?

d. x/100==0 && x/10!=0

Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca variabilele x si y memoreaza doua numere naturale pare consecutive?

d. ((x-y==2) || (y-x==2)) && (x%2==0)

Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca valoarea reala memorata de variabila y nu apartine intervaluluideschis determinat de valorile reale distincte memorate de variabilele x si z (x<z)?

b. (z>x) && (z<y)

Care dintre urmatoarele expresii C are valoarea 1 daca si numai daca numarul real memorat in variabila x se afla in intervalul (-a, a)?

b. a*a-x*x>0

Care dintre urmatoarele expresii C are valoarea 1 daca variabila x memoreaza un numar natural patrat perfect?

a. sqrt(x) == floor(sqrt(x))

Care dintre urmatoarele expresii C are valoarea 1 dacanumarulnatural memorat de variabila n este strict mai mare decat 100 sidivizibil cu 12?

d. (n%100%4 == 0) && (n%3 == 0)

Care dintre urmatoarele expresii C este echivalentacu !((x>=5)&&(x<10)) ?

c. (!(x>=5)) && (!(x>10))

Care dintre urmatoarele expresii C, are ca valoare cel mai maredintre numerele naturale nenule memorate in variabilele intregia si b?

a. (a+b+abs(a-b))/2

Care dintre urmatoarele expresii C, are ca valoare cel mai micdintre numerele naturale nenule, cu cel mult 4 cifre fiecare,memorate in variabilele intregi x si y?

a. (x+y-abs(x-y))/2

Care dintre urmatoarele instructiuni C atribuie variabilei intregi t valoarea -1 daca si numai daca variabilele intregi a si b sunt nenule si au semne diferite?

c. if (a*b<0) t=-1;

Care dintre urmatoarele instructiuni C determina eliminareacifrei din mijloc a unui numar natural, cu exact 5 cifre,memorat invariabila x?

a. x=x/1000*100+x%100;

Care dintre următoarele instrucţiuni C determina inserareacifrei 7 în fata ultimei cifre a unui numar natural, cu mai mult de2 cifre, memorat in variabila x?

a. x=(x/10*10+7)*10+x%10;

Care dintre urmatoarele instructiuni C este echivalenta cux=(x+y+z)/2; stiind ca variabilele x, y si z sunt reale?

b. x = x/2 + y/2 + z/2;

Care dintre urmatoarele instructiuni C sunt corecte sintacticdaca x si y sunt doua variabile de tip intreg?

a.if (x < 2) && (x > - 5)

{x=x+1; y=y-1;}Care dintre urmatoarele programe afiseaza diferentaperechilorde elemente din orice tablou initializabil tab cu maximum 12componente?

a) #include <stdio.h>static int tab[12]={1, 2, 4, 3, 5, 6, 9, 7, 10, 8, 0,

0};static int dif[6];void main(void){

int i=0, id=0;while (tab[i] != 0)

dif[id++] = tab[i++]-tab[i++];

for(id = 0; id<6; id++)

2

Page 3: Prog Proced

printf("dif[ %d ] = %d\n", id, dif[id]);

}

Care dintre urmatoarele reprezinta o declaratie corecta pentruo variabila x care memoreaza simultan numele si media a maximum 30de studenti?

d. struct {char nume[30]; double media;} x[30];

Care dintre urmatoarele secvente au ca efect citirea unuicaracter din fisierul “C.TXT”?

c. f = fopen(“C.TXT”, “r”); fscanf(f, “%c”, &x);

fclose(f); Care dintre urmatoarele secvente calculeaza suma elementelor depe linia k a unei matrice a, cu m linii (numerotate de la 1 la m; linia de indice 0 este utilizata in alte scopuri) si n coloane(numerotate de la 1 la n; coloana de indice 0 este utilizata in altescopuri)?

d. s = 0; i=1; while(i<=n) {s+=a[k][i]; i++;}

Care dintre urmatoarele secvente de instructiuni determina, inmod corect maximul a trei numere?1) if (a>b && a >c) max = a; else if (b > a && b > c) max = b; else max = c;2) if (a>b) if (a>c) max = a; else max = c; else max = b;3) if (a>b) if (a>c) max = a; else if (b>c) max = b; else max =c;4) if (a>b) if (b>c) max = b; else max = c; else max = a;

b. 1, 3

Care dintre urmatoarele variabile nu isi modifica valoarea inurma executarii secventei de instructiuni:c=2*a-b;a=a-b; a=c-a;b=2*a-c;oricare ar fi valorile lor initiale? (a,b,c sunt variabile de tip int).

b. doar c

Care dintre urmatoarele variante realizeaza deschiderea lacitire a fisierului text “A.TXT”

c. f = fopen(“A.TXT”, “r”);

Care dintre urmatoarele variante realizeaza deschiderea lascriere a fisierului text “B.TXT”?

b. f = fopen(“B.TXT”,”w”);

Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan varsta in ani implinitisi media la licenta a unui absolvent?

a. struct {float media;

Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan codul de identificareal unui candidat la un examen, exprimat ca un numar natural de celmult 4 cifre si media obtinuta de acesta la examen, exprimata ca unnumăr real?

b. struct { int cod;float media;} x;

Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan coordonatele reale(abscisa si ordonata) ale unui punct in planul xOy?

a. struct punct {float ox,oy;} x;

Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan partea reala si parteaimaginara a unui numar complex?

c. struct complex{float im, re;} x;

Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan numaratorul sinumitorul unei fractii ireductibile:

a. struct fractie{int n1,n2;} x;

Care dintre variabilele intregi x, y si z vor avea la finalulexecutarii secventei de instructiuni,x = y + z;z = x – z;y = z;z = x - y;aceeasi valoare ca inainte de executare?

b. numai y şi z

Care dintre variantele de mai jos declara constanta x astfel incat aceasta sa memoreze corect numarul real 3,14?

d. const float x=3.14;

Care este cea mai mica valoare pe care o poate avea expresia C: a. 0

3

Page 4: Prog Proced

x/7-x%7 daca variabila x, de tip int, memoreaza un numar natural cuo singură cifra?Care este instructiunea prin care variabilei x i se atribuievaloarea sumei cifrelor numarului natural format din exact treicifre, memorat de variabila y?

a. x=y/100+y/10%10+y%10;

Care este instructiunea prin care variabilei x i se atribuievaloarea cifrei sutelor numarului natural cu cel putin 4 cifrememorat in variabila y?

a. x=y/100%10;

Care este instructiunea prin care variabilei x i se atribuienumarul obtinut prin inversarea ordinii cifrelor numarului naturalformat din exact 2 cifre, memorat in variabila y?

a. x=y%10*10+y/10;

Care este ordinea de executare a instructiunilor urmatoare pentru ca in final variabilele intregi x, y si z sa aiba valori egale, indiferent de valorile lor initiale:{/* 1 */ x = x / 10;/* 2 */ z = x / y;/* 3 */ x = 100;/* 4 */ y = x / 10;}

b. 3, 4, 2,

Care este valoarea expresiei 20 / 10 * 2 + 30 / 15 * 2 c. 8Care este valoarea expresiei C: (a/b%c<=b)||!(b==a) dacavariabilele intregi a, b, c au valorile a=20, b=3, c=5?

b. 1

Care este valoarea expresiei C: 50-(100–300/2/(2+3))? c. - 20Care este valoarea expresiei C: 9/2*2-5 a. 3Care este valoarea expresiei strlen(s) pentru variabila s de tip sir de caractere, declarata si initializata astfel: chars[15]=”Proba_1”;

a. 7

Care este valoarea expresiei: 4000/10/10*2+4*10*10 / 2 b. 280Care este valoarea pe care trebuie să o aiba initialvariabilaintreaga x pentru ca, in urma executarii secventeiwhile (x!=3){x=x-1;printf(”HH”);}sa se afiseze sirul HHHHHH?

c. 6

Care este valoarea tiparita de secventa de program C:x=30;y=5;z=(x+y)/6.0;z=(int)(z*100);z=z/100;printf(“%0.2f”,z);stiind ca x si y sunt variabile intregi, iar z este o variabila reala?

c. 5.83

Care sunt valorile finale ale variabilelor intregi x, y si z dupa executarea operatiei de decizie,if (x>1 && y-z>0) x = y-z;else {y = x-1; z = y+x;}daca initial x = 23, y = 14 si z = 25?

c. x = 23, y = 22, z = 45

Care sunt valorile variabilelor intregi a si b dupa executareainstructiunilor urmatoare:{ a = 1235; b = a % 10;if ((a-b) % 10 == 0) { a = a / 100; b = a % 100;}if (a == b) a = a *100;}

d. a = 1200 si b = 12

Care sunt valorile variabilelor intregi x si y dupa executareain ordine a urmatoarelor trei instructiuni:{x = 0x3;

d. x= 0 si y = 6

4

Page 5: Prog Proced

y = x + 0x3;x = x - 3;}Care va fi continutul fisierului “H.TXT” in urma executarii programului urmator?#include <stdio.h>FILE *f; char x, y, z;void main(){f = fopen(“H.TXT”,”w”);fprintf(f,”Ieri %d\n”,13);fprintf(f,”Azi %d”,14);fprintf(f,”Maine %d\n”,15);fclose(f);}

b. Ieri 13Azi 14 Maine 15

Care vor fi valorile afisate dupa executarea secventeichar s1[20]=”variabila”, s2[20]=”varianta”;if(strcmp(s1,s2)<0 && strlen(s1)<strlen(s2))printf(”%s %s”,s1,s2);elseprintf(”%s %s”,s2,s1);daca variabilele s1 si s2 sunt de tip sir de caractere?

c. varianta variabila

Care vor fi valorile variabilelor intregi a si b dupa executarea urmatoarelor instructiuni:{if (a = 10, b = a+1, a != b) b++; else a++; a*=b;}

b. a = 120, b = 12

Cate valori distincte, numere naturale, poate primivariabila xpentru ca valoarea expresiei x/2/2 scrisa in C sa fie egala cu1?

b. 4

Ce se va afisa in urma executarii secventei de instructiunichar a[10]="Examen";n=strlen(a);strcpy(a+1,a+n-1);printf("%s",a);considerand ca s este o variabila sir de caractere, iar n ovariabila de tip intreg?

a. En

Ce se va afisa în urma executarii secventei de programif(strcmp(x, y) > 0) printf(“%s”,x);elseif(strcmp(x,y) < 0) printf(“%s”,y);elseprintf(“imposibil”);daca variabila x memoreaza cuvantul examen, iar variabila ymemoreaza cuvantul banal?

b. examen

Ce se va afisa in urma executarii secventei de program:for(i = 0; i < strlen(x); i++)if(x[i] >= ‘A’ && x[i] <=’N’)x[i] = x[i] + ‘a’-‘A’;printf("%s", x);stiind ca i este o variabila de tip intreg, iar variabila xmemoreaza initial sirul de caractere ExAMeNe?

d. examene

Ce va fi afisat pe ecran in urma instructiuniiprintf(“%6.3f\n”,45.23); ?

b. 45.230

Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunilor de mai jos?strncpy(s,strstr(″examen″,″am″),4); s[4]='\0'; (4p.)

a. amen

Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunilor de mai jos?strncpy(s,strstr("Informatica","form"),strlen("EXA09")); s[5]='\ 0';

b. forma

Ce valoare are variabila s de tip sir de caractere dupa executarea b. ada

5

Page 6: Prog Proced

instructiunii de mai jos?s=strstr(strnset("Olimpiada",'#',strlen("2009")),"ad");Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunilor de mai jos?s=strncpy(s,strstr("informatica","form"),strlen("LIC009"));s[6]='\0';

a. format

Ce valoare are variabila s de tip sir de caractere dupa executarea instructiunii de mai jos?s=strcat(strncpy(s,"informatica",strlen("2008")),"LIC");

b. infoLIC

Consideram ca variabila s memoreaza sirul de caractere examen.Care va fi valoarea lui s dupa executarea instrus[0]= ‘E’;s[strlen(s)-1]= ‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/2]=‘M’.

c. ExAMeN

Consideram ca variabila s memoreaza sirul de caractere mama.Care va fi valoarea lui s dupa executarea instructiunilor de mai jos?s[0]=′M′; s[strlen(s)-3]= ′A′;

a. MAma

Consideram declarareastruct student{char nume[10], prenume[20];float nota1,nota2;} x;Folosita pentru a memora numele, prenumele si cele 2 note ale unuistudent (verificare, laborator). Care dintre instructiunile de maijos calculeaza in variabila reala m media aritmetica a notelorstudentului ale carui informatii sunt memorate in variabila x?

a. m=(x.nota1+x.nota2)/2;

Consideram declararea struct student{char nume[10],prenume[20];float medie;}p;folosita pentru a memora numele, prenumele si media unui student.Care dintre expresiile de mai jos are ca valoare prima litera anumelui unui student ale carui informatii sunt memorate invariabila p?

a. p.nume[0]

Consideram declararea: struct punct{int x,y;} p;Care dintre urmatoarele instructiuni este corecta din punct de vedere sintactic?

c. p.x=7;

Consideram urmatoarea declaratie:struct produs {char denumire[10]; int pret;} p;Cum se poate accesa prima litera a denumirii unui produs ale caruicaracteristici sunt memorate in variabila p?

c. p.denumire[0]

Consideram variabila x care memoreaza sirul de caractereABAC.Care dintre urmatoarele instructiuni conduc la afisarea caracterului B?

a. printf("%c",x[strlen(x)-3]);

Consideram variabilele intregi i si j. Care dintre urmatoarelesecvente de instructiuni C determina afisarea pe ecran , in urmaexecutarii, a succesiunii de cifre 55?

a.i=5; j=6;

while(j>4){printf(”%d”,i);

j--;}

Considerand ca variabila f este de tip fisier (FILE *), caredintre urmatoarele instructiuni verifica daca s-a ajuns la sfarsitulfisierului indicat de f?

b. if (feof(f)) printf(“final”); else printf(“mai este”);

Considerand declarareastruct {int a, b;} x;care dintre urmatoarele secvente de instructiuni realizeaza in mod corect citirea de la tastatura a valorilor celor doua campuri ale

c. scanf(”%d %d”, &x.a,&x.b)

6

Page 7: Prog Proced

variabilei x?Considerand declarareastruct {int a, b;} x;care dintre urmatoarele secvente de instructiuni afiseaza valorilememorate in cele doua campuri ale variabilei x, separate printr –un spatiu?

a. printf(”%d %d”, x.a,x.b);

Considerand declararilestruct cerc{float raza;int x,y;};cerc c;care dintre urmatoarele referiri este corecta din punct de vedere sintactic

b. c.x

Considerand declararilestruct punct{float x,y;};struct fig{ char tip;punct a,b,c;}fig e;care dintre urmatoarele referiri este corecta din punct devederesintactic ?

d. e.a.x

Considerand variabila x de tip float si variabila de tip int a,care va fi secventa de caractere afisate in urma executarii secventei de instructiuni(s inseamna un spatiu): x = -4.3;

d. 4s4.30s0

Cum se poate accesa prima litera a denumirii unui material alecarui caracteristici sunt memorate în variabila m, declarată prin:struct material{char denumire[20];int pret;} m;

d. m.denumire[0]

Cum se poate accesa prima litera a denumirii unui produs alecarui caracteristici sunt memorate in variabila p, declarata prin:struct produs{char denumire[15];int pret;}p;

c. p.denumire[0]

Cum se poate accesa prima litera a numelui unei persoane alecarei date de identificare sunt memorate in variabila p, declarata prin:struct persoana{char nume[20],prenume[20];int varsta;} p;

a. p.nume[0]

Cum se poate accesa prima literă a numelui unui student ale carui date de identificare sunt memorate in variabila e,declarata prin:struct student{char nume[20],prenume[20];int varsta;}e;

b. e.nume[0]

Daca a, b sunt variabile de tip int, iar x si y sunt variabile de tip float, stabiliti care dintre urmatoarele secvente de atribuiri sunt incorecte:1) b = 2; a = b/2;2) x = 8; y = 10; a == x+y;3) x = 4; b = 2; y = x/b;4) x == 20; y == 10; x =(x+y)/2;5) a = b = 5; x = a+b;

c. 2, 3, 4, 5

Daca n este un numar natural (intreg pozitiv), ce realizeazaurmatoarea secventa?{p=1;while(n) p *= (n--);}

c. Calculeaza in variabila p

valoarea lui n!

Daca variabila s de tip sir de caractere memoreaza sirul d. 11

7

Page 8: Prog Proced

INFORMATICA atunci strlen(s) are valoarea?Determinati valoarea expresiei ((int)fabs(-14.2)) % 7 c. 0Determinati valoarea expresiei fabs(-11.2) + sqrt(floor(16.23)). d. 15.2Dintre tipurile simple de date face parte tipul: a. doubleElementele tabloului bidimensional1 2 3 412 13 14 511 16 15 6 10 9 8 7cu 4 linii si 4 coloane, sunt toate numerele naturale cuprinseintre 1 si 16 asezate in spirala, incepand cu primul element al primeilinii si continuand in sens invers trigonometric. Care este cel maimare numar situat in zona triunghiulara de sub diagonala secundara(exclusiv diagonala secundara), in cazul unui tablou bidimensionalcu 5 linii si 5 coloane generat dupa aceeasi regulă?

d. 22

Fie declararile:struct student{char nume[30];float nota;};student x;Dacă variabila x retine informatii despre un student, precizati careeste varianta corecta ce afisează prima litera din numele acestuia?

b. printf(“%c“,x.nume[0]);

Fie declaratiile:int a[5] = {1, 2,4, 3, 5};int b[4] = {4, 2, 1, 3};atunci a[b[0]] este:

c. 5

Fie definitia:int a = 5, b = 3, c = 1, d = 3;Care dintre urmatoarele expresii logice au valoarea 1(adevarat):1) a < b || c)2) (b == d && c || a >= b)3) (c && d > b)4) a > b || !(d<a)5) (a == b) && c

d. 1, 2, 4

Fie expresia C 10*2/3*3/2. Care este rezultatul evaluariiexpresiei?

d. 9

Fie expresia C: ((a>3) && (a<15)) || (a!=b) Care dintreexpresiile C de mai jos ii este echivalentă?

b. !((a<=3) || (a>=15)) || (a!=b)

Fie expresiile A = 18 - 3 +2; B = 18 + 7 / 3 +2; C = 2.3 + 3%;D = 3 + 7.0/3; E = 3 + 4 % 2.3; F = 24 % (7 + 1); Care din acesteexpresii sunt corecte?

b. A, B, D, F

Fie instructiunea:if (x>y) if (y>z) if(z>x) s = x+y+z; else p = x*y*z;O secventa de instructiuni echivalenta cu aceasta, dar carefoloseste o singura data cavantul cheie if, este:

d. if(x>y && y>z) p = x*y*z;

Fie programul C:#include <stdio.h>void main(void){int a = 7, b=5, c = 2;if(a > b > c) printf("Da!"); else printf("Nu!");}Care este rezultatul acestuia (ce se afiseaza)?

b) Mesajul "Nu"

Fie programul:#include <stdio.h>void main(void){int a=0, b=0; /* definire cu initializare */int s = 6;a = 5, /* incarca ab=2; incarca b */

b) 0

8

Page 9: Prog Proced

s = (a*b)/2;printf("s= %d\n", s);}Care este valoarea variabilei s la incheierea executariiprogramului:Fie programul:#include <stdio.h>void main(void){int a=1, b=3;double f = 0.6;f = a/b;printf("f= %7.5lf\n", f);}Care este valoarea variabilei f afisata in urma executariiprogramului:

c) 0.00000

Fie secventa C:p=1; n=279;while (n>=100){ p=p*10;n=n-100;}Cate atribuiri se executa, in total, in secventa alaturata, daca n si p sunt variabile de tip intreg?

a. 4

Fie secventa de instructiuni C:x=4; y=6;while (y==6) y=y+1;if (x==y) x=x+1;Care este numarul total de atribuiri efectuate la executareasecventei de instructiuni?

c. 2

Fie secventa de instructiuni:{x=x-1; y=2*x+y; x=2*x+1;}Care au fost valorile variabilelor x si y, de tip int, la inceputulexecutarii secventei de instructiuni date, daca la finalul executarii x are valoarea 2007 iar y are valoarea 2009.

c. x = 1004 si y = 3

Fie secventa:a = 99; while (a >=1) {printf(“%d\n”, a); a=a-2;}Prin executarea acesteia se afiseaza:

b. numerele naturale impare mai mici ca 100

Fie secventa:{char c; for c=’A’; c <=’Z’; c++) printf(“%d”, c);}Prin executarea acesteia se obtin:

b. numerele naturale din intervalul [65, 90]

Fie secventa:for(j=1; j<=5; j++) for (i=1; i<=3; i++) a[i][j] = i+j;Prin executarea acesteia, tabloul a va avea urmatorul continut

d. 2 3 4 5 63 2 3 4 54 3 4 5 6

Fie tabloul unidimensional v si secventa for (j = k; j>=q; j--) v[...] = v[j];Cu ce expresie trebuie inlocuite punctele de suspensie astfel incatin urma executarii secventei elementele v[q], v[q+1], ..., v[k] sase deplaseze cu p-1 vpozitii spre dreapta?

c. p-1+j

Fie v un tablou unidimensional cu n elemente de tip intreg, iarn un numar natural nenul (n <=100) si secventa urmatoare:{i=0;while (i<n) {v[i] = i*i; i++;}}De cate ori se repeta instructiunea i++; in timpul executarii secventei date

b. n ori

Fie v un tablou unidimensional format din n componenteintregi, numerotate de la 1 la n (pozitia 0 are alta semnificatie), iar p sik doua variabile de tip intreg. In care dintre urmatoarele secventevariabilei p i se atribuie prima valoare strict pozitiva din tabloulv, daca exista o astfel de valoare, sau 0 in caz contrar?

c. {p = 0; for(k=1; k<=n; k++) if (v[k]>0 && !p) p =

v[k];}

9

Page 10: Prog Proced

Fie v un tablou unidimensional format din n numere intregi(n>=2). Stiind ca primul element din tablou se afla pe pozitia 1(pozitia 0 este utilizata in alte scopuri), indicati care dintreurmatoarele secvente atribuie variabilei intregi max cea mai marevaloare din tabloul v:

b. for(int i=2; i<=n; i++)if(v[i-1]>v[i]) v[i] = v[i-

1]; max =v[n];

Fie x o variabila care memoreaza un numar natural. Care dintreurmatoarele expresii C are valoarea 0 daca si numai daca numarul memorat de x nu este divizibil cu 3?

c. (1-x%3)*(2-x%3)

Fie x un număr natural cu exact 4 cifre. Care dintre urmatoarele instructiuni C/C++ determina, in urma executarii, eliminarea cifrei sutelor numarului memorat de variabila x?

d. x=x/1000*100+x%100;

Fiecare dintre variabilele intregi x si y memoreaz cate un numarnatural. Care dintre expresiile C de mai jos are valoarea 1 daca sinumai daca numarul memorat in x este strict mai mare decat 0 sinumarul memorat in y este strict mai mare decat 5?

c. x*(y-5)>=0

Fiecare dintre variabilele intregi x, y si t memoreaza cate unnumar natural de cel mult 4 cifre. Stiind ca x<y, care dintreurmatoarele expresii C este egala cu 1 daca si numai daca numarulmemorat de variabila t apartine intervalului inchis [x,y]?

b. (t>=x) && (t<=y)

Fiecare dintre variabilele intregi x, y si t memoreaza cate unnumar natural de cel mult 4 cifre. Stiind ca x<y, care dintreurmatoarele expresii C este egala cu 1 daca si numai daca numarul memorat de variabila t nu apartine intervalului deschis (x,y)?

a. (t<=x) || (t>=y)

Fiind dat un tablou bidimensional cu 20 linii şi 20 coloane,cate elemente se gasesc strict deasupra diagonalei secundare a tabloului?

d. 210

Functia predefinita care returneaza modulul unui numarintreg este: c. mod

Functia revers(v, p, q) inverseaza ordinea elementelor dintabloul unidimensional v aflate pe pozitiile p, p+1, ..., q-1, q(se presupune ca p <= q). Care dintre urmatoarele secvente deprogram inverseaza doar prdinea elementelor v[p] si v[q]:

b. revers(v, p, q); revers(v, p+1, q-1);

Functia s (scrisa in limbajul C, standard) este utilizatapentru interschimbarea valorilor a doua numere intregi, pozitive.Definitia corecta (in antet) a acesteia trebuie sa fie:

c. void s(unsigned int *, unsigned int *) { ... }

In declarareastruct p{int a,b;} x,y;int t;campul a al structurii memoreaza numaratorul, iar campul b memoreazanumitorul unei fractii. Care dintre urmatoarele secvente deinstructiuni determina, in urma executarii, interschimbareanumitorului fractiei x cu numitorul fractiei y?

a. t=x.b; x.b=y.b; y.b=t;

In declarareastruct punct{float x,y;}P;campurile x si y ale inregistrarii pot memora coordonatelecarteziene ale unui punct din planul xOy. Care dintre urmatoareleexpresii are valoarea 1 daca si numai daca punctul P este situat pe axa Ox ?

b. P.y==0

In expresia C: x%2+(x+1)%2 variabila x este de tip intreg.Aceasta expresie:

a. are valoarea 1 pentru orice numar natural x.

In functia recursiva de mai jos se considera ca tabloulunidimensional v este declarat global.void star(int i){if(i<10) {

a. int v[] = {1, 4, 3, 2, 1, 6, 5, 4, 3, 10};

10

Page 11: Prog Proced

printf(“*”);if (v[i] == i+1) star(i+2); else star(i+1);}}Pentru care dintre declaratiile urmatoare, apelul star(0) produce 7asteriscuri (stelute)?In secventafor ( i=k+1; i<=n; i++)for (j=1; j<=n; j++)v[i-1][j] = v[i][j];n=n-1;variabila v memoreaza elementele unei matrice cu liniile sicoloanele numerotate de la 1 la n, iar toate celelalte variabilesunt intregi. Daca 1<=k<n, atunci executarea secventei determina:

a. eliminarea liniei k din matrice

In secventaif(!(strcmp(s1,s2) || strcmp(s1,s3)))val=1;elseval=2;variabilele s1, s2 si s3 retin siruri de caractere. Dupa executarea acesteia, variabila intreaga val primeste valoarea 1 daca

a. s1, s2, s3 retin siruri identice de caractere

In secventafor(i=0;i<=strlen(x)-1;i=i+3) printf(“%c”,x[i]);variabila x memoreaza un sir cu cel mult 100 de caractere, iarvariabila i este de tip intreg. Care este numarul maxim decaracterepe care il poate avea sirul x astfel încat secventa alaturata sa afiseze exact 3 caractere ale acestuia?

a. 7

In secventafor(i=0; i<8; i++)for(j=0; j<8; j++)a[i][j] = (i+j)%8;i, j si n sunt variabile intregi, iar a este o matrice formata din 8linii şi 8 coloane, numerotate de la 0 la 7. Care este sumaelementelor de pe ultima linie a matricei, in urma executării acestei secvenţe?

a. 28

In secventafor(i=0; i<n; i++)for(j=0; j<n; j++)a[i][j] = (i+j)%n;i, j si n sunt variabile intregi, iar a este o matrice patratica formata din n linii si n coloane numerotate de la 0 la n-1. Care este suma elementelor de pe diagonala secundara din matricea a, in urma executarii acestei secvente, daca n=8?

d. 56

In secventafor(i=0; i<n; i++)for(j=0; j<n; j++)a[i][j] = (i+j)%n;i, j si n sunt variabile intregi, iar a este o matrice patratica formata din n linii si n coloane, numerotate de la 0 la n-1. Care este suma elementelor de pe diagonala principala din matricea a, in urma executarii acestei secvente, daca n=8?

a. 24

In secventa alaturata de program:for (i=1;i<=3;i++)for (j=10;j>=i+1;j--)printf(”%d”,j);instructiunea de afisare se va executa de un numar de ori egalcu:

a. 24

In secventa de instructiuni C:x=20; y=5;x=x+y;

d. 40

11

Page 12: Prog Proced

y=x-2*y;x=y+x;variabilele x si y sunt intregi. Ce valoare va retine variabila x dupa executarea acesteia?In secventa de instructiuni,y=1;if (k>0)if (i!=j)y=0;else y=2;variabilele i, j, k si y sunt de tip intreg. Pentru care dintreurmatoarele seturi de valori ale variabilelor i,j si k variabila yva avea valoarea 1 in urma executarii secventei?

a. k=0; i=5; j=5

In secventa de instructiuni,if (k>0)if (i!=j) x=0;else x=1;else x=2;if (i!=j)if (k>0) y=0;else y=2;else y=1;variabilele i, j, k, x si y sunt de tip intreg. Pentru caredintre urmatoarele seturi de valori ale variabilelor i, j si kvariabilele x si y vor primi valori diferite intre ele in urmaexecutarii acestei secvente?

d. k=0; i=5; j=5

In secventa de instructiuni,if (k>0)if (i!=j) y=0;else y=1;else y=2;variabilele i, j, k si y sunt de tip intreg. Pentru care dintreurmatoarele seturi de valori ale variabilelor i, j si k variabila yva avea valoarea 1 in urma executarii secventei?

c. k=10; i=5; j=5

In secventa de instructiuni:y=x;while(x<=3){printf("*");y=y+1; x=x+y;}variabilele x si y sunt de tip int. Care este valoarea pe caretrebuie să o aiba initial variabila x daca la finalul executariisecventei s-a afisat un singur caracter asterisc (*)?

a.0

In secventa urmatoare de instructiuni, n si y sunt variabileintregi.{n=156; y = 770;while(n*y > 0) if (n >y) n = n%y; else y = y%n;y = y+n;}Valoarea variabilei y la finalul executarii secventei este:

c. 2

In secventa urmatoare, variabilele n, x si y sunt de tip intreg.{x = 1; y = x-1;do{y=x*(x-1)+y;x++;}while(x <=n);} Daca valoarea variabilei n este un numar naural nenul, de cate orieste evaluata expresia logica x <= n in timpul executariisecventei?

a. de n2 ori

12

Page 13: Prog Proced

În secvenţa:p=1;for(i=1;i<=4;i++)....variabila a memoreaza un tablou bidimensional cu 4 linii si 4coloane, numerotate de la 1 la 4, cu elementele reale. Variabila peste reală, iar i este de tip întreg.Care dintre instructiunile de mai jos poate inlocui punctele desuspensie astfel incat secventa sa determine memorarea in variabilap a valorii produsului celor 8 elemente aflate pe diagonalele matricei

a. p=p*a[5-i][i]*a[i][5-i];

In secventele C urmatoare toate variabilele sunt de tip intreg si memoreaza numere cu cel mult 3 cifre. Care dintre variantele de mai jos determina interschimbarea valorilor memorate de variabilele

b. a=a+b; b=a-b; a=a-b;

Parametrii utilizati la apelul unei functii, se numesc: c. parametri actualiPentru a memora simultan numele şi media la ‚ProgramareProcedurala’ a unui student in variabila e, se poate utilizadeclararea;

d. struct {char a[40]; float b;} e;

Pentru care dintre perechile de valori de mai jos expresia C:(a%100==b%100) && (a>99) || (b>99) are valoarea 1?

a. a=1003 şi b=3

Pentru declararea struct student{char nume[20];int nota;} e1,e2;precizati care dintre instructiunile de atribuire este gresita:

a. e1=e2+1;

Pentru declararea unei variabile care memoreaza un cuvant avandmaximum 25 caractere, putem utiliza sintaxa:

c. char c[26];

Pentru definitia alaturata a functiei ex(), stabiliti ce se afiseaza la apelul ex(120)?void ex(int x){if (x != 0){printf(“%d”, x %10);ex(x/10);}}

c. 021

Pentru o matrice t cu 8 linii si 8 coloane, numerotate de la 0 la 7, cu elemente numere intregi, secventa de programz=0;for(i=0;i<8;i++)for(j=8-i;j<8;j++)z=z+t[i][j];determina memorarea in variabila intreaga z a sumei tuturor elementelor situate:

d. strict sub diagonala secundara

Pentru o valoare naturala mai mare decat 1 memorata invariabila globala n, subprogramul urmator afiseaza cel mai maredivizor al lui n, mai mic decat n, la apelul divi(n).void divi(long i){if ( ... == 0) printf(“%ld”, ...); else divi(i-1);}Cu ce expresii trebuie completate punctele de suspensie?

a. n % i si i

Pentru un tablou bidimensional a cu 10 randuri si 10coloane,stabiliti ce calculeaza secventa de program urmatoare, invariabilas:s = 0;for (i = 0; i<10; i++) for (j = i; j <10; j++) s+=a[i][j];

c. Suma elementelor situate deasupra

diagonalei principale,inclusiv diagonala

principala

Pentru un tablou x declarat global, cu 10 componenteintregi,stabiliti care sunt valorile memorate de componentele tabloului x inurma apelului ex(0, 9), daca functia ex este definita astfel:void ex(int i, int j){if(i <= j) {

c. (1, 9, 3, 7, 5, 6, 4, 8, 2, 10)

13

Page 14: Prog Proced

x[i] = i; x[j] = j; ex(i+1, j-1);if (i % 2 != 0) {x[i]=j; x[j]=9-x[i];}}}Prototipul corect al unei functii care primeste doua numereintregi ca primi doi parametri (de intrare) si determina mediaaritmetica si produsul celor doua numere, pe care le transmiteapelantului prin urmatorii doi parametri este:

c. void calcul (int, int,double *, int *);

Se considera algoritmul:1. citeste n; a = 0; b = 1; k = 2;2. Cat timp k<n executa { scrie a, b; a = a+b; b = a+b; k = k+2;}3. Daca k = n atunci scrie a, b; altfel scrie a.Ce sir va calcula algoritmul pentru n = 7?

c. 0, 1, 1, 2, 3, 5, 8

Se considera ca declaratiastruct patrat { float latura, aria;} p;defineste in C patrate caracterizate prin latura si arie. Care dinurmatoarele expresii atribuie campului aria al variabilei p valoareaariei patratului respectiv?

c. p.aria = p.latura * p.latura;

Se considera declarareastruct fractie {unsigned int x, y;} s, f1, f2;in care campurile x si y reprezinta numaratorul, respectiv numitorulunei fractii. Care dintre urmatoarele variante construieste invariabila s o fractie echivalenta cu suma fractiilor f1 si f2?

c. {s.x = f1.x * f2.y + f1.y * f2.x; s.y = f1.y * f2.y;}

Se considera declararile:struct A {int x;char y;float z;};struct B {struct A x;long y;};B x, y;.Care este tipul expresiei x.x.y

d. char

Se considera definitiavoid f(int n){int j;if (n>0) for (j=1; j<=n; j++) {printf(“%d”,j); f(n-1);}}Ce se afiseaza ca urmare a apelului f(2)?

d. 1121

Se considera definitialong f(int n, int k){if (n == k || k == 1) return 1;if (n < k) return 0;long s=0, i;for (i=1; i<=k; i++) s+=f(n-k,i);return s;}Stabiliti ce valoare returneaza apelul f(6,3).

a.3

Se considera definitia:long f(int n){if (n == 0) return 1;else if (n == 1) return 4;else return f(n-1) - f(n-2);}Stabiliti ce valoasre returneaza apelul f(7).

d. 4

Se considera definitia:long f(int x, int y){if (x == y || x == 0) return 1;else return f(x,y-1)+f(x-1,y-1);}

b. 45

14

Page 15: Prog Proced

Ce valoare returneaza apelul f(8,10)?Se considera fisierul MAIN.CPP al carui continut este:#include <stdio.h>extern char *a;void main(void){printf("%s\n", *a);}si fisierul F1.CPP al carui continut este:char a[] = "Programare procedurala\n";Prin analiza programului se constata:

a) Se afiseaza: Programare procedurala

Se considera functia f al acarui prototip/antet este bazat pe:void f(int a[100][100], int n, int m, int i, intj);Functia precizata realizeaza interschimbarea liniilor i si j aletabloului transmis prin parametrul a, care are n linii si m coloane.Pentru a ordona crescator numerele de pe coloana a 3-a a tabloului a,functia f se apeleaza in timpul executarii secventei:for (i=0; i<n-1;i++)for(j = i+1; j<n; j++)if(a[i][3] >a[j][3]) f(a, n, m, i, j);de un numar de ori egal cu:

c. n

Se considera programul#include <stdio.h>void main(void){int s;int k;for (k = 1; k <= 10; ++k) s += k;printf("Suma primelor 10 de numere naturale nenule este %d\n",s);}Ce afiseaza programul:

b) intotdeauna 55

Se considera programul#include <stdio.h>void main(void){int s=0;int k;for (k = 1; k <= 10; ++k); s += k;printf("Suma primelor 10 de numere naturale nenule este %d\n",s);}Ce afiseaza programul:

b) intotdeauna 11

Se considera programul#include <stdio.h>void main(void){int s=0;int n, k;printf("N = "); scanf("%d", &n);for (k = 1; k <= n; s+=++k);printf("Suma primelor %d numere naturale nenule este %d\n", n,s);}Valoarea variabilei s pentru n = 10 este:

d) 65

Se considera programul#include <stdio.h>void aplic(int x, int *y){x+=3; (*y)-=2; printf(“%d, %d”, x,*y);}void main(void){int x=12, y=20; aplic(x, &x); printf(“,%d,”,x);printf(“%d,”,y);aplic(y,&y); }Ce se va afisa in urma executarii acestuia:

b. 15,10,10,20,23,18

Se considera programul C:#include <stdio.h>

b)F 0

15

Page 16: Prog Proced

int f(void){ int i = 0; return (i++); }int g(void){static int x = 0; return (x++); }void main(void){ int k;for (k = 0; k < 3; k++) printf("F %d\n", f());for (k = 0; k < 3; k++) printf("G %d\n", g());}Analizati modul de functionare si precizati care este iesireaacestui program

F 0F 0G 0G 1G 2

Se considera programul C:#include <stdio.h>void main(void){int k[5] = {1, 2, 3, 4, 5}, i=7;for(i = 1; i<= 5; i++) printf("%d, ", k[i]);printf("\n");}Care este rezultatul obtinut in urma executarii programului:

d) 2, 3, 4, 5, 7

Se considera programul C:#include <stdio.h>void main(void){ char c;c = 0xFF;if(c == 0xFF) printf("Da\n"); else printf("Nu\n");}Ce se afiseaza?

b) Nu

Se considera programul C:#include <stdio.h>void main(void){ int x, y=10;x = 1; y = x << 2 + 1;printf("%d\n", y);y = 7;}Care este valoarea variabilei y ce se afiseaza prin executareaprogramului?

d) 8

Se considera programul C:#include <stdio.h>void main(void){ int x, y=10;x = 7;y = (x = 1)? (-5) : 7;printf("%d\n", y), y = 8;}Care este valoarea variabilei y ce se afiseaza prin executareaprogramului:

a) -5

Se considera programul C:#include <stdio.h>void main(void){ int k;clrscr();for(k = 2; k<=10; ++k){switch(k){case 2:case 3:case 5:case 7: printf("k = %d, Da\n", k); break;defualt: printf("k = %d, Nu\n", k); break;}}}Ce afiseaza programul in urma executarii?

a)k = 2, Dak = 3, Dak = 4, Nuk = 5, Dak = 6, Nuk = 7, Dak = 8, Nuk = 9, Nu

k = 10, Nu

Se considera programul C:#include <stdio.h>void main(void){ int k;for (k = 1; k<= 10; k++);printf("k = %d , sqr(k) = %d\n", k, k*k);}

b) k = 11, sqr(k) = 121

16

Page 17: Prog Proced

In urma executarii acestuia se afiseaza:Se considera programul C:#include <stdio.h>#define MAX 10;void main(void){int k;for (k=MAX k>0; --k) printf("Succes!\n");}Atunci:

b) Afiseaza pe 10 rinduri secventa Succes!

Se considera programul C:#include <stdio.h>void main(void){int k1 = 12, k2 = 3;if (k1 & k2) printf("Ambele numere sint nenule\n");else printf("Cel putin un numar este zero\n");}Prin executarea acestui program se obtine:

a) Mesajul redat prin "Cel putin un numar este zero\

n"

Se considera programul C:#include <stdio.h>int a[3][3]={{1, 2, 3}, {4, 5, 6}, {7, 8, 9}};void main(void){printf("Elementul de pe rindul cu indicele 1\n"),printf(" si coloana cu indicele 2 este %d\n", a[1,2]);}La executarea programului, valoarea afisata este:

d) O valoare din memoria volatila din

afara spatiului

Se considera programul C:#include <stdio.h>#include <conio.h>void bit(const unsigned short int k){unsigned short int x = (1 << 16);int i;for(i = 0; i<16; i++) {if ((x & k) != 0) printf("%c", '*'); else printf("%c",'-');x >>= 1;}printf("\n");}void main(void){bit(0x55AF);}La executare acesta afiseaza:

b) ---------------- (16 simboluri)

Se considera programul C:#include <stdio.h>void F(int *a, int b){b +=*a; (*a)*=b;printf(“%d %d “, *a, b);}void main(void){int x = 5, y = 7; F(&x, y);printf(“%d %d“, x, y);}Ce se va afisa in urma executarii?

c. 60 12 60 7

Se considera programul. Analizati textul si identificatirezultatele obtinute in urma executarii acestuia.#include <stdio.h>static void mp(int c[3][3], int a[3][3], int b[3][3]){int i, j, k;for(i = 0; i < 3; ++i){for(j = 0; j < 3; ++j){c[i][j] = 0;

a)40 18 4214 13 2052 34 62

17

Page 18: Prog Proced

for(k = 0; k < 3; ++k){result[i][j] += a[i][k] * b[k][j];}}}}static void pm( int m[3][3]){int i, j;for (i = 0; i < 3; ++i){for (j = 0; j < 3; ++j) printf("%o \t", m[i][j]); printf("\n");}}void main(void){int x[3][3] = {{4, 8, 2}, {3, 1, 1}, {8, 8, 2} };int y[3][3] = {{3, 4, 5}, {3, 0, 2}, {2, 1, 3} };int z[3][3];mp(z, x, y);pm(z);}Se considera programul:#include <stdio.h>void main(void){int n1, n2;printf("n1 = "), scanf("%d", &n1);printf("n2 = "), scanf("%d", &n2);if (n2 =! 0) printf("n1/n2 = %d\n", n1/n2);else printf("Impartire prin ZERO\n");}Ce se afiseaza pentru n1 = 8 si n2 = 16?

b) n1/n2 = 8

Se considera programul:#include <stdio.h>void main(void){float treime = 1.0/3.0;float unu = 1.0;if ((treime+treime+treime) == unu) printf("Da!\n"); elseprintf("Nu\n");}

c) Afiseaza "Nu!"

Se considera secventa C:y=0;do{x=x/10;y++;} while(x%100==0);Care este valoarea pe care poate sa o aiba initial variabilaintreaga x daca, la sfarsitul executării secventei, variabilaintreaga y are valoarea 2?

b. 5000

Se considera secventa de instructiuni:{char a[]=”aabbddeff”;char b[] =”aabbdeeff”’if (strcmp(a, b) == 0) printf (“egalitate”); else printf(“%s “,b);}Care este rezultatul obtinut in urma executarii?

a. aabbdeeff

Se considera secventa:{int i, j;for (i = 1; i<n; i++) for(j = i; j < n; j++) if (j%i == 0)printf(“%d%d”, i, j);}De cate ori se va executa instructiunea de decizie (marcata ingrosat:j%i == 0) din secventa de program de mai sus daca valoarea initialaa variabilei intregi n este 8?

d. 28

Se considera secventa:{int a = 5, b = 0;do {a--; b +=a*a;

d. a = 0 si b = 30

18

Page 19: Prog Proced

}while(a!=0);}Ce valori vor avea variabilele a si b la finalul executarii secventei?Se considera secventa:{ int a =82, b = 24;a = a % 2 + b / 2 / 2;b = 2 * a % 2;a = a + b;b = a % 2 + b + 10 % 2;}Care sunt valorile finale ale variabilelor a si b?

d. a = 6, b = 0

Se considera tabloul bidimensional a cu n linii numerotate dela 0 la n-1 si m coloane numerotate de la 0 la m-1. Ce reprezintaelementul a[n-1][p] dupa executarea secventei de program:p=0;for (i=1;i<m;i++)if (a[n-1][p]<a[n-1][i])p=i

a. cel mai mare element de pe linia n-1

Se considera tabloul unidimensional int a[5]={1, 2, 3, 4, 5};si secventa de instructiunifor(i=0; i<5; i++) {s=0; for(j=0; j<=i; j++) s+=a[j];printf(“%d”,s);}Care va fi rezultatul afisat in urma executarii secventei de maisus?

d. 1361015

Se considera textul C:#include <stdio.h>static int div(int *x){int k = 5;k = k/*x;return k;}void main(void){int n = 5;printf("%d\n", div(&n));}Atunci:

a) Programul afiseaza valoarea 1

Se considera un tablou bidimensional a cu n linii si n coloane,numerotate de la 1 la n, cu elemente numere intregi. Ce reprezintavaloarea variabilei intregi x, dupa executarea secventei deprogram:x=0;for(i=1;i<=n; i++)x=x+a[i][i];

a. Suma elementelor de pe diagonala principală a

tabloului a

Se considera un tablou bidimensional a, format din numerenaturale, cu n linii si n coloane, numerotate de la 1 la n. Cereprezinta valoarea variabilei x, dupa executarea secventei deprogram:x=a[n][1];for(i=n;i>=1;i--)if (x<a[i][n-i+1])x=a[i][n-i+1];

b. cel mai mare număr de pe diagonala secundară a

tabloului a

Se considera un tablul unidimensional in care elementele suntin ordinea: 1, 3, 5, 7, 10, 16, 21.Pentru a afla pozitia pe care seafla valoarea x = 10 se aplica metoda cautarii binare. Care estesuccesiunea de elemente care astepau valoarea lui x:

b. 7, 16, 10

Se considera urmatoarea functie recursiva apelata numai pentrunumere naturale nenule:int f(int a, int b){if (a<b) return a; else return f(a-b, b);}

c. int f(int a, int b){return a%b;}

19

Page 20: Prog Proced

Care dintre urmatoarele functii este echivalenta cu functia data?Se considera urmatoarele declaratii:int x[5] = {0, 1, 5, 3, 4};int y, i;si secventa de instructiuni:{y = x[1];for (i = 0; i<=4; i++) if (y < x[i]) y = x[i];printf(“%d”, y);}Ce se va afisa in urma executarii acestei secvente?

b. 5

Se considera variabila a care memoreaza un numar cu exact 6cifre. Care dintre expresiile C de mai jos are ca valoarenumarulformat din cele doua cifre din mijloc ale valorii memorate in a?

b. a/100%100

Se presupune ca lucrati pentru o casa de software americana sivi se cere sa afisati 'un milion' in scrierea americana , adica 1,000, 0000.Secventa de cod potrivita este:

d) {char a[]="1,000,000"; puts(a);}

Stabiliti care dintre urmatoarele declaratii de variabile sunt corecte:1) float 1t, 2t;2) int a[1..10];3) int x, y;4) string s;5 ) double e; v;

d. 2, 3, 4

Stabiliti care dintre urmatoarele expresii C are valoarea 1dacasi numai daca numarul intreg memorat in variabila x nu apartineintervalului (-a,-b)u[c,d], unde a, b, c si d sunt numere realepozitive.

a. (x<=-a) || ((x<c)|| (x>=-b)) || (x>d)

Stabiliti care dintre urmatoarele expresii C are valoarea 1dacasi numai daca numarul intreg memorat in variabila x nu apartineintervalului (-a,-b], unde a si b sunt valori reale pozitiveastfelincit b < a.

d. (x<=-a) && (x>b)

Stabiliti care dintre urmatoarele expresii C are valoarea 1 daca si numai daca numarul intreg x, nu apartine intervaluluiA=(- 10,-2)u[50,100]?

a. (x<=-10) || (x<50 && x>=-2) || (x>100)

Stabiliti ce se afiseaza in urma executarii secventei de instructiuni Cy=10.1234;x=(int)(y*100)/100;printf(”%d”,x);daca y este o variabila reala, iar x o variabila intreaga.

d. 10

Stiind ca fiecare dintre variabilele var1, var2 memoreaza numele si nota unui student in forma data de declararea:struct student{ char nume[30];float nota;}var1,var2;Indicati care dintre urmatoarele expresii atribuie variabilei reale m media aritmetica a notelor celor doi studenti.

a. m=(var1.nota+var2.nota)/

2;

Stiind ca fisierul “D.TXT” are urmatorul continut:13 45 2332 42 23456 7832 23 4332 32 32 32ce se va afisa in urma executarii programului urmator?#include <stdio.h>

d. 13 45 32

20

Page 21: Prog Proced

FILE *f; int x, y, z;void main(){f = fopen(“D.TXT”,”r”);fscanf(f, “%d %d %d\n”, &x, &y, &z);fscanf(f, “%d”, &z);printf(“%d %d %d \n”, x, y, z);}Stiind ca fisierul “E.TXT” are urmatorul continut:1 2 3 467 34 23567 546 6771234 3234 4565 656412345 12445 12223ce se va afisa in urma executarii programului urmator?#include <stdio.h>FILE *f, int x, y, z;void main(){f = fopen(“E.TXT”, “r”);fscanf(f, “%d %d”,&x, &y);fscanf(f, “%d\n”,&z);printf(“%d %d %d \n”, x, y, z);}

a. 1 2 3

Stiind ca fisierul “F.TXT” are urmatorul continut:12345 1293 16 328.023 322 210.823 210.21 213.12ce se va afisa in urma executarii programului urmator?#include <stdio.h>FILE *f, char x, y, z;void main(){f = fopen(“F.TXT”, “r”);fscanf(f, “%c”, &x);fscanf(f,” %c”, &y);while(getc(f) != ‘\n’);fscanf(f, “%c”, &z);printf(“%c %c %c \n”, x,y,z);}

a. 1 2 3

Stiind ca fisierul “G.TXT” are urmatorul continut:IaEawsS,a.d sdll-dsaXda dsa asddasda sadce se va afisa in urma executarii programului urmator?#include <stdio.h>FILE *f; char x, y, z;void main(){f = fopen(“G.TXT”,”r”);while(getc(f) != ‘\n’);fscanf(f,”%c”, &x);while(getc(f) != ‘\n’);fscanf(f,”%c”, &y);while(getc(f) != ‘\n’);fscanf(f,”%c”, &z);printf(“%c %c %c \n”, x, y, z);}

a. I S -

Stiind ca in urma executarii secventei x=strlen(s);for (i=0;i<x/2;i++) printf(“%c%c”,s[i],s[x-i-1]);

a. EAENMX

21

Page 22: Prog Proced

s-a afisat succesiunea de caractere EXAMEN, care este sirul de caractere memorat de variabila s?Stiind ca initial variabilele intregi x, y si z au valorilex=1,y=2 respectiv z=3, in ce ordine trebuie scrise atribuirile urmatoareastfel incat, in final, expresia x+y+z sa aiba valoarea maxima?I) x=x+y-z; II) y=x-y+z; III) z=z-x+y;

d. I III II

Stiind ca p este un vector (tablou unidimensional) cu 3componente intregi (tabloul este declarat global), M este multimeatuturor cifrelor nenule, iar functia tipar afiseaza valorileelementelot p[0], p[1] si p[2], cu ce trebuie inlocuite simbolurilea, b si c in definitia functiei G astfel incat in urma apelului G(0)sa se afiseze toate elementele produsului cartezian MxMxM?void G(int k){int i;for (i = a; i<=b; i++) { p[k] = i; if (k == c) tipar(); elseG(k+1);}}

a. a = 0, b = 10, c = 3

Stiind ca variabila intreaga n memoreaza un numar natural cucel putin 3 cifre, care dintre urmatoarele expresii C are ca valoarenumarul obtinut dupa eliminarea ultimelor 2 cifre ale lui n?

c. n/100

Stiind ca variabila intreaga nr memoreaza valoarea 5, stabiliti ce mesaj se va afisa in urma executarii secventei de instructiuni C urmatoare.if (nr<7) if (nr>3)printf(”Bine”);else printf(”Foarte bine”);else printf(”Rau”);

d. Bine

Stiind ca variabilele x si y sunt de tip intreg, care esteinstrucţiunea prin care variabilei x i se atribuie ultima cifra anumarului natural memorat in variabila y?

c. x=y%10;

Stiind ca variabilele x si y sunt de tip intreg, care esteinstructiunea prin care variabilei x i se atribuie cifra zecilornumarului natural cu cel putin doua cifre memorat de variabila y?

a. x=y/10%10;

Toate variabilele din secventa de instructiuni Cif (a>b){ aux=a;a=b; b=aux;}for(i=a;i<=b;i++) printf(“%d”,i);sunt intregi. Care dintre urmatoarele afirmatii este adevarata?

b. Secventa contine o instructiune alternativa

urmata de oinstructiune repetitiva.

Un sir de caractere se numeste palindrom daca sirul citit de lastanga la dreapta este identic cu sirul citit de la dreapta sprestanga. Care dintre urmatoarele expresii C are valoarea 1 daca si numai daca sirul de caractere memorat în variabila s, avand exact 3 caractere, este palindrom?

c. s[0]==s[2]

Variabila a memoreaza un numar natural care are exact 3cifre.Care dintre expresiile C de mai jos are ca valoare numarulformatdin prima si ultima cifra a numarului memorat de a?

c. a/100*10+a%10

Variabila a, de tip int, memoreaza un numar natural impar, iarvariabila b, de tip int, memoreaza un numar natural par. Care dintreurmatoarele expresii C are valoarea 1?

b. !(!(a%2) || b%2);

Variabila d, declarata prin struct dreptunghi{float a,b,p;}d;memoreaza in campurile a si b latimea si, respectiv, lungimea unuidreptunghi. Care dintre urmatoarele instructiuni atribuie campului p

c. d.p=2*d.a+2*d.b;

Variabila d, declarata prinstruct dreptunghi

d. d.aria=d.a*d.b;

22

Page 23: Prog Proced

{float a,b,aria;}d;memoreaza in campurile a si b latimea si, respectiv, lungimea unuidreptunghi. Care dintre urmatoarele instructiuni atribuie campuluiaria al variabilei d valoarea ariei dreptunghiului respectiv?Variabila intreaga a memoreaza un numar natural format din exact trei cifre, toate cifrele fiind nenule si distincte. Care dintre urmatoarele instructiuni C atribuie variabilei e suma cifrelor lui a?

c. e=a*10/1000+a/10%10+a

%10;

Variabila întreaga n memoreaza un numar natural cu exact 4 cifre. Care dintre expresiile C de mai jos este echivalenta cu expresia n/100%10%2==0 ?

b. n%1000%2==0

Variabila intreaga n memoreaza un numar natural de exact 5cifre. Instructiunea care determina eliminarea din numarul n a primei si ultimei cifre este:

b. n=n/10%1000;

Variabila intreaga n memoreaza un numar natural de exact 7cifre. Instructiunea care determina eliminarea din numarul n a celor3 cifre din mijlocul lui este:

a. n=n/100000*100+n%100;

Variabila intreaga n memoreaza un numar natural format din exact doua cifre nenule. Care dintre urmatoarele instructiuni C determina memorarea in variabila intreaga t a numarului care are aceleasi cifre ca si n, dar in ordine inversa?

a. t=n%10*10+n/10;

Variabila intreaga n memoreaza un numar natural impar. Caredintre urmatoarele expresii C are valoarea 1?

c. n%2!=0

Variabila intreaga x memoreaza o valoare mai mare ca 1000, formata doar din cifre distincte. Care dintre urmatoarele instructiuni C afisează o singura cifra?

d. printf("%d",x%10/1);

Variabila intreaga x retine un numar natural cu cel putin doua cifre. Care dintre urmatoarele expresii C are valoarea egala cu cifra zecilornumarului natural memorat in variabila x?

c. x / 10 % 10

Variabila p este declarata astfel:int *p;Stiind ca p retine adresa unei variabile de tip int, care dintreurmatoarele instructiuni afiseaza valoarea respectivei variabile intregi?

b. printf(“%d”,*p);

Variabila reala x memoreaza numarul 2.682. Care dintre urmatoarele instructiuni C va atribui variabilei intregi y valoarea 10?

b. y = (floor)(x*100)/100 + (floor)(x*100%100/10);

Variabila s este de tip sir de caractere, iar variabilele c1 sic2 sunt de tip char. Care expresie are valoarea 1 daca si numai dacasirul de caractere s contine caracterele memorate de variabilele c1 si c2?

a. strstr(s,c1+c2)!=0

Variabila s memoreaza un sir de caractere. Care dintreurmatoarele expresii C este nenula daca si numai daca lungimeasirului este un numar par?

d. strlen(s)%2==0

Variabila s memoreaza un sir de caractere. Care dintre urmatoarele expresii C este nenula daca si numai daca lungimea sirului este strict mai mică decat 10?

a. strlen(s)<10

Variabila t este utilizata pentru a memora numarul de exemplaredisponibile intr-o biblioteca si titlul unei carti. Numarul deexemplare este un numar natural de cel mult 2 cifre, iar titlul nupoate avea mai mult de 20 de litere. Care dintre urmatoarele declarari este corecta?

b. struct carte{int nr;

char titlu[21];} t;

Variabila t este utilizata pentru a memora pretul (val) sinumele autorului unei carti. Pretul cartii este un numar natural decel mult 3 cifre, iar numele autorului nu poate avea mai mult de 20de litere. Care dintre urmatoarele declarari este corecta?

c. struct carte{ int val;char nume[21];} t;

Variabila t memoreaza o matrice cu 5 linii si 5 coloane,numerotate de la 0 la 4, cu elemente numere intregi, iarcelelaltevariabile sunt intregi. Secventa de program

23

Page 24: Prog Proced

x=0;for(i=0;i<5;i++)for(j=i+1;j<5;j++)x=x+t[i][j];determina memorarea in variabila x a sumei elementelor situate:

b. strict deasupra diagonalei principale

Variabila t memoreaza o matrice cu 8 linii si 8 coloane,numerotate de la 0 la 7, cu elemente numere intregi, iarcelelaltevariabile sunt intregi. Secventa de program z=0;for(i=0;i<8;i++)for(j=0;j<8-i;j++)z=z+t[i][j];determina memorarea in variabila intreaga z a sumei tuturor elementelor situate:

d. strict deasupra diagonalei secundare

Variabila t memoreaza o matrice cu 8 linii si 8 coloane, numerotate de la 0 la 7, cu elemente numere intregi, iar variabilelei si j sunt intregi. Secventa de programz=0;for(i=0;i<8;i++)for(j=0;j<i;j++)z=z+t[i][j];determina memorarea in variabila intreaga z a sumei tuturor elementelor situate:

a. strict sub diagonala principala

Variabila t memoreaza o matrice cu 8 linii si 8 coloane, numerotate de la 0 la 7, cu elemente numere intregi, iar celelalte variabile sunt intregi. Secventa de program z=0;for(i=0;i<8;i++)for(j=7-i;j<8;j++)z=z+t[i][j];determina memorarea in variabila intreaga z a sumei tuturor elementelor situate:

a. sub diagonala secundara, inclusiv

diagonala secundara

Variabila x este de tip double. Care dintre urmatoarele expresiiC are valoarea 1 daca si numai daca numarul real memorat invariabila x apartine intervalului (a,b], unde a si b sunt numere invirgula mobila date (initializate, citite sau rezultat al unor operatii preliminare)?

d. (x<=b) && (x>a)

Variabila x este utilizata pentru a memora numele, prenumele sisalariul unei persoane. Numele si prenumele pot avea cel mult 20 delitere fiecare, iar salariul este un numar natural nenul mai micdecat 30000 . Care dintre urmatoarele declarari este corecta?

c. struct persoana{char

nume[21],prenume[21];int sal;} x;

Variabile a si b sunt declarate astfel: char a[20,b[20]; Ce seafiseaza in urma executarii secventei urmatoare:{strcpy(a, “examen20”); strcpy(b, “08”);printf(“%s%s”, strcat(a, “*”), b);}

a. examen20*08

Variabile intregi x si y memoreaza cate un numar natural, cuexact doua cifre. Care este valoarea expresiei x-y stiind fiecaredintre expresiile C alaturate are valoarea 1?x/10==y%10y/10==x%10x/10==x%10+1

c. 1

Variabilele a si b sunt de tip int, iar variabilele c si d suntde tip double. Care dintre urmatoarele instructiuni de atribuire nueste corecta din punct de vedere sintactic?

d. b=(d<=c);

Variabilele a si i sunt declarate astfel:int a[100], i;Care dintre urmatoarele instructiuni este corecta din punct devedere sintactic?

a. a = i;

Variabilele a, b si c, de tip int, pot fi initializate cu a. !((a % c!=0) || !(b % c!

24

Page 25: Prog Proced

oricare numere naturale impare distincte. Stiind ca c este divizoral lui a, iar b nu este multiplu al lui c, care dintre urmatoareleexpresii scrise in C are valoare 1?

=0))

Variabilele a, b si z sunt reale, iar a ≤ b. Care dintre expresiile C urmatoare are valoarea 1 daca si numai daca valoarea variabilei z nu apartine intervalului inchis determinat de valorile variabilelor a si b ?

b. (z<a)||(z>b)

Variabilele a, b, c si d memoreaza valori reale astfel incata<b si c<d. Care dintre expresiile C de mai jos are valoarea 1 daca sinumai daca intersectia intervalelor inchise [a,b] si [c,d] este vida?

a. (d<a) || (b<c)

Variabilele intregi a si b memoreaza numere naturale. Caredintre expre

b. (a%2!=0) && (b%2!=0) && (a%2==1) &&

(b%2==1)Variabilele intregi a si b memoreaza numere naturale. Caredintre expresiile C de mai jos este echivalenta cu expresia (a+b)%2==1 ?

a. (a%2==0) && (b%2==1)|| (a%2==1) && (b

%2==0)Variabilele intregi n si m memoreaza numere naturale nenulepare, iar n<m. Care dintre expresiile C de mai jos are valoareaegala cu numarul de valori impare din intervalul inchis [n,m] ?

b. m/2-n/2

Variabilele intregi x si y memoreaza cate un numar naturalnenul. Cel mai mic multiplu comun al valorilor lor este egal cunumarul memorat in y daca si numai daca urmatoareaexpresie C are o valoare nenula:

d. x%y==0

Variabilele intregi x si y memoreaza doua numere naturale cu cel mult 4 cifre fiecare. Caredintre expresiile de mai jos are valoarea 1, daca si numai dacavaloarea memorata de xapartine intervalului [10,100] si valoarea memorata de y apartineintervalului [5,30]?

c. (x<=100 && x>=10)|| (y>=5 && y<=30)

Variabilele intregi x si y memoreaza numere naturale nenule.Care dintre urmatoarele expresii C este nenula daca si numai dacanumarul obtinut prin insumarea valorilor variabilelor x si y are ultima cifra 0?

d. (x%10+y%10)%10==0

Variabilele n, z si u sunt intregi, iar n memoreaza un numarnatural cu cel putin 2 cifre. Secventa C care determinainterschimbarea ultimelor doua cifre din scrierea numarului memoratde n este:

b. u=n%10;z=n/100%10;

n=n/100+u*10+z;

Variabilele x si s memoreaza siruri cu cel mult 20 decaractere:x memoreaza sirul primavara, iar variabila s memoraza sirulanotimp.Ce se va memora in variabila s în urma executării instrucţiunii:strncat(s, x, 5);

a. anotimpprima

Variabilele x si y sunt de tip intreg, x memorand valoarea 4,iar y valoarea 2. Care dintre expresiile C de mai jos are valoarea 0?

d. !(x==2*y)

Variabilele x si y sunt de tip intreg, x memorand valoarea 8,iar y valoarea 6. Care dintre expresiile C de mai jos are valoarea 0?

c. !(x/2+2==y)

Variabilele x si y sunt tip int. Care dintre expresiile C de maijos are valoarea 1 daca si numai daca valorile intregi nenulememorate in variabilele x si y sunt egale?

c. (x<=y) || (y<=x)

Variabilele x, y si z memoreaza valori reale, iar x<y. Care dintre expresiile de mai jos, scrise in limbajul C, are valoarea 1 daca valoarea variabilei z este situata in intervalul inchis determinat de valorile memorate in variabilele x si y?

a. (z>=x) && (z<=y)

Variabilele x, y si z sunt intregi, x memoreaza valoarea 7, ymemoreaza valoarea 20, iar z memoreaza valoarea 5. Care esterezultatul evaluarii expresiei aritmetice C: x+y+x*z/y ?

b. 28

Variabilele x, y, z si w sunt intregi, x memoreaza valoarea 2, y memoreaza valoarea 3, z memoreaza valoarea 5, iar w memoreazavaloarea 7. Care dintre urmatoarele expresii, scrise în limbajul C, are valoarea 1?

c. (z<=w) && (x>0) || (y>=x)

25

Page 26: Prog Proced

26