Форум » Обработка числовых последовательностей » Оценивание решения №27 » Ответить

Оценивание решения №27

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

Ответов - 3

Поляков: mirage пишет: Т.е. что предпочтительнее в задачах такого типа? Или разницы в оценке нет? Решение с использованием массива строк будет оценено ниже на 1 или 2 балла (в зависимости от критериев, которые дадут экспертам), потому что оно неэффективно по памяти.

mirage: Спасибо! Извините, если неправильно оформил тему. Ещё несколько вопросов: В первой строке вводится количество последующих строк N. Есть такие задачи, в которых нет ограничения на N. Что делать, если нужно задать массив данных, ведь переменную в качестве индекса (array[1..n]) использовать нельзя? Использование в данном случае константы не противоречит : "На вход программе в первой строке подаётся количество чисел N"?

Поляков: mirage пишет: Есть такие задачи, в которых нет ограничения на N. Обычно в задачах есть ограничение на N, но очень большое. Использование в данном случае константы не противоречит Это не константа, так нельзя. Количество чисел неизвестно заранее, до запуска программы. Выход - не использовать массив для хранения данных. Все равно программа с массивом неэффективна по памяти.




полная версия страницы