var
a: array [1..25] of integer;
i,k: integer;
s: real;
begin
s: =0;
for i: =1 to 25 do
begin
write ('a[',i,'] = ');
readln(a[i]);
s: =s+a[i];
end;
s: =s/25;
k: =0;
for i: =1 to 25 do
if a[i]> s then k: =k+1;
writeln ('kol-vo: ',k);
readln;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Составить алгоритм, написать программу, которая определяет количество учеников в классе из 25 человек, чей рост превышает средний. исходные данные должны вводиться во время работы программы.
пишу вторым номером, поэтому постараюсь на качество.
нам нужно найти сначала сумму всего роста, потом поделить его на общее количество учеников. потом сопоставить каждый элемент со средним числом и высчитать количество высоких учеников.
будет это выглядить так:
uses crt; //если используете паскаль abc, это строка нужна для удобстваvar a: array [1..25] of real; i,otvet: integer; h,s: real;
//объявляем переменные. массив,среднее число и суммарный рост - любые числа. сам ответ - целые числаbegin for i: =1 to 25 do begin writeln('введите рост ученика номер ',i); readln(a[i]);
//здесь мы вводим рост с клавиатуры end; for i: =1 to 25 do s: =s+a[i];
//находим суммарный рост всех учеников h: =s/25; // делим на их количество. теперь переменная h - это средний рост for i: =1 to 25 do if a[i]> h then otvet: =otvet+1; // а здесь проверяем каждый элемет массива. если он выше значения среднего роста, мы прибавляем единицу к переменной "otvet". там мы считаем количество высоких уч. writeln('средний рост в классе равен ',h); writeln('количество высоких учеников в классе равно ',otvet);
//вывод данныхend.