Operațiile div (împărțire întreagă), mod (restul împărțirii) și repetarea acțiunilor (folosind bucle în C++).
📘 Ghid C++ div, mod și bucle
Acest ghid explică noțiunile esențiale pentru examenele de admitere: împărțirea întreagă (div), restul împărțirii (mod) și repetarea acțiunilor (bucle) în C++, cu explicații clare pentru fiecare linie.
🔢 1. Împărțirea întreagă – div (în C++: /)
În C++, dacă împărțim două numere întregi (int), rezultatul este tot un număr întreg – partea zecimală se taie, nu se rotunjește.
int a = 17; // a este 17
int b = 5; // b este 5
int rezultat = a / b; // 17 / 5 = 3 (nu 3.4!)
int= tip pentru numere fără virgulăa / b= câtul împărțirii întregi
✅ Exemplu: Din 17 mere, câte pachete de câte 5 poți face? Răspuns:
17 / 5 = 3pachete.
🔁 2. Restul împărțirii – mod (în C++: %)
Operatorul % returnează restul împărțirii a două numere întregi.
int a = 17;
int b = 5;
int rest = a % b; // rest = 2, pentru că 17 = 5*3 + 2
Folosiri utile:
- Număr par?
if (n % 2 == 0) → par - Ultima cifră:
ultima = n % 10;(ex: 123 → 3) - Divizibilitate:
if (n % 3 == 0) → se împarte exact la 3
❗
%funcționează doar cu numere întregi (nu cufloatsaudouble).
🔁 3. Repetarea acțiunilor – Bucle („repeat”)
A. Bucle for – repetă de un număr cunoscut de ori
for (int i = 0; i < 5; i++) {
cout << "Salut!\n";
}
Explicație:
int i = 0→ contorul pornește de la 0i < 5→ repetă cât timpieste mai mic decât 5i++→ măreșteicu 1 la fiecare pas
✅ Folosește
forcând știi exact de câte ori vrei să repeți (ex: „afișează primele 10 numere”).
B. Bucle while – repetă cât timp o condiție e adevărată
int x;
cin >> x;
while (x != 0) {
cout << x * 2 << endl;
cin >> x; // citește următorul număr
}
✅ Folosește
whilecând NU știi câte valori vor veni (ex: „citește până la 0”).
C. while(true) + break – repetă la infinit până la „stop”
while (true) {
int n;
cin >> n;
if (n == -1) break; // oprește bucla
cout << n * n << endl;
}
📌 Exemple tipice de la examene
1. Suma cifrelor unui număr (ex: 123 → 6)
int n = 123, suma = 0;
while (n > 0) {
suma += n % 10; // adaugă ultima cifră
n /= 10; // elimină ultima cifră
}
cout << suma; // afișează 6
2. Numără câte numere pare se introduc (până la 0)
int x, nr_pare = 0;
while (cin >> x && x != 0) {
if (x % 2 == 0) nr_pare++;
}
cout << "Pare: " << nr_pare;
3. Afișează toți divizorii unui număr
int n = 12;
for (int i = 1; i <= n; i++) {
if (n % i == 0)
cout << i << " ";
}
// Ieșire: 1 2 3 4 6 12
✅ Rezumat rapid
| Concept | C++ | Exemplu |
|---|---|---|
| Împărțire întreagă | a / b |
17 / 5 → 3 |
| Restul împărțirii | a % b |
17 % 5 → 2 |
| Repetă de N ori | for (int i=0; i<N; i++) |
Afișează „Hello” de 5 ori |
| Repetă până la condiție | while (cond) |
Citește până la 0 |
💡 Sfaturi pentru examen:
- Folosește doar
int(nufloat). %și/cuintsunt cele mai des folosite.- Dacă problema spune „până la 0” → folosește
while. - Dacă spune „primele N numere” → folosește
for. - Verifică codul pe hârtie cu exemple mici (ex: n=12).
int a = 17; // a este 17
int b = 5; // b este 5
int rezultat = a / b; // 17 / 5 = 3 (nu 3.4!)