Объяснение:
1) условный оператор
2)
if (выражение) {
набор команд
}
else {
набор команд
}
3)
if (выражение) {
набор команд
}
4) ==, !=, <=, >=, <, >
5) Для записи нескольких условий в один оператор используются знаки && (и) || (или), выражение в условном операторе обязано быть записано в скобки. Ну и синтаксис дан в п. 2 и 3, а если в блоке команд одна команда, то фигурные скобки можно опустить.
6) Работа оператора if начинается с проверки условий, далее возможно 2 варианта: все условие истинно или условие ложно, при этом стоит отметить, что если у вас условный оператор с && и первое условие ложно, то идёт прекращение проверок. Аналогично и с ||, если первое условие истинно, то дальше нет смысла проверять.
В случае, если выражение в условном операторе истинно, то далее идёт переход к командам внутри блока if и идёт их исполнение, после чего идёт скачок через блок else, если он имеется, и исполнение следующих команд.
Если условие ложно и имеется else, то совершается скачок к командам в блоке else и идёт их исполнение, после чего идёт исполнение команд после условного оператора. Если блока else нет, то совершается выход из условного оператора и исполнение команд, идущих за ним.
var
ar: array of integer;
n, k2, k3, k4, k5, i: integer;
r: real;
begin
write('Сколько учеников?');
readln(n);
setlength(ar, n);
writeln('Введите оценки:');
for i := 0 to n - 1 do
begin
readln(ar[i]);
case ar[i] of
2: inc(k2);
3: inc(k3);
4: inc(k4);
5: inc(k5);
else
writeln('Не оценка');
exit;
end;
end;
writeln('2:', k2);
writeln('3:', k3);
writeln('4:', k4);
writeln('5:', k5);
write('Успеваемость=', (k3 + k4 + k5) / n * 100:0:1);
end.
Пример ввода:
Сколько учеников?6
Введите оценки:
2
2
3
4
5
5
Пример вывода:
2:2
3:1
4:1
5:2
Успеваемость=66.7