Если удалить из костюма элемент брюки, то он уже не будет костюмом. Если удалить из автомобиля элемент колёса, то без колёс автомобиль не поедит. Если удалить из компьютера элемент процессор, то он не будет больше компьютером. Если удалить из городской телефонной сети элемент электричество в городе, то сеть не будет ловить. Если удалить из школы элемент учитель, то это не будет школой. Если удалить из государства Президента, то кто будет править государством? Сущ.:Костюм, автомобиль, компьютер,школа. Несущ.:Городск. телеф. связь, государство.
// PascalABC.NET 3.3, сборка 1611 от 06.01.2018 // Внимание! Если программа не работает, обновите версию!
type Exams=record fam:string; nam:string; ball:=new integer[4]; end;
begin var Ls:=new List<Exams>; var b:Exams; // буфер ReadLines('marks.csv') .Foreach(t->begin var a:=t.ToWords(','); (b.fam,b.nam):=(a[0],a[1]); b.ball:=a[2:].Select(q->q.ToInteger).ToArray; Ls.Add(b) end); var n:=Ls.Count; // а var m:=Arr(0,0,0,0); var c:=Ls.Select(t->t.Ball); foreach var d in c do for var i:=0 to 3 do m[i]+=d[i]; Writeln('Средние по предметам: ', m[0]/n:0:1,', ',m[1]/n:0:1, ', ',m[2]/n:0:1,', ',m[3]/n:0:1); // б var max:=Ls.Select(t->t.Ball.Sum).Max; Writeln(NewLine,'Максимальная сумма ',max); // в Writeln(NewLine,'Учащиеся, набравшие максимальную сумму :'); Ls.Where(t->t.Ball.Sum=max).Select(t->t.fam+' '+t.nam) .OrderBy(t->t).Println(NewLine); // г Writeln(NewLine,'Получили хотя бы одну двойку:'); Ls.Where(t->t.Ball.Any(t->t=2)).Select(t->t.fam+' '+t.nam) .OrderBy(t->t).Println(NewLine) end.
Пример: Средние по предметам: 3.3, 3.3, 4.0, 2.0
Максимальная сумма 13
Учащиеся, набравшие максимальную сумму : Алескеров Имран Бармин Владимир
Получили хотя бы одну двойку: Александрова Маргарита Алескеров Имран Бармин Владимир
Замечание: В PascalABC.NET 3.3 динамические массивы реализованы с списков, поэтому было принято решение использовать именно список, позволяющий не знать заранее размера массива и добавлять элементы по мере необходимости. Если возникнет причуда иметь данные именно в массиве, перед end. добавьте строку var x:=Ls.ToArray; - она создаст из списка массив х.