Lecție pentru bacalaureat · Informatică

Elemente de bază ale limbajului C++

Clasa a IX-a

Ideile de bază pe scurt și, unde există, exercițiile din subiectele de BAC care le verifică. Lecția completă, animată, cu grile și exerciții corectate, e în aplicația Tomomi.

Pe scurt

Formulă

Sintaxă: declararea variabilelor

Fiecare variabilă are un tip care spune ce fel de valori memorează:

int n;          // număr întreg
long long big;  // întreg foarte mare
double x;       // număr cu zecimale
char c;         // un caracter
bool ok;        // adevărat / fals

Citești cu cin >> n; și afișezi cu cout << n;.

Formulă

Șablon: câtul și restul (div, mod)

Împărțirea a două numere întregi dă câtul și restul:

17 / 5   // câtul  = 3   (pseudocod: 17 div 5)
17 % 5   // restul = 2   (pseudocod: 17 mod 5)

Ultima cifră a lui n este n % 10; n / 10 taie ultima cifră.

Sfat

Capcana: 5 / 2 la numere întregi

La numere întregi, / trunchiază: 5 / 2 dă 2, nu 2.5. Ca să obții zecimale, cel puțin un operand trebuie să fie real: 5.0 / 2 dă 2.5. Operatorul % funcționează doar pe întregi.

Idee

Idee: o comparație este o valoare

În C++, o comparație precum a > b produce o valoare: 1 dacă e adevărată, 0 dacă e falsă. De aceea poți scrie direct cout << (a > b);, fără să folosești if.

Formulă

Sintaxă: operatori și precedență

Operatorii, de la cel mai puternic la cel mai slab:

  1. Aritmetici: *, /, %, apoi +, -.
  2. Relaționali: <, >, <=, >=, ==, !=.
  3. Logici: !, apoi &&, apoi ||.

Parantezele schimbă ordinea: (a + b) * c.

Din subiectele de BAC

Exerciții reale din subiectele anilor trecuți. Încearcă-le singur înainte să deschizi rezolvarea.

Indicați expresia C/C++ cu aceeași valoare ca a expresiei alăturate.

2025%2019+6

a. 2025/2020+5 b. 2025/2021+8 c. 2025%2020+5 d. 2025%2021+8

Vezi rezolvarea

Calculăm expresia dată: 2025 mod 2019=62025 \bmod 2019 = 6, deci 2025%2019+6 are valoarea 6+6=126 + 6 = 12.

Evaluăm apoi variantele, ținând cont că / între întregi este împărțire întreagă, iar % este restul:

variantăcalculvaloare
a2025/2020=12025 / 2020 = 1, 1+51 + 56
b2025/2021=12025 / 2021 = 1, 1+81 + 89
c2025 mod 2020=52025 \bmod 2020 = 5, 5+55 + 510
d2025 mod 2021=42025 \bmod 2021 = 4, 4+84 + 812

Singura expresie cu valoarea 12 este cea de la litera d.

Indicați expresia C/C++ care are valoarea 1 dacă și numai dacă numerele memorate în variabilele întregi x și y sunt pare.

a. x%2==0 && (y+1)%2!=0 b. (x-y)%2==0 c. (x+y)%2==0 d. x%2==y%2

Vezi rezolvarea

Analizăm fiecare variantă:

  • x%2==0 && (y+1)%2!=0: prima condiție cere ca x să fie par; a doua cere ca y+1 să fie impar, adică y par. Expresia este 1 exact când ambele numere sunt pare.
  • (x-y)%2==0 și (x+y)%2==0 sunt adevărate și când x și y sunt ambele impare (de exemplu x=3, y=5), deci nu convin.
  • x%2==y%2 cere doar aceeași paritate, nu paritate pară.

Răspunsul corect este a.

Indicați expresia C/C++ care are cea mai mare valoare, comparativ cu celelalte trei expresii.

a. 20*23/(2*2) b. 20/2*23/2 c. (20*23)/2 d. (20*23)/2*2

Vezi rezolvarea

Operatorii * și / au aceeași prioritate și se aplică de la stânga la dreapta (împărțire întreagă).

  • a. 20*23/(2*2) =460/4=115= 460/4 = 115
  • b. 20/2*23/2 =10⋅23/2=230/2=115= 10 \cdot 23 / 2 = 230/2 = 115
  • c. (20*23)/2 =460/2=230= 460/2 = 230
  • d. (20*23)/2*2 =230⋅2=460= 230 \cdot 2 = 460

Cea mai mare valoare este 460460, deci răspunsul corect este d.

Toate lecțiile de Informatică

Descarcă

Începe azi. Bacul nu așteaptă.

Descarcă Tomomi pe telefonul copilului tău și pornește perioada de probă gratuită.