Задание:
Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 100 – баллы учащихся выпускного класса за итоговый тест по информатике. Опишите на русском языке или на одном из языков программирования алгоритм, который позволяет найти и вывести количество учащихся, чья оценка за тест выше средней оценки в классе. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.
const N=30;
var a: array [1..N] of integer;
i, j: integer;
s: real;
begin
for i:=1 to N do readln(a[i]);
...
end.
Решение:
Недостающий фрагмент:
s:=0;
for i:=1 to N do begin
s:=s + A[i];
end;
j:=0; s:=s/30;
for i:=1 to N do
if A[i] > s then
j:=j+1;
Writeln(j);
Идея программы:
* Изначально программа находит среднее значение, чтобы было с чем сравнивать. Переменной s задаем начальное значение 0.
* Далее в цикле(For) из 30 элементов в переменную S собираем сумму всех элементов.
* Задаем начальное значение для переменной j, в которой программа будем считать количество учащихся, чья оценка за тест выше средней оценки в классе. Переменную S меняем на новое значение, то есть присваиваем среднее по классу (общую сумму баллов делим на количество учащихся).
* Еще в одном цикле из 30 элементов программа проверяет условие(if), если балл выше средней, тогда мы увеличиваем переменную J на один.
* В конце на экран выводится количество учащихся, чей балл выше средней в классе.