Verifică bagajul cu care intri în liceu: noțiunea de algoritm, schemele logice, pseudocodul, structurile de control, prelucrarea cifrelor și raționamentul matematic de gimnaziu. Nu se cere C++ — încă nu l-ai învățat.
1 pdin oficiu
5 × 0,2 pgrile = 1 p
4 × 2 pprobleme = 8 p
10 ptotal
timp de lucru: 50 de minute · oficiu + grile complete = nota 2
1.00nota curentăoficiu 1.00 · grilă 0.00 · probleme 0.00
Cum se rezolvă: la problemele de algoritmică poți răspunde în pseudocod sau în cuvinte, clar și pas cu pas. Baremul îți arată și rezolvarea în pseudocod, și cum va arăta același algoritm în C++ — limbajul pe care îl începi în câteva săptămâni. Nu te speria de cod: e o previzualizare, nu o cerință.
Subiectul I — grilă
5 × 0,2 p = 1 p
Un singur răspuns corect. Apeși pe variantă și afli imediat dacă ai nimerit, cu explicație.
Subiectul II — probleme
4 × 2 p = 8 p
Fiecare problemă e împărțită pe subpuncte cu punctaj propriu. Rezolvi pe hârtie sau în editor,
apoi deschizi baremul și te autoevaluezi: apasă pe butonul din dreapta fiecărui subpunct pentru
nerezolvat → parțial (jumătate) → corect.
1.
Cifrele unui număr
algoritmi · divizibilitate2 p
Se lucrează cu numere naturale de trei cifre (de la 100 la 999).
a)Calculează suma cifrelor numărului 476 și produsul cifrelor numărului 305.0,5 p
b)Descrie în pseudocod un algoritm care citește un număr natural n și afișează suma cifrelor lui.0,75 p
c)Câte numere de trei cifre au suma cifrelor egală cu 2? Enumeră-le.0,75 p
Barem de corectare & rezolvare
a) 0,5 p
Suma cifrelor lui 476: 4 + 7 + 6 = 17. Produsul cifrelor lui 305: 3 · 0 · 5 = 0 (orice produs care conține cifra 0 este 0 — capcana clasică).
b) 0,75 p
Se izolează, pe rând, ultima cifră cu restul împărțirii la 10, apoi se taie cu împărțirea întreagă la 10, până când numărul devine 0.
Pseudocod
citește n
s ← 0cât timp n > 0execută
c ← n % 10// ultima cifră
s ← s + c
n ← n [/] 10// taie ultima cifrăscrie s
C++
#include <iostream>
usingnamespace std;
int main() {
int n, s = 0;
cin >> n;
while (n > 0) {
s += n % 10; // adaug ultima cifra
n /= 10; // o taie
}
cout << s;
return0;
}
c) 0,75 p
Prima cifră nu poate fi 0. Cazurile posibile pentru (sute, zeci, unități) cu suma 2 sunt: (2,0,0), (1,1,0) și (1,0,1) → numerele 200, 110, 101. Sunt 3 numere.
2.
Urmărirea unui algoritm
structura repetitivă · decizie2 p
Se dă algoritmul următor, în care % înseamnă restul împărțirii, iar [/] înseamnă câtul împărțirii întregi:
Exemplucitește n s ← 0 ; p ← 1 cât timp n > 0 execută c ← n % 10 dacă c % 2 = 0 atunci s ← s + c altfel p ← p * c n ← n [/] 10 scrie s, p
a)Ce se afișează pentru n = 4327? Completează tabelul de urmărire.0,75 p
b)Ce se afișează pentru n = 2468? Dar pentru n = 135?0,75 p
c)Ce reprezintă, în general, valorile s și p afișate?0,5 p
Barem de corectare & rezolvare
a) 0,75 p
Cifrele se iau de la dreapta la stânga: 7, 2, 3, 4.
n = 4327 s = 0 p = 1
c = 7 (impar) -> p = 1 * 7 = 7 n = 432
c = 2 (par) -> s = 0 + 2 = 2 n = 43
c = 3 (impar) -> p = 7 * 3 = 21 n = 4
c = 4 (par) -> s = 2 + 4 = 6 n = 0 -> STOP
Se afiseaza: s = 6 p = 21
b) 0,75 p
Pentru n = 2468 toate cifrele sunt pare: s = 8+6+4+2 = 20, iar p rămâne 1 (nu s-a înmulțit nimic). Pentru n = 135 toate cifrele sunt impare: s = 0, p = 5·3·1 = 15.
c) 0,5 p
s = suma cifrelor pare ale lui n (0 dacă nu există cifre pare). p = produsul cifrelor impare ale lui n (1 dacă nu există cifre impare — pentru că 1 este elementul neutru al înmulțirii, exact motivul pentru care p pornește de la 1, nu de la 0).
3.
Un șir de valori: note
algoritmi elementari · min/max/medie2 p
Într-o clasă, șase elevi au obținut la teză notele: 8, 5, 10, 7, 9, 6.
a)Calculează media aritmetică a celor șase note și spune câți elevi au note peste medie.0,5 p
b)Care este diferența dintre nota maximă și nota minimă? Câte note sunt mai mari decât 7?0,5 p
c)Descrie un algoritm care citește n note și afișează nota maximă și de câte ori apare ea.1 p
Barem de corectare & rezolvare
a) 0,5 p
Suma = 8+5+10+7+9+6 = 45. Media = 45 : 6 = 7,5. Peste 7,5 sunt notele 8, 10 și 9 → 3 elevi.
b) 0,5 p
Maxim = 10, minim = 5 → diferența este 5. Mai mari strict decât 7: 8, 10, 9 → 3 note. (Nota 7 nu se numără — „mai mare" înseamnă strict.)
c) 1 p
Se pornește cu maximul egal cu prima notă citită, apoi fiecare notă nouă îl poate depăși. Pentru numărare este nevoie de două parcurgeri (sau de resetarea contorului la fiecare maxim nou).
Pseudocod
citește n
citește x
max ← x
k ← 1// de cate ori apare maximulpentru i ← 2, n executăcitește x
dacă x > max atunci
max ← x
k ← 1// maxim nou -> reincep numaratoareaaltfeldacă x = max atunci
k ← k + 1scrie max, k
C++
#include <iostream>
usingnamespace std;
int main() {
int n, x, maxim, k;
cin >> n;
cin >> maxim; k = 1;
for (int i = 2; i <= n; i++) {
cin >> x;
if (x > maxim) { maxim = x; k = 1; }
elseif (x == maxim) k++;
}
cout << maxim << " apare de " << k << " ori";
return0;
}
4.
Raționament: mulțimi și procente
logică · matematică de gimnaziu2 p
Trei situații independente, de rezolvat cu raționament — nu cu formule învățate pe de rost.
a)Într-o clasă de 30 de elevi, 18 sunt înscriși la cercul de informatică, 15 la robotică, iar 7 la ambele. Câți elevi fac cel puțin un cerc? Câți nu fac niciunul?0,75 p
b)Un produs costă 250 lei. Se scumpește cu 20%, apoi noul preț se ieftinește cu 20%. Care este prețul final? Este mai mare, mai mic sau egal cu cel inițial?0,75 p
c)Suma a trei numere naturale consecutive este 87. Care sunt numerele?0,5 p
Barem de corectare & rezolvare
a) 0,75 p
Dacă aduni 18 + 15 = 33, cei 7 care fac ambele sunt numărați de două ori. Îi scazi o dată: 18 + 15 − 7 = 26 de elevi fac cel puțin un cerc. 30 − 26 = 4 elevi nu fac niciunul. Aceasta este formula includerii și excluderii: |A ∪ B| = |A| + |B| − |A ∩ B|.
b) 0,75 p
Scumpire: 250 + 20% din 250 = 250 · 1,2 = 300 lei. Ieftinire: 300 − 20% din 300 = 300 · 0,8 = 240 lei. Prețul final este mai mic cu 10 lei decât cel inițial. Motivul: cele două procente se aplică la baze diferite — 20% din 250 înseamnă 50 lei, dar 20% din 300 înseamnă 60 lei.
c) 0,5 p
Fie numerele n−1, n, n+1. Suma lor este 3n = 87 → n = 29. Numerele sunt 28, 29 și 30. (Trucul: suma a trei consecutive este întotdeauna de trei ori numărul din mijloc.)
Nota ta
1.00
Începe cu grila — nota pornește de la 1 punct din oficiu.