53
Universitatea Spiru Haret Facultatea de Matematica-Informatica Programare Procedurala Probleme propuse 1. Se considera programul C: #include <stdio.h> 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 iesirea acestui program. a) F 1 F 1 F 1 G 1 G 2 G 3 b) F 0 F 0 F 0 G 0 G 1 G 2 c) F 1 F 2 F 3 G 1 G 2 G 3 d) F 0 F 1 F 2 G 0 G 1 G 2 2. Se considera programul. Analizati textul si identificati rezultatele 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; for(k = 0; k < 3; ++k){ result[i][j] += a[i][k] * b[k][j]; } }

Rezolvari Programare procedurala

Embed Size (px)

Citation preview

Page 1: Rezolvari Programare procedurala

Universitatea Spiru HaretFacultatea de Matematica-InformaticaProgramare ProceduralaProbleme propuse1. Se considera programul C:#include <stdio.h>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.a)F 1F 1F 1G 1G 2G 3b)F 0F 0F 0G 0G 1G 2c)F 1F 2F 3G 1G 2G 3d)F 0F 1F 2G 0G 1G 22. 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;for(k = 0; k < 3; ++k){result[i][j] += a[i][k] * b[k][j];}}

Page 2: Rezolvari Programare procedurala

}}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);}a)40 18 4214 13 2052 34 62b)64 28 3568 40 4120 10 11c)0 2 26 5 44 2 6d)0 4 34 0 14 2 33. 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:a) 6b) intotdeauna 55c) 10d) uneori si 554. 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:a) 55

Page 3: Rezolvari Programare procedurala

b) intotdeauna 11c) uneori si 55d) uneori si 115. 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 estea) 55b) uneori si 65c) uneori si 55d) 656. 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:a) 1, 2, 3, 4, 5,b) 0, 1, 2, 3, 4,c) 2, 3, 4, 5, 0,d) 2, 3, 4, 5, 7.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?a) Dab) Nuc) La compilare apare eroare de sintaxad) In timpul executarii apare o eroare8. 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 */s = (a*b)/2;printf("s= %d\n", s);}Care este valoarea variabilei s la incheierea executarii programului:a) 6b) 0c) 5

Page 4: Rezolvari Programare procedurala

d) La compilare apare eroare de sintaxa9. 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:a) 0.33333b) 0c) 0.00000d) 0.610. 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 proceduralab) La compilare apare eroare de sintaxac) La executare executarea programului se incheie cu un mesaj deeroared) Programul afiseaza adresa celului, din memoria volatila, cecontine sirul "Programare procedurala\n".11. 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?a) 5b) 10c) 7d) 812. 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) -5b) 7c) 10d) 8

Page 5: Rezolvari Programare procedurala

13. 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, Nuk = 10, Nub)k = 2, Dak = 3, Dak = 5, Dak = 7, Dac)k = 2, Dak = 2, Nuk = 3, Dak = 3, Nuk = 4, Nuk = 5, Dak = 5, Nuk = 6, Nuk = 7, Dak = 7, Nuk = 8, Nuk = 9, Nuk = 10, Nud)k = 3, Dak = 4, Nuk = 5, Dak = 6, Nuk = 7, Dak = 8, Nuk = 9, Nuk = 10, Nu14. Se considera programul C:#include <stdio.h>void main(void){ int k;

Page 6: Rezolvari Programare procedurala

for (k = 1; k<= 10; k++);printf("k = %d , sqr(k) = %d\n", k, k*k);}In urma executarii acestuia se afiseaza:a) Numerele de la 1 la 10 impreuna cu patratele acestora, in baza 10b) k = 11, sqr(k) = 121c) Numerele de la 1 la 10 impreuna cu patratele acestora, in baza 8d) Numerele de la 1 la 10 impreuna cu patratele acestora, in baza 1615. 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 1b) La compilare apare o eroare de sintaxac) Programul afiseaza valoarea 0d) Programul afiseaza valoarea 516. 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?a) n1/n2 = 0b) n1/n2 = 8c) n1/n2 = 16d) n1/n2 = 0.517. 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:a) La compilare apare eroare de sintaxa in instructiunea forb) Afiseaza pe 10 rinduri secventa Succes!c) Afiseaza pe 10 rinduri secventa Succes!\nd) La compilare apare eroare de sintaxa la directiva #define18. Se considera programul C:#include <stdio.h>void main(void){

Page 7: Rezolvari Programare procedurala

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"b) Mesajul redat prin "Ambele numere sint nenule\n"c) La compilare se obtine eroare de sintaxad) La executare se obtine eroare de calcul19. 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:a) 2b) 6c) 8d) O valoare din memoria volatila din afara spatiului alocat20. Se presupune ca lucrati pentru o casa de software americana sivi se cere sa afisati 'un milion' in scrierea americana , adica1,000, 0000.Secventa de cod potrivita este:a) {unsigned long int k = 1,000,000; printf("%ul", k);}b) {char a[9]={'1', ',', '0', '0', '0', ',', '0', '0', '0'};puts(a);}c) {char *a = {'1', ',', '0', '0', '0', ',', '0', '0', '0', '\0'};puts(a);}d) {char a[]="1,000,000"; puts(a);}21. 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");}a) La compilare apare o eroare de sintaxa in legatura cu prezenta ;inaintea cuvintului elseb) Afiseaza "Da!" pentru ca 3 treimi formeaza un intregc) Afiseaza "Nu!"d) In timpul executarii apare eroare de calcul in virgula mobila.22. 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",'-');

Page 8: Rezolvari Programare procedurala

x >>= 1;}printf("\n");}void main(void){bit(0x55AF);}La executare acesta afiseaza:a) -*-*-*-**-*-****b) ---------------- (16 simboluri)c) La compilare apare eroare de sintaxad) Executarea programului se incheie fortat.23. Care dintre urmatoarele programe afiseaza diferenta perechilorde 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++) printf("dif[ %d ] = %d\n", id, dif[id]);}b)#include <stdio.h>#define MAX 12static int tab[12]={1, 2, 4, 3, 0, 6, 9, 7, 10, 8, 12, 11};static int dif[6];void main(void){int i=0, id=0;while (i < MAX) dif[id++] = tab[i++]-tab[i++];for(id = 0; id<6; id++) printf("dif[ %d ] = %d\n", id, dif[id]);}c)#include <stdio.h>static int tab[12]={1, 2, 4, 3, 5, 6, 9, 7, 10, 8, -1, -1};static int dif[6];void main(void){int i=0, id=0;while (tab[i] != EOF) dif[id++] = tab[i++]-tab[i++];for(id = 0; id<6; id++) printf("dif[ %d ] = %d\n", id, dif[id]);}d)#include <stdio.h>#define MAX 12static int tab[MAX]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11};static int dif[MAX/2];void main(void){int n = sizeof(tab)/sizeof(int);int i=0, id=0;while (i < n) dif[id++] = tab[i++]-tab[i++];for(id = 0; id<6; id++) printf("dif[ %d ] = %d\n", id, dif[id]);}24. Fie programul C?

Page 9: Rezolvari Programare procedurala

#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)?a) Mesajul "Da!"b) Mesajul "Nu"c) Eroare de compilare la a > b > cd) Eroare de comparare in timpul executarii25. 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 unoroperatii preliminare)?a. (x<b) && (x>=a)b. (x<=b) || (x>a)c. (x>b) || (x<=a)d. (x<=b) && (x>a)26. 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?a. (x%y==0) && (y%x==0) && (x*y>0)b. (x<=y) && (y<x)c. (x<=y) || (y<=x)d. x*x==y*y27. Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca numarul realmemorat in variabila x se afla in intervalul (-a, a)?a. x*x-a*a<=0b. a*a-x*x>0c. (a<x)&&(x<-a)d. (x-a)*(x+a)>028. Fie expresia C 10*2/3*3/2. Care este rezultatul evaluariiexpresiei?a. 0b. 10c. 1.11d. 929. 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))/2b. x+y-abs(x-y)/2c. (x+y+abs(x-y))/2d. (x+y+abs(x+y))/230. 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 si

Page 10: Rezolvari Programare procedurala

numarul memorat in y este strict mai mare decat 5?a. x*y-5!=0b. x*(y-5)!=0c. x*(y-5)>=0d. !(x*(y-5)<=0)31. Care dintre urmatoarele expresii C, are ca valoare cel mai maredintre numerele naturale nenule memorate in variabilele intregi a sib?a. (a+b+abs(a-b))/2b. a+b+abs(a-b)/2c. (a+b-abs(a-b))/2d. (a+b-abs(a+b))/232. Fie expresia C: ((a>3) && (a<15)) || (a!=b) Care dintreexpresiile C de mai jos ii este echivalentă?a. ((a>3) || (a<15)) && (a==b)b. !((a<=3) || (a>=15)) || (a!=b)c. ((a>3) || (a<15)) && (a!=b)d. !(a<3 || a>15) && (a!=b)33. Care este valoarea expresiei C: 9/2*2-5a. 3b. 4c. -3d. -3.7534. 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?a. 3*x-4*y==0b. (x+y)/2 > x%y+1c. !(x/2+2==y)d. x-y+3!=035. Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca variabilele x si y memoreaza doua numere naturale pareconsecutive?a. (x-y==2) && (y-x==2)b. (x==2) && (y==4)c. x-y==2d. ((x-y==2) || (y-x==2)) && (x%2==0)36. Care dintre expresiile C de mai jos este echivalenta cuexpresia !((a<5)&&(b>7)) ?a. (a>=5)&&(b<=7)b. !(a<5) || !(b>7)c. !(a<5) && !(b>7)d. !(a>=5) && !(b<=7)37. 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=3b. a=35 şi b=35c. a=1100 şi b=10d. a=1234 şi b=12

Page 11: Rezolvari Programare procedurala

38. 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?a. x-y!=0b. x+y>x%y+1c. x-2*y==0d. !(x==2*y)39. 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;b. x=x/10+7+x%10;c. x=(x%10*10+7)*10+x/10;d. x=(x/10+7)*10+x%10;40. 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?a. 300b. 5000c. 120d. 041. 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;b. x=x%1000*100+x/100;c. x=x/100*100+x%100;d. x=x/1000+x%100;42. 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 nsi p sunt variabile de tip intreg?a. 4b. 6c. 2d. 843. 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;

Page 12: Rezolvari Programare procedurala

printf(“%0.2f”,z);stiind ca x si y sunt variabile intregi, iar z este o variabilareala?a. 5b. 5.833333c. 5.83d. 58344. 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?a. v1>v2b. v1<v2c. v1==v2d. v1+v2==945. Care este valoarea expresiei C: (a/b%c<=b)||!(b==a) dacavariabilele intregi a, b, c au valorile a=20, b=3, c=5?a. 0b. 1c. 2d. true46. Variabilele a, b, c si d memoreaza valori reale astfel incat a<bsi 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)b. !(c<a) && !(b<d)c. (d>a) || (b>c)d. (a>=c) && (b<=d)47. Care din urmatoarele afirmatii despre operatorii din C estefalsa?a. > este operator relaţionalb. % este operator aritmeticc. && este operator logicd. <= este operator logic48. Care este cea mai mica valoare pe care o poate avea expresia C:x/7-x%7 daca variabila x, de tip int, memoreaza un numar natural cuo singură cifra?a. 0b. 1.14c. -6d. 149. 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.b. are valoarea 1 daca si numai daca x este un numar par.

Page 13: Rezolvari Programare procedurala

c. are valoarea 1 daca si numai daca x este un numar impar.d. are o valoare strict mai mare decat 1 pentru orice numar naturalx.50. Cate valori distincte, numere naturale, poate primi variabila xpentru ca valoarea expresiei x/2/2 scrisa in C sa fie egala cu 1?a. 1b. 4c. 2d. 051. Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca numarul natural nenul memorat in variabila x, de tip int, estedivizibil cu 100?a. x%10+x/10%10==0b. x/100==0c. x%10+x/10==0d. x%10+x%10/10==052. Care dintre urmatoarele expresii C are valoarea 1 daca si numaidaca numarul natural memorat de variabila x de tip int are exactdoua cifre?a. x/100==0b. x/100==0 && x%10==0c. x/10!=0d. x/100==0 && x/10!=053. Se considera variabila a care memoreaza un numar cu exact 6cifre. Care dintre expresiile C de mai jos are ca valoare numarulformat din cele doua cifre din mijloc ale valorii memorate in a?a. (a%100)/100b. a/100%100c. a/1000+a%1000d. a/100%10+a/1000%1054. Stabiliti care dintre urmatoarele expresii C are valoarea 1 dacasi 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)b. (x<=-a) || ((x<=c) && (x>=-b)) || (x>=d)c. (x<-a) || ((x<c-1) && (x>-b)) || (x>d)d. (x<=-a) || ((x<c) && (x>=-b)) || (x>d)55. Variabila a memoreaza un numar natural care are exact 3 cifre.Care dintre expresiile C de mai jos are ca valoare numarul formatdin prima si ultima cifra a numarului memorat de a?a. a/10+a%100b. a/100+a%10c. a/100*10+a%10d. a-a/10%1056. In secventa alaturata de program:

Page 14: Rezolvari Programare procedurala

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 egal cu:a. 24b. 21c. 3d. 3058. Stabiliti care dintre urmatoarele expresii C are valoarea 1 dacasi numai daca numarul intreg memorat in variabila x nu apartineintervalului (-a,-b], unde a si b sunt valori reale pozitive astfelincit b < a.a. (x<-a) || (x>-b)b. (x<=-a) || (x>=-b)c. (x<=-a) || (x>-b)d. (x<=-a) && (x>b)59. 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. 0b. 2c. 1d. 460. Care este valoarea pe care trebuie să o aiba initial variabilaintreaga x pentru ca, in urma executarii secventeiwhile (x!=3){x=x-1;printf(”HH”);}sa se afiseze sirul HHHHHH?a. 0b. 4c. 6d. 561. Care dintre expresiile urmatoare, scrise in limbajul C, arevaloarea 1 daca si numai daca valorile variabilelor intregi x si ysunt numere pare?a. x-y==0b. (x+y)%2==0c. (x%2==0) || (y%2==0)d. (x%2==0) && (y%2==0)62. Fie secventa de instructiuni C:x=4; y=6;while (y==6) y=y+1;

Page 15: Rezolvari Programare procedurala

if (x==y) x=x+1;Care este numărul total de atribuiri efectuate la executareasecvenţei de instrucţiuni?a. 4b. 3c. 2d. 563. Care este valoarea expresiei C: 50-(100–300/2/(2+3))?a. -30b. 70c. -20d. 6064. 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?a. y=x/10;b. y=x%10;c. x=y%10;d. x=x/10;65. 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;b. x=y%10/10;c. x=y%10;d. x=x/100;66. 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;b. x=y+y/10+y/100;c. x=y%10+y%10/10+y/100;d. x=y%10+y%100+y%1000;67. 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;b. x=y/10/10;c. x=y%100;d. x=y%10/10;68. 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;b. x=y/10*10+y%10;c. x=y%10+y/10*10;d. x=y%10+y/10;69. Variabila intreaga n memoreaza un numar natural impar. Caredintre urmatoarele expresii C are valoarea 1?a. !(n%2)b. n%2==0c. n%2!=0d. !((n+1)%2==0)

Page 16: Rezolvari Programare procedurala

70. 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 tipint).a. niciunab. doar cc. doar a si cd. doar a si b71. Variabilele a, b si c, de tip int, pot fi initializate cuoricare 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?a. !((a % c!=0) || !(b % c!=0))b. (a % c!=0) && !(b % c!=0)c. (a % c!=0) || !(b % c!=0)d. !(c % a!=0) && (c % b!=0)72. 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?a. a%2 && b%2;b. !(!(a%2) || b%2);c. (a+b+1)%2;d. !(a%2) || b%2;73. 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?a. c=d+2*c;b. c=2-d%2*a;c. c=sqrt(b*b);d. b=(d<=c);74. 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 c. n%(i-1)=0 si ib. n% (i-1) si i-1 d. n%i si i-175. 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?

Page 17: Rezolvari Programare procedurala

a. 0, 1, 1, 1, 2, 2, 3 c. 0, 1, 1, 2, 3, 5, 8b. 0, 1, 1, 2, 3, 3, 6 d. 0, 1, 0, 1, 0, 1, 076. 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)?a. 1122 c. 121b. 112 d. 112177. Variabila p este declarata astfel:int *p;Stiind ca p retine adresa unei variabile de tip int, care dintreurmatoarele instructiuni afiseaza valoarea respectivei variabileintregi?a. printf(“%p”,p); c. printf(“%d”, p*);b. printf(“%d”,*p); d. printf(“%d”, &p);78. 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 binre. Care estesuccesiunea de elemennte care astepau valoarea lui x:.a. 21,16, 10 c. 1, 3, 5, 7, 10b. 7, 16, 10 d. 5, 7, 1079. Variabilele a si i sunt declarate astfel:int a[100], i;Care dintre urmatoarele instructiuni este corecta din punct devedere sintactic?a. a = i; c. i[1] = a;b. i = a; d. i[a] = 1;80. 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 c. a = 1, b = 9, c = 3b. a = 1, b = 3, c = 9 d. a = 1, b = 9, c = 281. 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);}Care dintre urmatoarele functii este echivalenta cu functia data?a. int f(int a, int b){return a*b;}

Page 18: Rezolvari Programare procedurala

b. int f(int a, int b){return a-b+1;}c. int f(int a, int b){return a%b;}d. int f(int a, int b){return a/b;}82. 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 executariisecventei date?a. n+1 ori c. 0 orib. n ori d. n-1 ori83. 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?a. 0 c. 13b. 5 d. valoare nedeterminata84. Daca n este un numar natural (intreg pozitiv), ce realizeazaurmatoarea secventa?{p=1;while(n) p *= (n--);}a. Calculeaza in p valoarea n*p c. Calculeaza in variabila pvaloarea lui n!b. Calculeaza in p valoarea np d. Calculeaza in variabila pvaloarea lui pn.85. Care dintre urmatoarele variante realizeaza deschiderea lacitire a fisierului text “A.TXT”a. f = fopen(“A.TXT”, “w”);b. f = fopen(“r”, “A. TXT”);c. f = fopen(“A.TXT”, “r”);d. f = fopen(”A.TXT”, r);86. 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:a. m c. nb. 1 d. cel mult n(n-1)/287. Consideram urmatoarea declaratie:

Page 19: Rezolvari Programare procedurala

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?a. p.denumire[1] c. p.denumire[0]b. p->denumire d. p->denumire[1]88. Care dintre urmatoarele variante realizeaza deschiderea lascriere a fisierului text “B.TXT”?a. f = fopen(“B.TXT”,”r”);b. f = fopen(“B.TXT”,”w”);c. f = fopen(“w”, “B.TXT”);d. f = fopen(“B.TXT”, w);89. 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>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);}a. 13 45 23 c. 13 32 23b. 13 32 56 d. 13 45 3290. 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 c. 1 67 567b. 1 2 67 d. 2 3 491. Care dintre urmatoarele secvente au ca efect citirea unuicaracter din fisierul “C.TXT”?a. f = fopen(“C.TXT”, “r”); fclose(f);b. f = fopen(“C.TXT”, “r”); scanf(“%c”, &x); fclose(f);c. f = fopen(“C.TXT”, “r”); fscanf(f, “%c”, &x); fclose(f);d. f = fopen(“C.TXT”, “r”); fscanf( “%c”, &x, f); fclose(f);92. Considerand ca variabila f este de tip fisier (FILE *), caredintre urmatoarele instructiuni verifica daca s-a ajuns la sfarsitulfisierului indicat de f?

Page 20: Rezolvari Programare procedurala

a. if (eof(f)) printf(“final”); else printf(“mai este”);b. if (feof(f)) printf(“final”); else printf(“mai este”);c. if (!eof(f)) printf(“final”); else printf(“mai este”);d. if(!feof(f)) printf(“final”); else printf(“mai este”);93. 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 c. 1 9 8b. 1 2 9 d. 1 9 394. Care va fi continutul fisierului “H.TXT” in urma executariiprogramului 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);}a. Ieri13 Azi 14Maine15c. Ieri 13Azi 14Maine 15b. Ieri 13Azi 14 Maine 15d. Ieri13 Azi 14 Maine1595. 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;

Page 21: Rezolvari Programare procedurala

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 - c. S - Xb. a S - d. I E S96. 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).a. 1 c. -4b. -3 d. 497. 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?a. 12 60 5 7 c. 60 12 60 7b. 60 12 5 7 d. 60 12 60 1298. 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 c. 2b. 1 d. 499. 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);}Ce valoare returneaza apelul f(8,10)?a. 50 c. 40b. 45 d. 55100. Pentru un tablou bidimensional a cu 10 randuri si 10 coloane,

Page 22: Rezolvari Programare procedurala

stabiliti ce calculeaza secventa de program urmatoare, in variabilas:s = 0;for (i = 0; i<10; i++) for (j = i; j <10; j++) s+=a[i][j];a. Suma elementelor situate strict deasupra diagonaleiprincipaleb. Suma elementelor situate strict deasupra diagonaleisecundarec. Suma elementelor situate deasupra diagonalei principale,inclusiv diagonala principalad. Suma elementelor situate strict sub diagonala principala101. 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?a. 16 c. 38b. 36 d. 28102. 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 c. aabbddeffb. nici una dintre variantelepropused. egalitate103. In functia recursiva de mai jos se considera ca tabloulunidimensional v este declarat global.void star(int i){if(i<10) {printf(“*”);if (v[i] == i+1) star(i+2); else star(i+1);}}Pentru care dintre declaratiile urmatoare, apelul star(0) produce 7asteriscuri (stelute)?a. int v[] = {1, 4, 3, 2, 1, 6, 5, 4, 3, 10};b. int v[] = {3, 2, 1, 4, 3, 6, 7, 2, 9, 2};c. int v[] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};d. int v[] = {10, 9, 8, 7, 6, 5, 4, 3, 2, 1};104. Variabila d, declarata prinstruct dreptunghi{float a,b,p;}d;

Page 23: Rezolvari Programare procedurala

memoreaza in campurile a si b latimea si, respectiv, lungimea unuidreptunghi. Care dintre urmatoarele instructiuni atribuie campului pal variabilei d valoarea perimetrului dreptunghiului respectiv?a. p.d=2*(d.a+d.b);b. p.d=2*a.d+2*b.d;c. d.p=2*d.a+2*d.b;d. d.p==2*d.a+2*d.b;105. Variabila d, declarata prinstruct dreptunghi{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?a. d.aria==d.a*d.b;b. aria.d=a.d*b.d;c. aria.d=d.a*d.b;d. d.aria=d.a*d.b;106. 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;b. t=b.x; b.x=b.y; b.y=t;c. x.b=y.b;d. b.x=b.y;107. 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-1b. cel mai mic element de pe linia n-1c. cel mai mare element de pe coloana n-1d. cel mai mic element de pe coloana n-1108. Considerand declarareastruct {int a, b;} x;care dintre urmatoarele secvente de instructiuni realizeaza in mod

Page 24: Rezolvari Programare procedurala

corect citirea de la tastatura a valorilor celor doua campuri alevariabilei x?a. scanf(”%d”, &x);b. scanf(”%d %d”, &a.x,&b.x);c. scanf(”%d %d”, &x.a,&x.b);d. scanf(”%d %d”, &a->x,&b->x);109. Considerand declarareastruct {int a, b;} x;care dintre urmatoarele secvente de instructiuni afiseaza valorilememorate in cele doua campuri ale variabilei x, separate printr-unspatiu?a. printf(”%d %d”, x.a,x.b);b. printf(”%d %d”, a.x,b.x);c. printf(”%d”, x);d. printf(”%d %d”, a->x,b->x);110. Pentru a memora simultan numele şi media la ‚ProgramareProcedurala’ a unui student in variabila e, se poate utilizadeclararea:a. struct e{string nume; float media;}b. char e.nume[40];float e.media;c. float e;d. struct {char a[40]; float b;} e;111. 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;int varsta;} x;b. struct x {float media;int varsta;};c. float x.media;int x.varsta;d. struct absolvent {float x.media;int x.varsta};112. 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?a. struct x { int cod;float media;};b. struct { int cod;float media;} x;c. int x.cod ;

Page 25: Rezolvari Programare procedurala

float x.media;d. struct candidat { int x.cod;float x.media;};113. 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;b. char x[2];c. struct x {float ox,oy;};d. float x;114. Care dintre urmatoarele variante reprezinta o declarare corectapentru o variabila x care memoreaza simultan partea reala si parteaimaginara a unui numar complex?a. struct x {float im,re;};b. char x[2];c. struct complex{float im, re;} x;d. float x;115. 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;b. char x[2];c. struct x{int n1,n2;};d. float x;116. Î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 diagonalelematricei.a. p=p*a[5-i][i]*a[i][5-i];b. p=p*a[i][i]*a[i][4-i];c. p=p*a[i][i]*a[5-i][5-i];d. p=p*a[5-i][5-i]*a[i][5-i];117. Pentru declarareastruct student{char nume[20];int nota;} e1,e2;precizati care dintre instructiunile de atribuire este gresita:a. e1=e2+1;b. e1.nume[2]=’x’;c. e1=e2;d. e1.nota=e2.nota+1;

Page 26: Rezolvari Programare procedurala

118. Care din urmatoarele expresii are valoarea 1 daca si numai dacasirul de caractere s, de lungime 10, este obtinut prin concatenareaa doua siruri identice?a. strcmp(s,s+5)==0b. s==strstr(s,s+5)c. s==s+5d. strcmp(s,strcat(s,s+5))==0119. Functia predefinita care returneaza modulul unui numar intregeste:a. sgnb. fabsc. modd. abs120. Care este valoarea expresiei strlen(s) pentru variabila s detip sir de caractere, declarata si initializata astfel: chars[15]=”Proba_1”;a. 7b. 15c. 6d. 5121. Pentru declararea unei variabile care memoreaza un cuvant avandmaximum 25 caractere, putem utiliza sintaxa:a. char c;b. char c[];c. char c[26];d. char[26] c;122. Stiind ca in urma executarii secventeix=strlen(s);for (i=0;i<x/2;i++) printf(“%c%c”,s[i],s[x-i-1]);s-a afisat succesiunea de caractere EXAMEN, care este sirul decaractere memorat de variabila s?a. EAENMXb. ENXAMEc. NEEXMAd. NEMAXE123. 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?a. printf(“%c“,x);b. printf(“%c“,x.nume[0]);c. printf(“%c“,x.nume);d. printf(“%c“,nume);124. Consideram ca variabila s memoreaza sirul de caractere examen.Care va fi valoarea lui s dupa executarea instructiunilor?

Page 27: Rezolvari Programare procedurala

s[0]= ‘E’;s[strlen(s)-1]= ‘N’;s[strlen(s)/2-1]= ‘A’;s[strlen(s)/2]=‘M’.a. EXAMENb. exAMenc. ExAMeNd. ExameN125. 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. MAmab. MamAc. MaAad. MAMA126. 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 matriceb. adaugarea liniei k in matricec. eliminarea coloanei k din matriced. adaugarea coloanei k in matrice127. In secventaif(!(strcmp(s1,s2) || strcmp(s1,s3)))val=1;elseval=2;variabilele s1, s2 si s3 retin siruri de caractere. Dupa executareaacesteia, variabila intreaga val primeste valoarea 1 dacaa. s1, s2, s3 retin siruri identice de caractereb. s1, s2, s3 retin siruri de caractere ordonate lexicograficc. s1, s2, s3 retin siruri de caractere de lungimi diferited. s1 este obtinut prin concatenarea sirurilor retinute in s2 si s3128. Fiind dat un tablou bidimensional cu 20 linii şi 20 coloane,cate elemente se gasesc strict deasupra diagonalei secundare atabloului?a. 180b. 200c. 190d. 210129. Elementele tabloului bidimensional1 2 3 412 13 14 511 16 15 610 9 8 7

Page 28: Rezolvari Programare procedurala

cu 4 linii si 4 coloane, sunt toate numerele naturale cuprinse intre1 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ă?a. 16b. 15c. 25d. 22130. Consideram declarareastruct 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 in variabilap?a. p.nume[0]b. p.nume[1]c. p.numed. nume[1]131. 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;b. m=(nota1+nota2)/2;c. x.m=(x.nota1+x.nota2)/2;d. m=(x,nota1+x,nota2)/2;132. 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 de caracterepe care il poate avea sirul x astfel încat secventa alaturata saafiseze exact 3 caractere ale acestuia?a. 7b. 3c. 9d. 8133. Consideram declararea:

Page 29: Rezolvari Programare procedurala

struct punct{int x,y;} p;Care dintre urmatoarele instructiuni este corecta din punct devedere sintactic?a. p->y=p->y+1;b. p=9;c. p.x=7;d. p=p+1;134. 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?a. float x[3][21]; b. int x[3][21];c. struct persoana{char nume[21],prenume[21];int sal;} x;d. struct persoana[char nume[21],prenume[21];int sal;] x;135. 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?a. struct carte{ int val;char nume;} t;b. struct carte{int val,nume;} t;c. struct carte{ int val;char nume[21];} t;d. struct carte{ int val[21][21];char nume;} t;136. 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 urmatoareledeclarari este corecta?a. struct carte {float nr,titlu;} t;b. struct carte{int nr;char titlu[21];} t;c. struct carte{char nr; int titlu;} t;d. struct carte{long nr,titlu;} t;137. Variabila s memoreaza un sir de caractere. Care dintreurmatoarele expresii C este nenula daca si numai daca lungimeasirului este strict mai mică decat 10?a. strlen(s)<10

Page 30: Rezolvari Programare procedurala

b. strlen(s,10)<0c. leng(s)<10d. s-’0’<10138. Variabila s memoreaza un sir de caractere. Care dintreurmatoarele expresii C este nenula daca si numai daca lungimeasirului este un numar par?a. s-2==0b. strlen(s,2)=0c. leng(s)%2d. strlen(s)%2==0139. 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?a. variabila variantab. Variantavariabilac. varianta variabilad. variabila variabila140. Considerand declararilestruct cerc{float raza;int x,y;};cerc c;care dintre urmatoarele referiri este corecta din punct de vederesintactic ?a. cerc.xb. c.xc. c.cerc.xd. raza.x141. 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];a. cel mai mare număr de pe diagonalele tabloului ab. cel mai mare număr de pe diagonala secundară a tabloului ac. cel mai mare număr de pe diagonala principală a tabloului ad. cel mai mare număr din tabloul a142. Considerand declararilestruct punct{float x,y;};struct fig{ char tip;punct a,b,c;}fig e;care dintre urmatoarele referiri este corecta din punct de vederesintactic ?a. e.fig.tipb. e.a

Page 31: Rezolvari Programare procedurala

c. e.punct.xd. e.a.x143. 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 de program:x=0;for(i=1;i<=n;i++)x=x+a[i][i];a. Suma elementelor de pe diagonala principală a tabloului ab. Suma elementelor de pe diagonala secundară a tabloului ac. Suma elementelor tabloului ad. Cel mai mare element de pe diagonala principală a tabloului a144. Daca variabila s de tip sir de caractere memoreaza sirulINFORMATICA atunci strlen(s) are valoarea?a. 10b. 12c. TRUEd. 11145. 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;a. produs.denumire[0]b. denumire.p[0]c. p.denumire[0]d. P->denumire[0]146. Cum se poate accesa prima litera a numelui unei persoane alecarei date de identificare sunt memorate in variabila p, declarataprin:struct persoana{char nume[20],prenume[20];int varsta;} p;a. p.nume[0]b. persoana.nume[0]c. p->nume[0]d. nume.p[0]147. 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;a. denumire.m[0]b. m->denumire[0]c. material.denumire[0]d. m.denumire[0]148. Cum se poate accesa prima literă a numelui unui student ale

Page 32: Rezolvari Programare procedurala

carui date de identificare sunt memorate in variabila e, declarataprin:struct student{char nume[20],prenume[20];int varsta;}e;a. e->nume[0]b. e.nume[0]c. student.nume[0]d. nume.e[0]149. Stiind ca fiecare dintre variabilele var1, var2 memoreazanumele 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 realem media aritmetica a notelor celor doi studenti.a. m=(var1.nota+var2.nota)/2;b. m=var1.nota+var2.nota/2;c. m=(var1+var2).nota/2;d. m=nota(var1+var2)/2;150. Variabilele x si s memoreaza siruri cu cel mult 20 de caractere:x memoreaza sirul primavara, iar variabila s memoraza sirul anotimp.Ce se va memora in variabila s în urma executării instrucţiunii:strncat(s, x, 5);a. anotimpprimab. anotimpprimavarac. primavarad. prima151. 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.ya. floatb. intc. longd. char152. 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?a. imposibil

Page 33: Rezolvari Programare procedurala

b. examenc. banald. examenimposibil153. 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?a. exAmeNeb. ExAmenec. EXAMENEd. examene154. Variabila t memoreaza o matrice cu 5 linii si 5 coloane,numerotate de la 0 la 4, cu elemente numere intregi, iar celelaltevariabile sunt intregi. Secventa de programx=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:a. deasupra diagonalei principale, inclusiv diagonala principalab. strict deasupra diagonalei principalec. strict sub diagonala principalad. strict deasupra diagonalei secundare155. 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 tuturorelementelor situate:a. strict sub diagonala principalab. deasupra diagonalei principale, inclusiv diagonala principalac. strict deasupra diagonalei principaled. strict deasupra diagonalei secundare156. Variabila t memoreaza o matrice cu 8 linii si 8 coloane,numerotate de la 0 la 7, cu elemente numere intregi, iar celelaltevariabile 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 tuturorelementelor situate:a. strict sub diagonala secundarab. deasupra diagonalei principale, inclusiv diagonala principalac. deasupra diagonalei secundare, inclusiv diagonala secundarad. strict deasupra diagonalei secundare157. Variabila t memoreaza o matrice cu 8 linii si 8 coloane,

Page 34: Rezolvari Programare procedurala

numerotate de la 0 la 7, cu elemente numere intregi, iar celelaltevariabile 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 tuturorelementelor situate:a. sub diagonala secundara, inclusiv diagonala secundarab. deasupra diagonalei principale, inclusiv diagonala principalac. strict sub diagonala principalad. strict deasupra diagonalei secundare158. Pentru o matrice t cu 8 linii si 8 coloane, numerotate de la 0la 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 tuturorelementelor situate:a. strict deasupra diagonalei principaleb. deasupra diagonalei principale, inclusiv diagonala principalac. deasupra diagonalei secundare, inclusiv diagonala secundarad. strict sub diagonala secundara159. 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 sinumai daca sirul de caractere memorat în variabila s, avand exact 3caractere, este palindrom?a. s[0]==s[1]b. s[1]==s[2]c. s[0]==s[2]d. s[1]==s[3]160. Ce valoare are variabila s de tip sir de caractere dupaexecutarea instructiunilor de mai jos?strncpy(s,strstr(″examen″,″am″),4); s[4]='\0'; (4p.)a. amenb. examc. mennd. men161. Ce valoare are variabila s de tip sir de caractere dupaexecutarea instructiunilor de mai jos?strncpy(s,strstr("Informatica","form"),strlen("EXA09")); s[5]='\0';a. formb. formac. InfoEXAd. Infor162. Ce valoare are variabila s de tip sir de caractere dupaexecutarea instructiunii de mai jos?s=strstr(strnset("Olimpiada",'#',strlen("2009")),"ad");a. Oli2009

Page 35: Rezolvari Programare procedurala

b. adac. Olimp2009d. ####2009163. Ce valoare are variabila s de tip sir de caractere dupaexecutarea instructiunilor de mai jos?s=strncpy(s,strstr("informatica","form"),strlen("LIC009"));s[6]='\0';a. formatb. informatc. informd. informLIC164. Ce valoare are variabila s de tip sir de caractere dupaexecutarea instructiunii de mai jos?s=strcat(strncpy(s,"informatica",strlen("2008")),"LIC");a. infob. infoLICc. LICinfod. InformaticaLIC165. 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 c1si c2?a. strstr(s,c1+c2)!=0b. strchr(s,c1)!=0 && strchr(s,c2)!=0c. strchr(strchr(s,c1),c2)!=0d. strchr(s,c1)*strchr(s,c2)!=0166. 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 peaxa Ox ?a. P.x==0b. P.y==0c. P.x+P.y==0d. P.x==P.y167. 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ăriiacestei secvenţe?a. 28b. 84c. 36

Page 36: Rezolvari Programare procedurala

d. 21168. 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 patraticaformata din n linii si n coloane numerotate de la 0 la n-1. Careeste suma elementelor de pe diagonala secundara din matricea a, inurma executarii acestei secvente, daca n=8?a. 8b. 64c. 24d. 56169. 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 patraticaformata din n linii si n coloane, numerotate de la 0 la n-1. Careeste suma elementelor de pe diagonala principala din matricea a, inurma executarii acestei secvente, daca n=8?a. 24b. 64c. 56d. 8170. 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. Enb. Eenc. Examd. Exn171. Consideram variabila x care memoreaza sirul de caractere ABAC.Care dintre urmatoarele instructiuni conduc la afisarea caracteruluiB?a. printf("%c",x[strlen(x)-3]);b. printf("%c",x[strlen(x)-1]);c. printf("%c",x[2]);d. printf("%c",x[strlen(x)]);172. Fie x un număr natural cu exact 4 cifre. Care dintreurmatoarele instructiuni C/C++ determina, in urma executarii,eliminarea cifrei sutelor numarului memorat de variabila x?a. x=x%10+x/10+x/1000;b. x=x%1000*100+x/100;c. x=x%1000+x%100+x%10;d. x=x/1000*100+x%100;

Page 37: Rezolvari Programare procedurala

173. Fie x o variabila care memoreaza un numar natural. Care dintreurmatoarele expresii C are valoarea 0 daca si numai daca numarulmemorat de x nu este divizibil cu 3?a. x%3b. (1-x%3)+(2-x%3)c. (1-x%3)*(2-x%3)d. 3-x%3174. Care dintre urmatoarele expresii C este echivalentacu !((x>=5)&&(x<10)) ?a. (x<5) || (x>=10)b. (x<5) || (x>10)c. (!(x>=5)) && (!(x>10))d. (x>=5) || (x<10)175. 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:a. y%xb. y%x==0c. x%yd. x%y==0176. 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 areultima cifra 0?a. x%10+y%10==0b. y%10==x%10c. x+y%10==0d. (x%10+y%10)%10==0177. 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?a. n%10/10b. n%10c. n/100d. n/10%10178. 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]?a. (t<x) && (t>y)b. (t>=x) && (t<=y)c. (t>=x) || (t<=y)d. (t<x) || (t>y)179. 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

Page 38: Rezolvari Programare procedurala

memorat de variabila t nu apartine intervalului deschis (x,y)?a. (t<=x) || (t>=y)b. (t>x) || (t<y)c. (t<=x) && (t>=y)d. (t>x) && (t<y)180. Variabilele intregi x si y memoreaza doua numere naturale cucel 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]?a. (x<=100 && x>10) && (y>=5 || y<30)b. (x<=100 && x>=10) && (y<5 && y<=30)c. (x<=100 && x>=10)|| (y>=5 && y<=30)d. !((x>100 || x<10) || (y<5 || y>30))181. 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?a. Secventa contine o instructiune repetitiva inclusa intr-oinstructiune alternativa.b. Secventa contine o instructiune alternativa urmata de oinstructiune repetitiva.c. Secventa contine o instructiune alternativa, urmata de oinstructiune repetitiva, urmata de o instructiune de afisare.d. Secventa contine o instructiune alternativa inclusa intr-oinstructiune repetitiva.182. 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--;}b.i=5; j=6;while(j>4)printf(”%d”,j);j--;c.j=5;for(i=5;i<=5;i++)printf(”%d”,i);d.j=5;for(i=1;i<2;i++)printf(”%d”,j);183. Variabila intreaga a memoreaza un numar natural format dinexact trei cifre, toate cifrele fiind nenule si distincte. Caredintre urmatoarele instructiuni C atribuie variabilei e suma

Page 39: Rezolvari Programare procedurala

cifrelor lui a?a. e=a%10/10+a/100%10+a%10;b. e=a/10+a/100+a/1000;c. e=a*10/1000+a/10%10+a%10;d. e=a*10/1000+a%100%10+a%10;184. Variabilele a, b si z sunt reale, iar a ≤ b. Care dintreexpresiile C urmatoare are valoarea 1 daca si numai daca valoareavariabilei z nu apartine intervalului inchisdeterminat de valorile variabilelor a si b ?a. (z>a||(z>b)b. (z<a)||(z>b)c. z<a && z>bd. z>=a && z<=b185. 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 ?a. 28.75b. 28c. 29d. 27186. 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?a. (y>z) || (x>3)b. (x==z) && ((y==3)||(w==7))c. (z<=w) && (x>0) || (y>=x)d. (y>=3) && (w<7)187. Variabilele x, y si z memoreaza valori reale, iar x<y. Caredintre expresiile de mai jos, scrise in limbajul C, are valoarea 1daca valoarea variabilei z este situata in intervalul inchisdeterminat de valorile memorate in variabilele x si y?a. (z>=x) && (z<=y)b. (z<=x) && (z<=y)c. (y<x) || (z<=x)d. (z<x) || (z>y)188. In secventa de instructiuni C:x=20; y=5;x=x+y;y=x-2*y;x=y+x;variabilele x si y sunt intregi. Ce valoare va retine variabila xdupa executarea acesteia?a. -10b. 25c. 15d. 40189. Care dintre expresiile C de mai jos, are valoarea 1 dacavaloarea variabilei intregi x este un numar intreg par si strictpozitiv?

Page 40: Rezolvari Programare procedurala

a. !((x%2!=0)||(x<=0))b. (x%2!=0)||(x<0)c. !((x%2==0)||(x>0))d. ((x+1)%2==0)&&(x>=2)190. Variabila intreaga x retine un numar natural cu cel putin douacifre. Care dintre urmatoareleexpresii C are valoarea egala cu cifra zecilor numarului naturalmemorat in variabila x?a. x % 10 / 10b. x – (x / 10) * 10c. x / 10 % 10d. x – (x / 10) % 10191. Care dintre urmatoarele expresii C are valoarea 1 daca numarulnatural memorat de variabila n este strict mai mare decat 100 sidivizibil cu 12?a. (n%4 == 1) || (n%3 == 1)b. (n%100/4 == 0) && !(n%3)c. (n%100%4 == 0) && n%3d. (n%100%4 == 0) && (n%3 == 0)192. Variabila reala x memoreaza numarul 2.682. Care dintreurmatoarele instructiuni C va atribui variabilei intregi y valoarea10?a. y = (x*100)/100 + (x*1000%100/10);b. y = (floor)(x*100)/100 + (floor)(x*100%100/10);c. y = (floor)(x*100) – (floor)(x*10)*10+(floor)(x);d. y = (floor)(x*1000)/100 + (floor)(x*100%100/10);193. Care dintre urmatoarele expresii C are valoarea 1 dacavariabila x memoreaza un numar natural patrat perfect?a. sqrt(x) == floor(sqrt(x))b. sqrt(x) != floor(sqrt(x))c. floor(sqrt(x))!=ceil(sqrt(x))d. x-floor(x)==ceil(x)194. 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;}b.if -5 < x < 2{ x=x+1; y=y-1;}c.if x < 2 && x >-5{ x=x+1; y=y-1;}d.if (x < 2 && x > -5){x=x+1; y=y-1;}195. 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 devariabilele x si z (x<z)?

Page 41: Rezolvari Programare procedurala

a. !((z<x) || (z>y))b. (z>x) && (z<y)c. !((y>x) && (y<z))d. (z<x) && (z>y)196. Variabila intreaga n memoreaza un numar natural de exact 5cifre. Instructiunea care determina eliminarea din numarul n aprimei si ultimei cifre este:a. n=n%100/10;b. n=n/10%1000;c. n=n/10%10000;d. n=n%10/1000;197. 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;b. n=n%10000/100+n/100;c. n=n/10%10000;d. n=n/1000;198. Stabiliti ce se afiseaza in urma executarii secventei deinstructiuni Cy=10.1234;x=(int)(y*100)/100;printf(”%d”,x);daca y este o variabila reala, iar x o variabila intreaga.a. 1012.34b. 10.12c. 0.12d. 10199. 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:a. n=(n/100*10+n%10)*10+n%100/10;b. u=n%10;z=n/100%10;n=n/100+u*10+z;c. n=(n/100*10+n%10)*10+n/100%10;d. u=n%10;z=n/100%10;n=n/100*100+z*10+u;200. 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?a. a<bb. a==bc. a>bd. a+b==6200. Variabilele intregi a si b memoreaza numere naturale. Caredintre expresiile C de mai jos este echivalenta cu expresia

Page 42: Rezolvari Programare procedurala

(a+b)%2==0 ?a. (a%2==0) && (b%2==0)&& (a%2==1) && (b%2==1)b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1)c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0)d. (a%2==0) && (b%2==0) || (a%2==1) && (b%2==1)201. 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)b. (a%2!=0) && (b%2!=0) && (a%2==1) && (b%2==1)c. (a%2==1) || (b%2==1) || (a%2==0) && (b%2==0)d. (a%2==0) && (b%2==0) && (a%2==1) && (b%2==1)202. Variabila întreaga n memoreaza un numar natural cu exact 4cifre. Care dintre expresiile C de mai jos este echivalenta cuexpresia n/100%10%2==0 ?a. n%100/10%2!=1b. n%1000%2==0c. n/100%2==0d. n/10%10!=1203. 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] ?a. (m-n)/2+1b. m/2-n/2c. (m-n)/2-1d. m%2-n%2204. 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?a. n=n*(n%10);b. n=n/10;c. n=n-n%10;d. n=n-n/10;205. Care dintre variantele de mai jos declara constanta x astfelincat aceasta sa memorezecorect numarul real 3,14?a. const int x=314/100;b. const char x=3.14;c. const unsigned int x=3.14;d. const float x=3.14;206. In secventele C urmatoare toate variabilele sunt de tip intregsi memoreaza numere cu cel mult 3 cifre. Care dintre variantele demai jos determina interschimbarea valorilor memorate de variabilelea si b?a. aux=b; a=b; b=aux;b. a=a+b; b=a-b; a=a-b;c. a=b; b=a;d. a=a+b; b=a-b; a=b-a;207. Variabila intreaga n memoreaza un numar natural format dinexact doua cifre nenule. Care dintre urmatoarele instructiuni Cdetermina memorarea in variabila intreaga t a numarului care are

Page 43: Rezolvari Programare procedurala

aceleasi cifre ca si n, dar in ordine inversa?a. t=n%10*10+n/10;b. t=n/10*10+n%10;c. t=n%10+n/10;d. t=n%10*10+t/10;208. Care dintre urmatoarele instructiuni C atribuie variabileiintregi t valoarea -1 daca si numai daca variabilele intregi a si bsunt nenule si au semne diferite?a. if ((a>0)||(b<0)) t=-1;b. if ((a>0)&&(b<0)) t=-1;c. if (a*b<0) t=-1;d. if (a*b>0) t=-1;209. Stiind ca variabila intreaga nr memoreaza valoarea 5, stabilitice mesaj se va afisa in urma executarii secventei de instructiuni Curmatoare.if (nr<7) if (nr>3)printf(”Bine”);else printf(”Foarte bine”);else printf(”Rau”);a. BineRaub. Foarte binec. Raud. Bine210. Stabiliti care dintre urmatoarele expresii C are valoarea 1daca si numai daca numarul intreg x, nu apartine intervalului A=(-10,-2)u[50,100]?a. (x<=-10) || (x<50 && x>=-2) || (x>100)b. (x<=-10) || (x<=50 && x>=-2) || (x>=100)c. (x<-10) || (x<50 && x>-2) || (x>100)d. (x<=-10) || (x<=50 || x>=-2) || (x>100)211. 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+1a. 0b. 9c. 1d. 11212. 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?

Page 44: Rezolvari Programare procedurala

a. k=0; i=5; j=5b. k=10; i=5; j=6c. k=10; i=5; j=5d. y nu va avea valoarea 1 indiferent de valorile variabilelor i,jsi k213. 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?a. x şi y primesc aceeaşi valoare indiferent de valorilevariabilelor i,j şi kb. k=0; i=5; j=6c. k=10; i=5; j=5d. k=0; i=5; j=5214. 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?a. k=0; i=5; j=5b. k=10; i=5; j=6c. k=10; i=5; j=5d. k=0; i=5; j=6215. 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?a. numai x şi zb. numai y şi zc. numai x şi yd. x, y şi z216. Variabila intreaga x memoreaza o valoare mai mare ca 1000,formata doar din cifre distincte. Care dintre urmatoareleinstructiuni C afisează o singura cifra?a. printf("%d",x/1);b. printf("%d",x/100);c. printf("%d",x%100);d. printf("%d",x%10/1);

Page 45: Rezolvari Programare procedurala

217. Care dintre urmatoarele instructiuni C este echivalenta cu x=(x+y+z)/2; stiind ca variabilele x, y si z sunt reale?a. x = x/4/2+ y/4/2 + z/4/2;b. x = x/2 + y/2 + z/2;c. x = x + y + z/2;d. x = x/1/2+ y/1/2 + z/1/2;218. Stiind ca initial variabilele intregi x, y si z au valorile x=1,y=2 respectiv z=3, in ce ordine trebuie scrise atribuirile urmatoareastfel incat, in final, expresia x+y+z sa aiba valoareamaxima?I) x=x+y-z; II) y=x-y+z; III) z=z-x+y;a. III II Ib. I II IIIc. III I IId. I III II219. Care din operatiile urmatoare atribuie variabilei float x mediaaritmetica a valorilor intregi a, b si c?a. x = (a + b + c) /3; c. x = a / 3.0 + b/3 + c/3;b. x = (a + b + c) / 2.0; d. a = (a + b + c) / 3.0;220.Care sunt valorile finale ale variabilelor intregi x, y si zdupa 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?a. x = -11, y = 14, z = 25b. x = 23, y = 22, z = 37c. x = 23, y = 22, z = 45d. x = -11, y = 22, z = 37e. x = 23, y = -11, z = 25221.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;a. 1, 3, 5 c. 1, 3b. 1, 2, 3, 4, 5 d. 1, 3, 4, 5222.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) && ca. 1, 2, 3, 4 c. 1, 4b. 1, 2, 3, 4, 5 d. 1, 2, 4223. Considerand variabila x de tip float si variabila de tip int a,care va fi secventa de caractere afisate in urma executariisecventei de instructiuni(s inseamna un spatiu):

Page 46: Rezolvari Programare procedurala

x = -4.3;a = (int)fabs(-4.0);printf(“%2d%4.2f%2d”, a, fabs(x), (int)ceil(a+x));a. s4s4.300 c. s44.30s0b. 44.30s0 d. 4s4.30s0224. Pentru definitia alaturata a functiei ex(), stabiliti ce seafiseaza la apelul ex(120)?void ex(int x){if (x != 0){printf(“%d”, x %10);ex(x/10);}}a. 012 c. 021b. 120 d. 21225. 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:a. 13 c. 2b. 0 d. 4226. Pentru un tablou x declarat global, cu 10 componente intregi,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) {x[i] = i; x[j] = j; ex(i+1, j-1);if (i % 2 != 0) {x[i]=j; x[j]=9-x[i];}}}a. (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)b. (0, 8, 2, 6, 4, 5, 3, 7, 1, 9)c. (1, 9, 3, 7, 5, 6, 4, 8, 2, 10)d. (9, 1, 7, 3, 5, 4, 6, 8, 0)227. 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?a. aria = p.laturta * p.latura;b. aria = latura * latura;c. p.aria = p.latura * p.latura;d. p.aria = latura * latura;228. Ce va fi afisat pe ecran in urma instructiunii printf(“%6.3f\n”,45.23); ?a. +45.230 c. 045.230b. 45.230 d. 45.023

Page 47: Rezolvari Programare procedurala

229. Stabiliti care dintre urmatoarele declaratii de variabile suntcorecte:1) float 1t, 2t;2) int a[1..10];3) int x, y;4) string s;5 ) double e; v;a. 1, 2, 3, 4, 5 c. 2, 3, 4, 5b. 3 d. 2, 3, 4230. Daca a, b sunt variabile de tip int, iar x si y sunt variabilede tip float, stabiliti care dintre urmatoarele secvente deatribuiri 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;a. 2, 4, 5 c. 2, 3, 4, 5b. 1, 2, 3, 4, 5 d. 2, 4231. Care dintre urmatoarele expresii are valoarea 1 daca si numaidaca numarul natural c este un multiplu comun al numerelor naturalenenule (unsigned int) a si b?a. (c%a == 0 ) || (c %b ==0)b. (c%a == 0) | (c%b == 0)c. (c%a == 0) && (c%b ==0)d. (c%a == 0) & (c%b == 0)232. Care vor fi valorile variabilelor intregi a si b dupaexecutarea urmatoarelor instructiuni:{if (a = 10, b = a+1, a != b) b++; else a++; a*=b;}a. a = 121, b = 11 c. a = 120, b = 11b. a = 120, b = 12 d. a = 121, b = 12.233. 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; elsemax = 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;a. 1, 2, 3, 4 c. 2,3, 4b. 1, 3 d. 1, 3, 4234. 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);}

Page 48: Rezolvari Programare procedurala

Daca valoarea variabilei n este un numar naural nenul, de cate orieste evaluata expresia logica x <= n in timpul executarii secventei?a. de n2 orib. de n oric. o singura datad. de n+1 ori235. 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 finalulexecutarii x are valoarea 2007 iar y are valoarea 2009.a. x = 1002 si y = 5b. x = 3 si y = 1004c. x = 1004 si y = 3d. x = 2007 si y = 2009236. Se considera secventa:{int a = 5, b = 0;do {a--; b +=a*a;}while(a!=0);}Ce valori vor avea variabilele a si b la finalul executariisecventei?a. a = 0 si b = 0b. a = -1 si b = 25c. a = 0 si b = 55d. a = 0 si b = 30237. 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]:a. revers(v, p, q); revers(v, p-1, q+1);b. revers(v, p, q); revers(v, p+1, q-1);c. revers(v, p, q); revers(v, p+1, q+1);d. revers(v, p-1, q-1); revers(v, p, q);238. 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:a. for(int i=2; i<=n; i++) if (v[i-1]<=v[i]) v[i-1] = v[i]; max= v[1];b. for(int i=2; i<=n; i++)if(v[i-1]>v[i]) v[i] = v[i-1]; max =v[n];c. for(int i=1; i<n; i++) if(v[i+1]>v[i])v[i] = v[i+1]; max =v[1];d. for(int i=n; i>=2; i--) if (v[i]>v[i-1]) v[i]=v[i-1]; max =v[n];239. Fie v un tablou unidimensional format din n componente intregi,

Page 49: Rezolvari Programare procedurala

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?a. {p = 0; k = 1; while(v[k]>=0) k++; p = v[k];}b. {p = 0; k = n; while(v[k]<=0) k--; p = v[k];}c. {p = 0; for(k=1; k<=n; k++) if (v[k]>0 && !p) p = v[k];}d. {p = 0; for(k=1; k<=n; k++) if (v[k]>0) p = v[k];240. Care dintre urmatoarele reprezinta o declaratie corecta pentruo variabila x care memoreaza simultan numele si media a maximum 30de studenti?a. typedef struct {char nume[30]; double media;} x;b. char x.nume[30]; double x.media[30];c. struct {char nume[30]; double media;} x;d. struct {char nume[30]; double media;} x[30];241. 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)?a. s = 0; for (i=m; i>0; i--) s+=a[k][i];b. s = 0; i = 1; while (i<=m) {s+=a[i][[k]; i++;}c. s = 0; for(i=n; i>0; i--) s+=a[i][k];d. s = 0; i=1; while(i<=n) {s+=a[k][i]; i++;}242. 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:a. if(x>y && y>z) s = x+y+z; else p = x*y*z;b. if(x>y || y>z) s = x+y+z;c. if(x>y && y>z) s = x+y+z;d. if(x>y && y>z) p = x*y*z;243. 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)?a. for(i=0; i<n-1; i++) if (a[i] > a[i+1]) max = a[i];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];c. max=a[0];for (i=1; i<n; i++) if (a[i] < max) max = a[i];d. max=0; for (i=0; i<n; i++) if a([i]>max) a[i]=max;244. Dintre tipurile simple de date face parte tipul:a. double c. Tabloub. FILE d. Uniune (union)245. Fie secventa:a = 99; while (a >=1) {printf(“%d\n”, a); a=a-2;}Prin executarea acesteia se afiseaza:

Page 50: Rezolvari Programare procedurala

a. toate numerele naturale de doua cifreb. numerele naturale impare mai mici ca 100c. toate numerele intregi mai mici ca 99d. numerele naturale pare, mai mari decat 1246. Fie secventa:{char c; for c=’A’; c <=’Z’; c++) printf(“%d”, c);}Prin executarea acesteia se obtin:a. numerele naturale din intervalul [1, 27]b. numerele naturale din intervalul [65, 90]c. literele mari ale alfabetului englezd. literele mari ale alfabetului romanesc247. Parametrii utilizati la apelul unei functii, se numesc:a. parametri locali c. parametri actualib. parametri globali d. parametri formali248. 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:a. 13,13,13,13,16,14b. 15,10,10,20,23,18c. 15,13,13,13,16,11d. 15,10,15,20,23,20249. Care sunt valorile variabilelor intregi x si y dupa executareain ordine a urmatoarelor trei instructiuni:{x = 0x3;y = x + 0x3;x = x - 3;}a. x = 0 si y = 3 c. x= 6 si y = 0b. x = 3 si y = 0 d. x= 0 si y = 6250. 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;}a. a = 1200 si b = 5b. a = 12 si b = 35c. a = 1200 si b = 35d. a = 1200 si b = 12e. a = 100 si b = 35251. 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 continuta. 2 3 4 c. 2 3 4 5 63 4 54 5 65 6 76 7 83 4 5 6 7

Page 51: Rezolvari Programare procedurala

4 5 6 7 8b. 2 4 53 4 54 5 6d. 2 3 4 5 63 2 3 4 54 3 4 5 6252. 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:a. int calcul(int, int, int *); c. void calcul (int, int,double *, int *);b. void calcul(int, int,double, int);d. void calcul(int, int, int *,int *);253. Fie declaratiile:int a[5] = {1, 2,4, 3, 5};int b[4] = {4, 2, 1, 3};atunci a[b[0]] este:a. 3 c. 5b. 1 d. 4254. Se considera tabloul unidimensionalint 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 mai sus?a. 1151515 c. 6101315b. 15 d. 1361015255. 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?a. for (i = 1; i >= a; i += 2) printf(“%d ”, i);b. for (i = 1; i <= a; i--) if (a % 2 == 0) printf(“%d ”, i);c. for (i = a; i >= 1; i--) if (i % 2 != 0) printf(“%d ”, i);d. for (i = a; i <=1; i++) if (a%2 == 1) printf(“%d ”, i);256. 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:a. void s(int x, int y) { ... }b. void s(int *x, int *y) { ... }c. void s(unsigned int *, unsigned int *) { ... }d. void s(unsigned int, unsigned int) { ... }257. 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?a. A, B, C, D, E, F. c. A, B, C, D, Fb. A, B, D, F d. A, B, C, F

Page 52: Rezolvari Programare procedurala

258. Care este valoarea expresiei 20 / 10 * 2 + 30 / 15 * 2a. 2 c. 8b. 0 d. 4259. Care dintre expresiile de mai jos va avea valoarea 1?a. ‘a’ == ‘A’ c. ‘a’ < ‘b’b. ‘1’ + ‘2’ == ‘3’ d. ‘1’ > ‘2’260. 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 c. examen20examen2008b. examen2008 d. examen160261. 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 suspensie astfelincat algoritmul sa fie corect?a. i == j c. i<jb. i>=j d. i!=j262. Care este valoarea expresiei: 4000/10/10*2+4*10*10 / 2a. 400 c. 240b. 280 d. 220263. 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?a. a = 5, b = 5b. a = 6, b = 6c. a = 0, b = 6d. a = 6, b = 0e. a = 0, b = 0264. Care este ordinea de executare a instructiunilor urmatoarepentru ca in final variabilele intregi x, y si z sa aiba valoriegale, indiferent de valorile lor initiale:{/* 1 */ x = x / 10;/* 2 */ z = x / y;/* 3 */ x = 100;/* 4 */ y = x / 10;}a. 2, 4, 1, 3 c. 1, 2, 4, 3b. 3, 4, 2, 1 d. 3, 1, 2, 4.265. Fie tabloul unidimensional v si secventa

Page 53: Rezolvari Programare procedurala

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?a. p-1-jb. j-p+1c. p-1+jd. p-j+1266. 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?a. {s.x = f1.x + f2.x; s.y = f1.y + f2.y;}b. {s = f1 + f2;}c. {s.x = f1.x * f2.y + f1.y * f2.x; s.y = f1.y * f2.y;}d. {s.x = f1.x * f1.y + f2.x * f2.y; s.y = f1.y * f2.y;}267. Determinati valoarea expresiei fabs(-11.2) + sqrt(floor(16.23)).a. -9.2 c. 14.2b. 15 d. 15.2268. Determinati valoarea expresiei ((int)fabs(-14.2)) % 7a. 14 c. 0b. 2 d. 8