Urmărirea și transformarea algoritmilor: Informatică la Bacalaureat

88 de cerințe oficiale din subiectele de Bac; aici sunt cele mai noi 20. Rezolvi pe loc sau pe caiet, apoi te verifici pe barem.

Profilul tău:

Algoritmul de la II.1

Algoritmul alăturat este reprezentat în pseudocod. S-a notat cu a%b restul împărțirii numărului natural a la numărul natural nenul b și cu [c] partea întreagă a numărului real c.

Algoritmul în pseudocod: citește x,y; n←1; cât timp x>0: ok←1; cât timp ok=1: dacă x%2=0 atunci y←y*y; x←[x/2], altfel x←x-1; ok←0; apoi n←n*y; la final scrie n.

II.1.a6 p

algoritmul de la II.1

a. Scrieți valoarea afișată în urma executării algoritmului dacă se citesc, în această ordine, numerele 11, 2.

Vezi rezolvarea

Răspuns: 2048

II.1.b6 p

algoritmul de la II.1

b. Dacă primul număr citit este 3, scrieți două numere din intervalul [1,10] care pot fi citite pentru variabila y astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, numărul afișat să fie din intervalul [27,127].

Verifică-te pe barem

Un exemplu de răspuns

Oricare două dintre 3, 4, 5 (de exemplu 3 și 4).

Exemplu scris de Zece, nu singurul răspuns bun.

Barem oficial

  1. Pentru răspuns corect: câte 3p. pentru fiecare dintre cele două numere conform cerinței (oricare două numere dintre 3, 4, 5)6 p

II.1.c10 p

algoritmul de la II.1

c. Scrieți programul C/C++ corespunzător algoritmului dat.

Verifică-te pe barem

Un exemplu de răspuns

#include <iostream>
using namespace std;
int main()
{
    int x, y, n = 1, ok;
    cin >> x >> y;
    while (x > 0)
    {
        ok = 1;
        while (ok == 1)
            if (x % 2 == 0) { y = y * y; x = x / 2; }
            else { x = x - 1; ok = 0; }
        n = n * y;
    }
    cout << n;
    return 0;
}

Exemplu scris de Zece, nu singurul răspuns bun.

Barem oficial

  1. declarare a tuturor variabilelor, conform cerinței1 p
  2. citire a datelor, conform cerinței1 p
  3. afișare a datelor, conform cerinței1 p
  4. instrucțiune de decizie, cu expresie condițională și cuvinte cheie conform cerinței2 p
  5. instrucțiuni repetitive, cu expresii condiționale inițiale de repetare și cuvinte cheie conform cerinței (se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței)3 p
  6. atribuiri, conform cerinței1 p
  7. corectitudine globală a programului1 p

II.1.d6 p

algoritmul de la II.1

d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură cât timp...execută cu o structură repetitivă cu test final.

Verifică-te pe barem

Un exemplu de răspuns

citește x,y (numere naturale)
n←1
dacă x>0 atunci
repetă
ok←1
cât timp ok=1 execută
dacă x%2=0 atunci y←y*y; x←[x/2]
altfel x←x-1; ok←0
■
■
n←n*y
până când x=0
■
scrie n

Exemplu scris de Zece, nu singurul răspuns bun.

Barem oficial

  1. utilizare a unei structuri repetitive de tipul cerut, înlocuind-o pe cea indicată (se acordă punctajul chiar dacă algoritmul obținut nu este echivalent cu cel dat; se punctează orice formă de structură repetitivă explicită, conform cerinței)2 p
  2. aspecte specifice pentru secvența obținută prin înlocuire, conform cerinței (se acordă numai 2p. dacă doar unul dintre următoarele două aspecte specifice este conform cerinței: tratare a cazului x=0, expresie condițională finală de repetare/oprire)3 p
  3. algoritm complet, corectitudine globală a algoritmului1 p
Secvența: for(i=1;i<=6;i++) if(i==1 || i==3) cout<<i<<endl; else for(j=i+1;j<=6;j++) if(j!=3) cout<<i<<" "<<j<<endl;

I.54 p

Se generează toate seturile de echipamente pentru drumeție din mulțimea {rucsac (100 de lei), notat cu 1, lanternă (50 de lei), notată cu 2, pelerină (100 de lei), notată cu 3, bidon (20 de lei), notat cu 4, busolă (50 de lei), notată cu 5, hartă (30 de lei), notată cu 6}. Într-un set sunt cel mult două echipamente, acestea sunt distincte și costă, în total, cel mult 100 de lei. Două soluții diferă prin cel puțin un echipament. În secvența C/C++ de mai jos, toate variabilele sunt de tip întreg, iar în urma executării ei se obțin toate seturile de tipul precizat, afișându-se pe ecran notațiile corespunzătoare echipamentelor. Primele trei soluții obținute corespund, în această ordine, distribuțiilor (rucsac), (lanternă, bidon), (lanternă, busolă). Indicați setul care corespunde celei de a șasea soluții obținute.

Vezi rezolvarea

Răspuns: b) (bidon, busolă)

Alte teme

Toate temele →