Set 1 – Tipuri de date întregi și operări aritmetice
#include <iostream>
using namespace std;
int main() {
int a = 10, b = 3;
cout << "Rezultat 1: " << a / b << endl;
cout << "Rezultat 2: " << a % b << endl;
cout << "Rezultat 3: " << (b * 2) + a % b << endl;
return 0;
}
📌 Întrebări pentru elevi:
1. Ce se va afișa la a / b?
2. Care este restul împărțirii a % b?
3. Care este rezultatul expresiei (b * 2) + a % b?
Răspunsuri așteptate:
1. 10 / 3 = 3 (deoarece este împărțire între întregi)
2. 10 % 3 = 1
3. (3 * 2) + 1 = 7
Set 2 – Operatori cu tipuri reale (float, double)
#include <iostream>
using namespace std;
int main() {
float x = 5.0, y = 2.0;
cout << "Rezultat 1: " << x / y << endl;
cout << "Rezultat 2: " << x + 1.5 * y << endl;
cout << "Rezultat 3: " << (int)x / (int)y << endl;
return 0;
}
📌 Întrebări pentru elevi:
1. Care este rezultatul lui x / y?
2. Ce se întâmplă la x + 1.5 * y?
3. Ce rezultat obținem la (int)x / (int)y și de ce?
Răspunsuri așteptate:
1. 5.0 / 2.0 = 2.5
2. 5.0 + (1.5 * 2.0) = 5.0 + 3.0 = 8.0
3. (int)5 / (int)2 = 5 / 2 = 2 (deoarece conversia la int elimină partea zecimală)
Set 3 – Tipul char și operații logice
#include <iostream>
using namespace std;
int main() {
char c1 = 'A', c2 = 'B';
bool result1 = c1 < c2;
bool result2 = (c1 + 1) == c2;
bool result3 = c1 == 65;
cout << "Rezultat 1: " << result1 << endl;
cout << "Rezultat 2: " << result2 << endl;
cout << "Rezultat 3: " << result3 << endl;
return 0;
}
📌 Întrebări pentru elevi:
1. Ce valoare are c1 < c2?
2. Explicați rezultatul (c1 + 1) == c2.
3. De ce c1 == 65 este adevărat?
Răspunsuri așteptate:
1. true (1), deoarece 'A' are codul ASCII 65, iar 'B' are codul 66.
2. true (1), pentru că c1 + 1 devine 'B', iar c2 este deja 'B'.
3. true (1), pentru că 'A' are codul ASCII 65.
Set 4 – Bool și conversii de date
#include <iostream>
using namespace std;
int main() {
bool b1 = true, b2 = false;
int num = 7;
cout << "Rezultat 1: " << (b1 && (num > 5)) << endl;
cout << "Rezultat 2: " << (b2 || (num == 10)) << endl;
cout << "Rezultat 3: " << (!b1 + b2) << endl;
return 0;
}
📌 Întrebări pentru elevi:
1. Ce rezultat obținem la (b1 && (num > 5))?
2. Ce valoare are (b2 || (num == 10))?
3. Explicați rezultatul (!b1 + b2).
Răspunsuri așteptate:
1. true (1), pentru că b1 este true și num > 5 este adevărat.
2. false (0), pentru că b2 este false și num == 10 este fals.
3. (!b1 + b2) = (false + false) = 0, deoarece !b1 inversează valoarea true la
false.