Данные о росте учащихся класса хранятся в виде массива. рост мальчиков кодируется знаком минус, а рост девочек знаком плюс. составьте блок-схему и программу определения среднего роста девочек и мальчиков одного класса. в классе учится п учеников.
Const n=10; var a: array[1..n] of integer; i, km, kf, tm, tf: integer; sm, sf: real; begin for i:=1 to n do readln(a[i]); //считываем массив km:=0; kf:=0; tm:=0; tf:=0; for i:=1 to n do //находим суммарный рост мальчиков //и девочек, и количество if a[i] < 0 then begin km:=km+1; tm:=tm + abs(a[i]); end else begin kf:=kf+1; tf:=tf + a[i]; end; //находим среднее арифметическое if km > 0 then sm:=tm/km; if kf > 0 then sf:=tf/kf; writeln('Средний рост мальчиков: ', sm); writeln('Средний рост девочек: ', sf); end.
// PascalABC.NET 3.0, сборка 1128 begin var n:=ReadInteger('Количество учеников: '); Writeln('Вводите рост учеников (девочек - с минусом)'); var a:=ReadArrInteger(n); WriteFormat('Средний рост мальчиков {0}, девочек {1}', a.Where(x->x>0).Average,-a.Where(x->x<0).Average) end.
Тестовое решение: Количество учеников: 5 Вводите рост учеников (девочек - с минусом) 160 -156 162 -160 -158 Средний рост мальчиков 161, девочек 158
var
a: array[1..n] of integer;
i, km, kf, tm, tf: integer;
sm, sf: real;
begin
for i:=1 to n do
readln(a[i]); //считываем массив
km:=0; kf:=0; tm:=0; tf:=0;
for i:=1 to n do
//находим суммарный рост мальчиков
//и девочек, и количество
if a[i] < 0 then
begin
km:=km+1;
tm:=tm + abs(a[i]);
end
else
begin
kf:=kf+1;
tf:=tf + a[i];
end;
//находим среднее арифметическое
if km > 0 then
sm:=tm/km;
if kf > 0 then
sf:=tf/kf;
writeln('Средний рост мальчиков: ', sm);
writeln('Средний рост девочек: ', sf);
end.
begin
var n:=ReadInteger('Количество учеников: ');
Writeln('Вводите рост учеников (девочек - с минусом)');
var a:=ReadArrInteger(n);
WriteFormat('Средний рост мальчиков {0}, девочек {1}',
a.Where(x->x>0).Average,-a.Where(x->x<0).Average)
end.
Тестовое решение:
Количество учеников: 5
Вводите рост учеников (девочек - с минусом)
160 -156 162 -160 -158
Средний рост мальчиков 161, девочек 158