Представлю 3 программы два с массивом и один без массива
1)var a:array [1..10] of integer;
i,n,k5,k2:integer;
begin
writeln('введите количество экзаменов');
read(n);
for i:=1 to n do begin
writeln('введите оценку за экзамен');
readln(a[i]);
end;
for i:=1 to n do begin
if a[i]=5 then k5:=k5+1;
if a[i]=2 then k2:=k2+1;
end;
writeln('количество пятерок ',k5);
writeln('количество двоек ',k2);
end.
2)var a:array [1..10] of integer;
i,n,k5,k2:integer;
begin
writeln('введите количество экзаменов');
read(n);
for i:=1 to n do begin
writeln('введите оценку за экзамен');
readln(a[i]);
if a[i]=5 then k5:=k5+1;
if a[i]=2 then k2:=k2+1;
end;
writeln('количество пятерок ',k5);
writeln('количество двоек ',k2);
end.
3)var a,i,n,k5,k2:integer;
begin
writeln('введите количество экзаменов');
read(n);
if n<=10 then begin
for i:=1 to n do begin
writeln('введите оценку за экзамен');
readln(a);
if a=5 then k5:=k5+1;
if a=2 then k2:=k2+1;
end;
writeln('количество пятерок ',k5);
writeln('количество двоек ',k2);
end;
end.
0⁶1⁵1⁴1³0²1¹1⁰₂ = 0 · 2⁶ + 1 · 2⁵ + 1 · 2⁴ + 1 · 2³ + 0 · 2² + 1 · 2¹ + 1 · 2⁰ = 0 + 32 + 16 + 8 + 0 + 2 + 1 = 59₁₀
10 → 259 / 2 = 29 (1), где число в скобках - это остаток
29 / 2 = 14 (1)
14 / 2 = 7 (0)
7 / 2 = 3 (1)
3 / 2 = 1 (1)
1 / 2 = 1 (1), нельзя поделить 1 на 2 без получения дробной части, поэтому в остатке остается та единица, которую мы делили на 2
Снизу вверх восстанавливаем цепочку двоичного кода:
111011₂
Объясняю, почему мы не получили нолик вначале.. Нолик добавляется в запись в основном, чтобы дополнить двоичный код до 8 бит, но в твоем случае это 7 бит. Это ни на что не влияет.