на вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. в первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат: , где - строка, состоящая не более чем из 20 символов, - не больше чем 15 символов, - через пробел три целых числа, соответствующие оценкам по пяти бальной системе. и , а также и разделены одним пробелом. пример входной строки: Иванов Пётр 4 5 3. напишите программу, которая будет выводить на экран фамилии и мена трёх худших по среднему балу учеников. если среди остальных есть ученики, набравшие тот же средний , что и один из трёх худших, то следует вывести и их фамилии и имена требуется написать эффективную по времени и памяти программу для решения описанной задачи.
Если в Visual Studio, то вот вариант на языке C# (в консоли):
1)
Console.WriteLine("Как тебя зовут?");
string name = Console.ReadLine();
Console.WriteLine("Привет, " + name);
Console.ReadKey();
2)
Console.WriteLine("Как тебя зовут?");
string name = Console.ReadLine();
Console.WriteLine("Привет, " + name);
Console.WriteLine("Твоя фамилия?");
string surname = Console.ReadLine();
Console.WriteLine("Твоё отчество?");
string patronymic = Console.ReadLine();
Console.WriteLine("Привет, " + surname + " " + name + " " + patronymic);
Console.ReadKey();
Объяснение:
# Написать функцию date , принимающую 3 аргумента — день, месяц и год.
# Вернуть True, если такая дата есть в нашем календаре, и False иначе.
def is_year_leap(year):
"""
Принимает аргумент: порядковый номер года
Возвращает значение: если високосный год - True, иначе - False
"""
if year % 4 != 0:
return False
elif year % 100 == 0:
if year % 400 == 0:
return True
else:
return False
else:
return True
def date(day, month, year):
"""
Принимает аргументы: день, месяц, год
Возвращает значение: если дата правильная - True, иначе - False
"""
# Задаем количество дней в месяцах невисокосного года
set_months = {1: 31,
2: 28,
3: 31,
4: 30,
5: 31,
6: 30,
7: 31,
8: 31,
9: 30,
10: 31,
11: 30,
12: 31}
# Проверяем заданы ли верно год и месяц
if year > 0 and (month >= 1 and month <= 12):
# Изменяем количество дней для февраля в високосных годах
if month == 2 and is_year_leap(year) == True:
set_months[2] = 29
# Проверяем задан ли верно день
if day in range(1, set_months[month]+1):
return True
else:
return False
else:
return False
# Тест кейсы
print(date(31, 12, 2020)) # Правильная дата
print(date(1, 0, 2000)) # Месяц вне диапазона
print(date(1, 1, 0)) # Год вне диапазона
print(date(29, 2, 2000)) # 29 февраля високосный год
print(date(29, 2, 1900)) # 29 февраля невисокосный год
Объяснение: