Решить в паскале! в файле marks.csv записаны сведения о результатах экзаменов в 9-х классах района. всего в списке 1000 записей, каждая из которых содержит • фамилию • имя • отметки по четырем предметам (, языку, и ). все элементы в каждой строке разделены запятыми. напишите программу, которая читает данные из файла в массив структур (записей) и выводит на экран: а) средний в районе по каждому предмету; б) максимальную сумму , полученных учащимися; в) список учащихся (фамилии и имена), набравших эту максимальную сумму, в алфавитном порядке; г) количество учащихся, получивших хотя бы одну отметку «2». пример данных в файле александрова,маргарита,3,3,4,2 алескеров,имран,3,4,4,2 бармин,владимир,4,3,4,2
210
281
Ответы на вопрос:
// 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=(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; - она создаст из списка массив х.
Объяснение:
1.
1) 1 байт = 8 бит
2) 512 бит : 8 = 64 байт
2.
1) 1024 байт * 8 = 8192 бит
3.
4096 Мбайт * 1024 = 4194304 Кбайт
4.
512 байт * 8 = 4096 бит
Реши свою проблему, спроси otvet5GPT
-
Быстро
Мгновенный ответ на твой вопрос -
Точно
Бот обладает знаниями во всех сферах -
Бесплатно
Задай вопрос и получи ответ бесплатно
Популярно: Информатика
-
лунный320.07.2020 10:33
-
Алёнушка4306.05.2023 05:06
-
Coldflame726.04.2021 10:32
-
LegendYT17.03.2021 01:40
-
matsakov9901.04.2021 22:34
-
dolgikof29.05.2020 08:53
-
dizi1724.03.2022 12:37
-
туманкакан13.06.2021 00:54
-
KellenPack02.01.2021 12:32
-
stefanikolaeva01.02.2022 00:18
Есть вопросы?
-
Как otvet5GPT работает?
otvet5GPT использует большую языковую модель вместе с базой данных GPT для обеспечения высококачественных образовательных результатов. otvet5GPT действует как доступный академический ресурс вне класса. -
Сколько это стоит?
Проект находиться на стадии тестирования и все услуги бесплатны. -
Могу ли я использовать otvet5GPT в школе?
Конечно! Нейросеть может помочь вам делать конспекты лекций, придумывать идеи в классе и многое другое! -
В чем отличия от ChatGPT?
otvet5GPT черпает академические источники из собственной базы данных и предназначен специально для студентов. otvet5GPT также адаптируется к вашему стилю письма, предоставляя ряд образовательных инструментов, предназначенных для улучшения обучения.