Corigență 10 Info-2015

2
Nume și prenume 31.08.2015 Examen de corigență Disciplina Informatică – clasa a X-a Punctajul total este de 10 puncte din care 1 punct din oficiu Timpul de lucru este de 75 de minute 1. Scrieți definițiile complete ale următoarelor subprograme, respectând specificațiile indicate. a) (1.2p) Subprogramul subnumăr care primește ca parametri două valori întregi x și y și returnează de câte ori y se găsește printre cifrele numărului x. Ex: pentru x=412 512 6 și y=12 se va afișa 2. b) (1.2p) Subprogramul divizori care primește ca parametru un număr natural x și returnează prin intermediul parametrului s suma divizorilor proprii impari ai lui x. Ex: pentru x=135 se va afișa 99. c) (1.2p) Numim kpereche într-un vector o succesiune continuă de k valori mărginite de două valori egale între ele. Scrieți subprogramul kpereche care primește ca parametri un vector v de numere întregi, dimensiunea acestuia n, o valoare întreagă k (k<9) și returnează prin intermediul parametrului ct numărul de kperechi existente în vector. Ex: pentru n=15 k=3 variabila ct va reține valoarea 3. 2. (0.6p) Se consideră secvența de program de mai jos. Știind că în urma executării acesteia s-a afișat succesiunea de caractere *in$d$*es$t$r$*uc$t$*ib$*il$ stabiliți care era șirul de caractere inițial? char s[50],voc[]=”aeiou”; gets(s); for(int i=0;i<strlen(s);i++) if(strchr(voc,s[i])) cout<<’*’<<s[i]; else cout<<s[i]<<’&’; 3. (1.2p) Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Textul reprezintă numele unei instituții sau organizații. Scrieți un program C++ care citește de la tastatură un text de tipul precizat și construiește în memorie, apoi afișează pe ecran un șir de caractere ce reprezintă acronimul corespunzător numelui citit. Acronimul este format din primul caracter al fiecărui cuvânt care începe cu majusculă. De asemenea se va afișa și câte vocale conține acronimul obținut. Ex: dacă șirul citit este Universitatea de Arte Plastice București se va obține UAPB. Acronimul conține două vocale. 4. Analizați subprogramul recursiv dat mai jos. int f(int x)

description

test corigenta

Transcript of Corigență 10 Info-2015

Page 1: Corigență 10 Info-2015

Nume și prenume 31.08.2015

Examen de corigențăDisciplina Informatică – clasa a X-a

Punctajul total este de 10 puncte din care 1 punct din oficiu Timpul de lucru este de 75 de minute

1. Scrieți definițiile complete ale următoarelor subprograme, respectând specificațiile indicate.a) (1.2p) Subprogramul subnumăr care primește ca parametri două valori întregi x și y și returnează de câte ori y se

găsește printre cifrele numărului x.Ex: pentru x=4125126 și y=12 se va afișa 2.

b) (1.2p) Subprogramul divizori care primește ca parametru un număr natural x și returnează prin intermediul parametrului s suma divizorilor proprii impari ai lui x.Ex: pentru x=135 se va afișa 99.

c) (1.2p) Numim kpereche într-un vector o succesiune continuă de k valori mărginite de două valori egale între ele. Scrieți subprogramul kpereche care primește ca parametri un vector v de numere întregi, dimensiunea acestuia n, o valoare întreagă k (k<9) și returnează prin intermediul parametrului ct numărul de kperechi existente în vector.Ex: pentru n=15 k=3

variabila ct va reține valoarea 3.

2. (0.6p) Se consideră secvența de program de mai jos. Știind că în urma executării acesteia s-a afișat succesiunea de caractere *in$d$*es$t$r$*uc$t$*ib$*il$ stabiliți care era șirul de caractere inițial?

char s[50],voc[]=”aeiou”;gets(s);for(int i=0;i<strlen(s);i++) if(strchr(voc,s[i]))

cout<<’*’<<s[i]; else

cout<<s[i]<<’&’;

3. (1.2p) Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate numai din litere mari și mici ale alfabetului englez și sunt separate prin câte un spațiu. Textul reprezintă numele unei instituții sau organizații. Scrieți un program C++ care citește de la tastatură un text de tipul precizat și construiește în memorie, apoi afișează pe ecran un șir de caractere ce reprezintă acronimul corespunzător numelui citit. Acronimul este format din primul caracter al fiecărui cuvânt care începe cu majusculă. De asemenea se va afișa și câte vocale conține acronimul obținut.Ex: dacă șirul citit este Universitatea de Arte Plastice București se va obține UAPB. Acronimul conține două vocale.

4. Analizați subprogramul recursiv dat mai jos.

int f(int x){ int c; if(x==0) return 0; else

return x+f(x-1);}

a) (0.8p) Scrieți rezultatul obținut în urma apelurilor funcției cu valorile indicate.f(4)=f(100)=

b) (0.6p) Rescrieți subprogramul alăturat, modificându-l, astfel încât să afișeze produsul valorilor impare mai mici ca x.

5. (0.6p) Structura cu numele CARTE permite memorarea unui număr real reprezentând prețul unei cărți și a unui șir de caractere reprezentând titlul cărții (max 50 de caractere). Scrieți o definiție a structurii descrise mai sus și declarați o variabilă de tip tablou unidimensional de tipul acestei structuri. Apoi scrieți o instrucțiune prin care să măriți cu 10 prețul tuturor cărților al căror titlu este mai lung de 20 de caractere.

6. (0.6p) Folosind metoda Divide et Impera scrieți un subprogram care să calculeze suma numerelor pare dintr-un interval [a,b], unde valorile a și b sunt considerate globale în program.

Page 2: Corigență 10 Info-2015