Var a,b,p,n,x,i:integer; begin writeln('Сколько примеров будешь решать:'); readln(n); for i:=1 to n do begin a:=random(10)+1; b:=random(10)+1; write('Сколько будет ',a,'+',b,'='); readln(x); if x=a+b then begin p:=p+1; writeln('Правильно'); end else writeln('Неверно'); end; writeln('Число правильных ответов: ',p); if p=n then writeln('Отлично, ты превосходно знаешь арифметику'); if (p<n) and (p/n>0.75) then writeln('Хорошо, ты неплохо знаешь арифметику'); if (p/n<=0.75) and (p/n>0.5) then writeln('Удовлетворительно, ты средне знаешь арифметику'); if (p/n<=0.5) and (p>0) then writeln('Плохо, ты не знаешь арифметику'); if p=0 then writeln('Отвратительно, ты абслютно не знаешь арифметику'); end.
Можно сделать, чтобы не только на сложение, а на все 4 действия.
1. 1411₁₀ → 583₁₆ → 10110000011₂ → 2603₈
2.
141₈ = 97₁₀
7А2₁₆ = 1954₁₀
100101₂ = 37₁₀
Объяснение:
1.
1411 / 16 = 88 + остаток 3
88 / 16 = 5 + остаток 8
5 / 16 = 0 + остаток 5
записываем остатки снизу вверх
1411₁₀ = 583₁₆
переводим каждую цифру в тетраду
5 - 0101
8 - 1000
3 - 0011
записываем по порядку цифр, у первой цифры отбрасываем 0 стоящие слева
583₁₆ = 10110000011₂
раскладываем на триады начиная с конца, если цифр не хватает приписываем 0 слева
011 - 3
000 - 0
110 - 6
010 - 2
записываем снизу вверх
10110000011₂ = 2603₈
2.
141₈ = 1 * 8² + 4 * 8¹ + 1 * 8⁰ = 1 * 64 + 4 * 8 + 1 * 1 = 64 + 32 + 1 = 97₁₀
7А2₁₆ = 7 * 16² + А * 16¹ + 2 * 16⁰ = 7 * 256 + 10 * 16 + 2 * 1 = 1792 + 160 + 2 = 1954₁₀
100101₂ = 1 * 2⁵ + 0 * 2⁴ + 0 * 2³ + 1 * 2² + 0 * 2¹ + 1 * 2⁰ = 32 + 4 + 1 = 37₁₀
Триады:
0 - 000
1 - 001
2 - 010
3 - 011
4 - 100
5 - 101
6 - 110
7 - 111
Тетрады:
0 - 0000
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
6 - 0110
7 - 0111
8 - 1000
9 - 1001
А - 1010
В - 1011
С - 1100
D - 1101
E - 1110
F - 1111
В качестве цифр шестнадцатеричной системы счисления обычно используются цифры от 0 до 9 и латинские буквы от A до F.
A = 10₁₀ В = 11₁₀ С = 12₁₀ D = 13₁₀ Е = 14₁₀ F = 15₁₀
begin
writeln('Сколько примеров будешь решать:');
readln(n);
for i:=1 to n do
begin
a:=random(10)+1;
b:=random(10)+1;
write('Сколько будет ',a,'+',b,'=');
readln(x);
if x=a+b then
begin
p:=p+1;
writeln('Правильно');
end
else writeln('Неверно');
end;
writeln('Число правильных ответов: ',p);
if p=n then writeln('Отлично, ты превосходно знаешь арифметику');
if (p<n) and (p/n>0.75) then writeln('Хорошо, ты неплохо знаешь арифметику');
if (p/n<=0.75) and (p/n>0.5) then writeln('Удовлетворительно, ты средне знаешь арифметику');
if (p/n<=0.5) and (p>0) then writeln('Плохо, ты не знаешь арифметику');
if p=0 then writeln('Отвратительно, ты абслютно не знаешь арифметику');
end.
Можно сделать, чтобы не только на сложение, а на все 4 действия.