3
Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului Centrul NaŃional de Evaluare şi Examinare Probă scrisă la INFORMATICĂ Varianta 10 Specializarea matematică-informatică Limbajul C/C++ 1 Examenul de bacalaureat 2010 Proba E-d) Proba scrisă la INFORMATICĂ Limbajul C/C++ Specializarea matematică informatică Varianta 10 Toate subiectele (I, II şi III) sunt obligatorii. Se acordă 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. În rezolvările cerute, identificatorii utilizaŃi trebuie să respecte precizările din enunŃ (bold), iar în lipsa unor precizări explicite, notaŃiile trebuie să corespundă cu semnificaŃiile asociate acestora (eventual în formă prescurtată). SUBIECTUL I (30 de puncte) Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect. 1. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul natural memorat în variabila întreagă n este divizibil cu 2 şi cu 7. (4p.) a. !( (n%2==1) || (n%7!=0) ) b. (n%2==0) && (n%7!=0) c. (n%2==0) || !(n%7==0) d. (n%7==2) && (n%2==7) 2. Se consideră algoritmul alăturat descris în pseudocod: S-a notat cu x%y restul împărŃirii numărului natural x la numărul natural nenul y şi cu [z] partea întreagă a numărului real z. a) ScrieŃi numărul afişat dacă pentru variabila n se citeşte valoarea 64598. (6p.) b) ScrieŃi toate numerele de exact trei cifre care pot fi citite pentru variabila n astfel încât, pentru fiecare dintre acestea, numărul afişat în urma executării algoritmului să fie 24. (4p.) citeşte n (număr natural nenul) m0 ┌repetă │ cn%10 │ n[n/10] │┌dacă c>5 atunci ││ c[c/2] │└■ │ mm*10+c └până când n=0 scrie m c) ScrieŃi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura repetă...până când cu o structură repetitivă de alt tip. (6p.) d) ScrieŃi programul C/C++ corespunzător algoritmului dat. (10p.)

Proba E Informatica C++ Subiect 10

Embed Size (px)

DESCRIPTION

varianta info

Citation preview

  • Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

    Prob scris la INFORMATIC Varianta 10 Specializarea matematic-informatic Limbajul C/C++

    1

    Examenul de bacalaureat 2010 Proba E-d)

    Proba scris la INFORMATIC Limbajul C/C++

    Specializarea matematic informatic

    Varianta 10 Toate subiectele (I, II i III) sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun

    (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat).

    SUBIECTUL I (30 de puncte) Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

    1. Indicai care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac numrul natural memorat n variabila ntreag n este divizibil cu 2 i cu 7. (4p.)

    a. !( (n%2==1) || (n%7!=0) ) b. (n%2==0) && (n%7!=0) c. (n%2==0) || !(n%7==0) d. (n%7==2) && (n%2==7)

    2. Se consider algoritmul alturat descris n pseudocod: S-a notat cu x%y restul mpririi numrului natural x la numrul natural nenul y i cu [z] partea ntreag a numrului real z.

    a) Scriei numrul afiat dac pentru variabila n se citete valoarea 64598. (6p.)

    b) Scriei toate numerele de exact trei cifre care pot fi citite pentru variabila n astfel nct, pentru fiecare dintre acestea, numrul afiat n urma executrii algoritmului s fie 24. (4p.)

    citete n (numr natural nenul) m0 repet cn%10 n[n/10] dac c>5 atunci c[c/2] mm*10+c pn cnd n=0 scrie m

    c) Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura repet...pn cnd cu o structur repetitiv de alt tip. (6p.)

    d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

  • Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

    Prob scris la INFORMATIC Varianta 10 Specializarea matematic-informatic Limbajul C/C++

    2

    SUBIECTUL al II-lea (30 de puncte) Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare rspunsului corect.

    1. Se consider declararea alturat, n care variabila FIG memoreaz coordonatele, n planul xOy, ale centrului unui cerc, precum i lungimea razei acestuia. O expresie C/C++ care are valoarea 1 dac i numai dac centrul cercului se afl pe prima bisectoare a sistemului de coordonate al planului xOy este: (4p.)

    struct cerc { float x, y; float raza; } FIG;

    a. centru(x)==centru(y) b. FIG.cerc.x==FIG.cerc.y c. FIG(x)==FIG(y) d. FIG.x==FIG.y

    2. O matrice de adiacen prin care poate fi reprezentat graful orientat cu 3 vrfuri, reprezentat n figura alturat, este: (4p.)

    a. 0 1 0

    0 0 1 0 0 0

    b. 0 0 1 0 0 1 0 0 0

    c. 0 0 0 0 0 1 0 0 1

    d. 0 1 0 1 0 1 0 1 0

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.

    n secvena de instruciuni de mai jos, variabilele i i j sunt de tip ntreg i se consider c variabila A memoreaz elementele, iniial nule, ale unui tablou bidimensional, cu 5 linii i 5 coloane, numerotate de la 0 la 4. Fr a utiliza i alte variabile dect cele menionate mai sus, scriei o instruciune care poate nlocui punctele de suspensie astfel nct, n urma executrii secvenei, tabloul memorat n variabila A s aib elementele din figura de mai jos.

    3.

    for(i=0;i

  • Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

    Prob scris la INFORMATIC Varianta 10 Specializarea matematic-informatic Limbajul C/C++

    3

    SUBIECTUL al III-lea (30 de puncte) Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.

    1. Se consider subprogramul p, definit alturat. Valoarea lui p(210, 49) este:

    (4p.)

    int p(int m, int n) { if(n==0) return 1; return 1+p(n, m%n); }

    a. 1 b. 2 c. 3 d. 4 Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.

    2. Avnd la dispoziie cinci flori diferite, lalea, narcis, mac, frezie, garoaf, se utilizeaz metoda backtracking pentru a obine toate posibilitile de a forma un aranjament floral, tiind c se folosesc toate cele cinci flori i conteaz ordinea de aezare a acestora. Primele patru soluii obinute sunt, n aceast ordine: (lalea, narcis, mac, frezie, garoaf), (lalea, narcis, mac, garoaf, frezie), (lalea, narcis, frezie, mac, garoaf), (lalea, narcis, frezie, garoaf, mac). Scriei ultimele dou soluii generate, n ordinea obinerii lor. (6p.)

    3. Subprogramul tablou are trei parametri: n i k, prin care primete cte un numr natural (3n20, 2k10); a, prin care furnizeaz un tablou unidimensional care memoreaz un ir cresctor de nk termeni, din mulimea primelor n numere naturale nenule, fiecare astfel de numr fiind n ir de exact k ori.

    Scriei n limbajul C/C++ definiia complet a subprogramului. Exemplu: dac n=4, k=3 atunci, dup apel, a=(1,1,1,2,2,2,3,3,3,4,4,4). (10p.)

    Fiierul BAC.TXT conine, n ordine cresctoare, cel puin dou i cel mult 10000 de numere naturale. Numerele sunt separate prin cte un spaiu i au cel mult 9 cifre fiecare. Cel puin un numr din fiier este par.

    a) Scriei un program C/C++ care citete toate numerele din fiier i, printr-un algoritm eficient din punct de vedere al timpului de executare i al memoriei utilizate, determin i afieaz pe ecran, n ordine strict cresctoare, separate prin cte un spaiu, toate numerele pare care apar n fiier. Fiecare numr se va afia o singur dat. (6p.) Exemplu: dac fiierul are coninutul de mai jos 1 1 2 2 2 7 10 10 10 10 24 pe ecran se afieaz, n aceast ordine, numerele 2 10 24.

    4.

    b) Descriei n limbaj natural (3-4 rnduri) algoritmul utilizat la punctul a) i justificai eficiena acestuia. (4p.)