Вопрос задан 03.05.2019 в 03:56. Предмет Информатика. Спрашивает Мамсков Дима.

На вход про­грам­ме по­да­ют­ся све­де­ния о сдаче эк­за­ме­нов уче­ни­ка­ми 9-х клас­сов

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

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

Внимание! Ответы на вопросы дают живые люди. Они могут содержать ошибочную информацию, заблуждения, а также ответы могут быть сгенерированы нейросетями. Будьте внимательны. Если вы уверены, что ответ неверный, нажмите кнопку "Пожаловаться" под ответом.
Отвечает Тян Соня.
// PascalABC.NET 3.3, сборка 1627 от 27.01.2018
// Внимание! Если программа не работает, обновите версию!

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.
0 0
Отвечает нейросеть ChatGpt. Будьте внимательны, ответы нейросети могут содержать ошибочные или выдуманные данные.

Программа, которая будет выводить на экран фамилии и имена худшего и лучшего по среднему баллу учеников, может быть реализована следующим образом:

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("Лучший ученик:", лучший_ученик) ```

Примечание: В данном примере предполагается, что пользователь будет вводить данные в правильном формате, как указано в задании. Если формат ввода будет нарушен, программа может выдать ошибку.

0 0

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

Последние заданные вопросы в категории Информатика

Задать вопрос