
На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов
некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: <Фамилия> <Имя> <оценки>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки: Иванов Петр 4 5 3 Требуется написать программу,которая будет выводить на экран фамилии и имена худшего и лучшего по среднему баллу учеников. Заранее спасибо за помощь

Ответы на вопрос

// Внимание! Если программа не работает, обновите версию!
begin
var n:=ReadlnInteger;
if not n.InRange(10,100) then begin
Writeln('Ожидалось значение от 10 до 100');
exit
end;
var famh,namh,faml,naml:string;
var (hball,lball):=(-1.0,16.0);
loop n do begin
var a:=ReadlnString.ToWords;
var avg:=(a[2].ToReal+a[3].ToReal+a[4].ToReal)/3;
if avg>hball then (famh,namh,hball):=(a[0],a[1],avg)
else
if avg<lball then (faml,naml,lball):=(a[0],a[1],avg)
end;
Writeln;
Println('Лучший',famh,namh);
Println('Худший',faml,naml)
end.



Программа, которая будет выводить на экран фамилии и имена худшего и лучшего по среднему баллу учеников, может быть реализована следующим образом:
1. Считываем количество учеников N. 2. Создаем переменные для хранения информации о худшем и лучшем учениках: худший_средний_балл = 5 * N, лучший_средний_балл = 0, худший_ученик = "", лучший_ученик = "". 3. Для каждого ученика: - Считываем строку с информацией о фамилии, имени и оценках. - Разделяем строку на отдельные значения: фамилия, имя и оценки. - Вычисляем средний балл ученика, суммируя оценки и делая деление на 3. - Если средний балл ученика меньше худшего_среднего_балла, обновляем значения худшего_среднего_балла и худшего_ученика. - Если средний балл ученика больше лучшего_среднего_балла, обновляем значения лучшего_среднего_балла и лучшего_ученика. 4. Выводим на экран фамилии и имена худшего и лучшего учеников.
Пример кода на Python:
```python N = int(input("Введите количество учеников: ")) худший_средний_балл = 5 * N лучший_средний_балл = 0 худший_ученик = "" лучший_ученик = ""
for _ in range(N): строка_ученика = input("Введите фамилию, имя и оценки ученика через пробел: ") фамилия, имя, оценки = строка_ученика.split() оценки = list(map(int, оценки.split()))
средний_балл = sum(оценки) / len(оценки)
if средний_балл < худший_средний_балл: худший_средний_балл = средний_балл худший_ученик = фамилия + " " + имя
if средний_балл > лучший_средний_балл: лучший_средний_балл = средний_балл лучший_ученик = фамилия + " " + имя
print("Худший ученик:", худший_ученик) print("Лучший ученик:", лучший_ученик) ```
Примечание: В данном примере предполагается, что пользователь будет вводить данные в правильном формате, как указано в задании. Если формат ввода будет нарушен, программа может выдать ошибку.


Топ вопросов за вчера в категории Информатика








Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili