//PascalABC.NET 3.0, сборка 1088begin var a:=ReadLines('infile.txt').ToArray; var n:=a.Length; Writeln('*** Исходная информация ***'); // фамилия, имя, возраст, рост, вес a.PrintLn(NewLine); Writeln('*** Задание 1 ***'); var sves:real:=0; var srost:real:=0; foreach var s in a do begin srost+=StrToFloat(s.ToWords.ElementAt(3)); sves+=StrToFloat(s.ToWords.ElementAt(4)) end; Writeln('Средний рост равен ',srost/n:5:1); Writeln('Средний вес равен ',sves/n:4:1); srost/=n; sves/=n; Writeln('*** Задание 2 ***'); var f2:=OpenWrite('rost.txt'); foreach var s in a do begin var ss:=s.ToWords; var rost:=StrToFloat(ss.ElementAt(3)); if rost>srost then begin var s0:=ss.Take(3).ToArray; var s1:=s0[0]+' '+s0[1]+', '+s0[2]; Writeln(s1); Writeln(f2,s1) end end; f2.Close; Writeln('*** Задание 3 ***'); f2:=OpenWrite('ves.txt'); foreach var s in a do begin var ss:=s.ToWords; var ves:=StrToFloat(ss.ElementAt(4)); if ves<sves then begin var s0:=ss.Take(3).ToArray; var s1:=s0[0]+' '+s0[1]+', '+s0[2]; Writeln(s1); Writeln(f2,s1) end end; f2.Closeend.
Тестовое решение:*** Исходная информация ***Иванов Игорь 14 158 47.4Петров Павел 14 161 58.3Козлов Кирилл 15 160 60.3Сидорова Мария 14 156 45.9Тяпкина Наталья 15 158 46Ляпкин Алексей 15 161 58.6Мамочкин Константин 14 157 52.8*** Задание 1 ***Средний рост равен 158.7Средний вес равен 52.8*** Задание 2 ***Петров Павел, 14Козлов Кирилл, 15Ляпкин Алексей, 15*** Задание 3 ***Иванов Игорь, 14Сидорова Мария, 14Тяпкина Наталья, 15