Новая Школа - онлайн-школа подготовки к ЕГЭ
Информатика · 9 класс Задача №2836842
А
Аноним
25 февраля 2025 09:25 · публичный вопрос
А
Аноним

Задача 1 Дано число N, затем 2N записей: фамилия и имя ученика в одной строке, оценка во второй. В последней строке записано число grade. Создай и выведи массив с фамилиями и…

Запрос пользователя

Задача 1 Дано число N, затем 2N записей: фамилия и имя ученика в одной строке, оценка во второй. В последней строке записано число grade. Создай и выведи массив с фамилиями и именами всех учеников, получивших оценку grade. Ввод Вывод 3 Петров Пётр 4 Александрова Александра 5 Сонина Софья 4 4 [‘Петров Пётр’, ‘Сонина Софья’] 3 Петров Пётр 4 Александрова Александра 5 Сонина Софья 4 3 []

Ответ нейросети
25 февраля 2025 09:25

Для решения данной задачи мы можем использовать язык программирования Python. Давайте разберем процесс шаг за шагом.

Шаг 1: Понимание задачи

У нас есть следующее:

  1. N — количество учеников.
  2. Затем идут 2N записей:
    • В первой строке записаны фамилия и имя ученика.
    • Во второй строке — оценка этого ученика.
  3. В последней строке указано значение grade, для которого мы хотим получить список учеников, получивших эту оценку.

Шаг 2: Алгоритм решения

  1. Считываем число N.
  2. Создаём пустой массив для имен и фамилий.
  3. Для каждого ученика считываем данные: фамилию и имя, а затем оценку. Если оценка равна grade, добавляем фамилию и имя ученика в массив.
  4. Выводим массив.

Шаг 3: Пример реализации на Python

# Считываем количество учеников
N = int(input())

# Создаем пустой список для учеников
students = []

# Считываем данные учеников
for _ in range(N):
    # Считываем фамилию и имя
    name = input().strip()
    # Считываем оценку
    grade = int(input().strip())
    # Если оценка совпадает с искомой, добавляем в список
    if grade == target_grade:
        students.append(name)

# Считываем целевую оценку
target_grade = int(input().strip())

# Выводим результат
print(students)

Шаг 4: Пример выполнения

Для входных данных:

3
Петров Пётр
4
Александрова Александра
5
Сонина Софья
4
4

Процесс будет следующим:

  1. Программа считывает число 3 — это означает, что данных будет 6 (3 ученика с 2 записями).
  2. Вводятся фамилия с именем и оценка для каждого ученика.
  3. Поскольку целевая оценка задана 4, программа проверит и найдет, что «Петров Пётр» и «Сонина Софья» получили эту оценку.
  4. Выводит ['Петров Пётр', 'Сонина Софья'].

Для второго случая:

3
Петров Пётр
4
Александрова Александра
5
Сонина Софья
4
3

Так как ни один из учеников не получил оценку 3, программа вернет [].

Заключение

Таким образом, мы смогли решить задачу с использованием базовых операций ввода-вывода, условных операторов и списков в Python. Если у вас есть дополнительные вопросы или нужно что-то уточнить, спрашивайте!