Срочнооо!! задание такое: в класее 20 учеников написали диктант, нужно создать програму...

0 голосов
15 просмотров

Срочнооо!!
задание такое: в класее 20 учеников написали диктант, нужно создать програму оторая вычислит количество 2,3,4,5
я написал вот но она покацывает ошибку среда програмирования PASCAL ABC.NET
program N_0547847;
var b, c, d, f, i:integer;
var a: array [1..20] of integer;
begin;
randomize;
a[i]:=random (5);
if a[i]=2 then
b:=a[i];
writeln('количество двоек =',b);
if a[i]= 3 then
c:=a[i];
writeln('количество троек =',c);
if a[i]=4 then
d:=a[i];
writeln('количество четверок =',d);
if a[i]=5 then
f:=a[i];
writeln('количество пятёрок =',f);
end.


Информатика (203 баллов) | 15 просмотров
Дан 1 ответ
0 голосов

Честно, не поняла ваш код вообще. Почему нет цикла? Предлагаю свое решение:
1)Cначала заполняем массив случайными числами от 2 до 5 (включительно)
2)Потом выводим его (Для проверки)
3) Потом считаем оценки. Но сначала нужно обнулить переменные( В самом начале это делали), а то получится кака (:

program N_0547847;
var
    b, c, d, f, i:integer;
    a: array [1..20] of integer;
begin;
randomize;
b:=0; c:=0; d:=0; f:=0;
for i:=1 to 20 do begin
  a[i]:=random(4)+2; 
  write(a[i],' '); end; 
writeln;
for i:=1 to 20 do begin
    if a[i]=2 then  b:=b+1;
    if a[i]=3 then  c:=c+1;
    if a[i]=4 then  d:=d+1;
    if a[i]=5 then   f:=f+1;
end;
writeln('Двоек: ', b); 
writeln('Троек: ', c); 
writeln('Четверок: ',d);
writeln('Пятерок: ',f);
end.   

(740 баллов)