Academos
  1. Subiecte
  2. Bacalaureat
  3. Informatică mate-info, C
  4. 2021 august

Informatică mate-info, C, sesiunea august 2021

Subiectul și baremul oficiale de Bacalaureat. Deschide-le în PDF, apoi corectează-te mai jos.

Corectează-te cu baremul

Ai rezolvat lucrarea pe foaie? Deschide baremul fiecărui item, trece-ți punctele și nota apare pe loc. Rămân salvate pe dispozitivul tău.

Subiectul I

  1. 1. Variabilele x și y sunt de tip real (x≠−2). Indicați o expresie C/C++ corespunzătoare expresiei aritmetice alăturate.…

    din 4
    Arată baremul

    Răspuns: d

    1d - 4p. (5x4p. pentru itemii 1–5.)

  2. 2. Subprogramul f este definit alăturat. Indicați valoarea lui f(1234). int f(int n) { if (n!=0) return…

    din 4
    Arată baremul

    Răspuns: b

    2b - 4p. (5x4p. pentru itemii 1–5.)

  3. 3. Utilizând metoda backtracking se generează toate numerele formate din cifre distincte, cifre a căror sumă să fie 6.…

    din 4
    Arată baremul

    Răspuns: a

    3a - 4p. (5x4p. pentru itemii 1–5.)

  4. 4. Unui arbore cu 10 noduri i se adaugă o muchie, cu extremitățile în două dintre nodurile sale. Indicați numărul…

    din 4
    Arată baremul

    Răspuns: b

    4b - 4p. (5x4p. pentru itemii 1–5.)

  5. 5. Un graf neorientat are 21 de noduri, numerotate de la 1 la 21; pentru oricare două noduri distincte ale sale,…

    din 4
    Arată baremul

    Răspuns: c

    5c - 4p. (5x4p. pentru itemii 1–5.)

Subiectul al II-lea

  1. 1. a) Scrieți ce se afișează în urma executării algoritmului dacă se citesc, în această ordine, numerele 15, 3, 4. (6p.)

    din 6
    Arată baremul

    Răspuns: 3 4 6 8 9 15

    1. a) Răspuns corect: 3 4 6 8 9 15 - 6p. Se acordă câte 1p. pentru fiecare număr conform cerinței.

  2. 1. b) Scrieți două seturi distincte de date de intrare, astfel încât, în urma executării algoritmului, pentru fiecare…

    din 6
    Arată baremul

    b) Pentru răspuns corect - 6p. Se acordă câte 3p. pentru fiecare set de date conform cerinței (orice triplet de numere naturale nenule, n, x, y, unde x≤n și x=y).

  3. 1. c) Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)

    din 10
    Arată baremul

    c) Pentru program corect - 10p. -declarare a variabilelor - 1p. -citire a datelor - 1p. -afișare a datelor - 1p. -instrucțiuni de decizie (*) - 3p. -instrucțiune repetitivă - 2p. -atribuiri - 1p. -corectitudine globală a programului¹⁾ - 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie este conform cerinței.

    1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

  4. 1. d) Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o structură…

    din 6
    Arată baremul

    d) Pentru algoritm pseudocod corect - 6p. -utilizare a unei structuri repetitive cu test inițial (*) - 2p. -aspecte specifice ale secvenței obținute prin înlocuire, conform cerinței (**) - 3p. -algoritm complet, corectitudine globală a algoritmului¹⁾ - 1p. (*) Se acordă punctajul chiar dacă algoritmul obținut nu este echivalent cu cel dat. Se va puncta orice formă de structură repetitivă conform cerinței (cât timp...execută, while... do etc.). (**) Se acordă câte 1p. pentru fiecare aspect (inițializare contor, expresie logică pentru test inițial, actualizare contor) conform cerinței.

    1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

  5. 2. Scrieți șirul memorat prin intermediul variabilei s în urma executării secvenței alăturate. (6p.)

    din 6
    Arată baremul

    Răspuns: ARMONIA

    Răspuns corect ARMONIA 6p. Se acordă numai 1p. dacă doar ultimele 3 litere sunt conform cerinței, numai 3p. dacă doar ultimele 4 litere sunt conform cerinței, numai 5p. dacă doar ultimele 6 litere sunt conform cerinței.

  6. 3. Variabila a memorează datele personale ale fiecăruia dintre cei 30 de angajați (codul numeric personal – CNP, anul…

    din 6
    Arată baremul

    3. Pentru răspuns corect - 6p. -acces la un câmp de pe primul nivel al structurii - 2p. -acces la un câmp de pe al doilea nivel al structurii - 2p. -atribuire a valorilor indicate pentru datele angajatului precizat - 1p. -corectitudine globală a secvenței¹⁾ - 1p.

    1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Subiectul al III-lea

  1. 1. Scrieți definiția completă a subprogramului. Exemplu: dacă n=5 atunci, după apel, se afișează pe ecran numerele 125…

    din 10
    Arată baremul

    Pentru subprogram corect - 10p. -antet subprogram (*) - 2p. -determinare a valorilor cerute (**) - 4p. -afișare a datelor (***) - 3p. -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului¹⁾ - 1p.

    (*) Se acordă câte 1p. pentru fiecare aspect al antetului (structură, parametru de intrare) conform cerinței. (**) Se acordă câte 2p. pentru fiecare aspect (determinare/identificare a unui cub perfect, cuburi perfecte suport determinate) conform cerinței. (***) Se acordă numai 1p. dacă valorile sunt afișate, dar nu în ordinea cerută. ¹⁾ Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

  2. 2. Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [2,10²], k și n, și…

    din 10
    Arată baremul

    2. Pentru program corect - 10p. -declarare a unei variabile care să memoreze un tablou bidimensional - 1p. -citire a datelor - 1p. -construire a tabloului conform cerinței (*) - 6p. -afișare a datelor - 1p. -declarare a variabilelor simple, corectitudine globală a programului¹⁾ - 1p.

    (*) Se acordă câte 1p. pentru fiecare aspect specific (identificare a poziției elementelor situate pe diagonala principală, plasare pe linii a unor valori consecutive la stânga diagonalei principale, plasare pe linii a unor valori consecutive la dreapta diagonalei principale, multipli ai lui k suport pe diagonala principală, valori suport plasate în afara diagonalei principale, construire în memorie) conform cerinței.

    1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

  3. 3. a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

    din 2
    Arată baremul

    3. a) Pentru răspuns corect - 2p. -coerență a descrierii algoritmului (*) - 1p. -justificare a elementelor de eficiență - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient.

    O soluție posibilă utilizează un vector de frecvență v în care vᵢ reprezintă numărul de valori x din șirul A pentru care i=x%100 (i∈[0,99]). Vectorul v se actualizează pe măsura parcurgerii celei de a doua linii a fișierului. Se determină numărul cerut nr pe măsura parcurgerii numerelor de pe a treia linie a fișierului: pentru fiecare număr curent y din șirul B se determină ultimele două cifre ale sale, c1 și c2 și numerele i și j, unde i=c1*10+c2, iar j=c2*10+c1, apoi se adună la nr valoarea vᵢ și, dacă i≠j, se adună la nr și vⱼ.

    O altă soluție utilizează câte un vector de frecvență pentru fiecare șir, va și vb, cu aceeași semnificație ca mai sus. Vectorii se completează pe măsura citirii fiecărui șir, iar numărul cerut se obține la final, prin parcurgerea vectorului vb și pentru fiecare i∈[0,99], se determină ultimele două cifre ale sale, c1 și c2 și numărul j, unde j=c2*10+c1, apoi se adună la nr valoarea vbᵢ·vaᵢ și, dacă i≠j, se adună la nr și vbᵢ·vaⱼ.

  4. 3. b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

    din 8
    Arată baremul

    b) Pentru program corect - 8p. -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. -determinare a valorii cerute (*),(**) - 5p. -utilizare a unui algoritm eficient (***) - 1p. -declarare a variabilelor, afișare a datelor, corectitudine globală a programului¹⁾ - 1p.

    (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar. O soluție posibilă utilizează un vector de frecvență v în care vᵢ reprezintă numărul de valori x din șirul A pentru care i=x%100 (i∈[0,99]). Vectorul v se actualizează pe măsura parcurgerii celei de a doua linii a fișierului. Se determină numărul cerut nr pe măsura parcurgerii numerelor de pe a treia linie a fișierului: pentru fiecare număr curent y din șirul B se determină ultimele două cifre ale sale, c1 și c2 și numerele i și j, unde i=c1*10+c2, iar j=c2*10+c1, apoi se adună la nr valoarea vᵢ și, dacă i≠j, se adună la nr și vⱼ.

    O altă soluție utilizează câte un vector de frecvență pentru fiecare șir, va și vb, cu aceeași semnificație ca mai sus. Vectorii se completează pe măsura citirii fiecărui șir, iar numărul cerut se obține la final, prin parcurgerea vectorului vb și pentru fiecare i∈[0,99], se determină ultimele două cifre ale sale, c1 și c2 și numărul j, unde j=c2*10+c1, apoi se adună la nr valoarea vbᵢ·vaᵢ și, dacă i≠j, se adună la nr și vbᵢ·vaⱼ.

    ¹⁾ Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

0 din 90 de puncte, plus 10 din oficiu

Nota -

Sursa: Bacalaureat 2021, Informatică mate-info, C, sesiunea august, documente oficiale publicate de Ministerul Educației.

Exersează zilnic cu Academos

Aplicația pentru Evaluarea Națională și Bac. În curând pe:

  • App Store
  • Google Play