Решение: Переведём числа




Скачать 419.4 Kb.
НазваниеРешение: Переведём числа
страница4/4
Дата20.09.2012
Размер419.4 Kb.
ТипРешение
1   2   3   4



C4

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: <Фамилия> <Инициалы> <номер школы>, где <Фамилия> – строка, состоящая не более чем из 20 символов, <Инициалы> – строка, состоящая из 4-х символов (буква, точка, буква, точка), <номер школы> – не более чем двузначный номер. <Фамилия> и <Инициалы>, а также <Инициалы> и <номер школы> раз-делены одним пробелом. Пример входной строки:

Иванов П.С. 57

Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из каких школ было меньше всего участников олимпиады (но из этих школ был хотя бы один участник).

Ответ:

Содержание верного ответа и указания по оцениванию

(допускаются иные формулировки ответа, не искажающие его смысла)

Программа верно читает входные данные, не запоминая их все, а сразу подсчитывая в массиве, хранящем 99 целых чисел согласно номерам школ, количество участников олимпиады из каждой школы. Затем с использованием ненулевых элементов этого массива ищется минимальный элемент, затем распечатываются номера соответствующих школ. Баллы начисляются только за программу, которая решает задачу хотя бы для частного случая.

Указания по оцениванию

Баллы

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

var nc:array[1..99] of integer;

p:1..99;

c:char;

i, k, N, min: integer;

begin

readln(N);

for i:=0 to 99 do nc[i]:=0;

for i:=1 to N do

4

begin

repeat

read(c)

until c=’ ’; {считана фамилия}

repeat

read(c)

until c=’ ’; {считаны инициалы}

readln(p);

nc[p]:=nc[p]+1;

end;

min:=N;

for i:=1 to 99 do

if nc[i]>0 then

begin

if nc[i]
end;

for i:=1 to 99 do

if nc[i]=min then

writeln(i);

readln

end.

Программа работает верно, но содержит вложенные циклы (oт 1 до N и от 1 до 99) или обрабатывает каждую школу явным образом (99 операторов IF или оператор CASE, содержащий 99 вариантов номеров, в бланке ответа допускаются многоточия). Возможно, сохраняет все номера в массиве для каждого участника олимпиады. Допускается наличие от одной до трех различных синтаксических ошибок: пропущен или неверно указан знак пунктуации, неверно написано зарезервированное слово языка программирования, не описана или неверно описана переменная, применяется операция, недопустимая для соответствующего типа данных.

3

Программа работает в целом верно, но, возможно, некорректно обрабатывает номера школ, ученики которых во входных данных отсутствуют. Возможно, в реализации алгоритма содержатся 1–2 ошибки (используется знак “<” вместо “>”, “or” вместо “and”, выражение на 1 отличается от верного и т.п.). Допускается наличие от одной до пяти различных синтаксических ошибок.

2

Программа неверно работает при некоторых входных данных и, возможно, содержит ошибку в алгоритме нахождения минимума. Допускается наличие от одной до семи различных синтаксических ошибок.

1

Задание не выполнено или выполнено неверно

0

Максимальный балл

4



1   2   3   4

Похожие:

Решение: Переведём числа iconРешение: выделим в заданных больших числах степени двойки и переведем размер файла в биты, чтобы «согласовать»
Тема Определение скорости передачи информации при заданной пропускной способности канала
Решение: Переведём числа iconРешение текстовых задач на проценты, на движение, на работу и т д
Рациональные числа и действия с ними (обыкновенные и десятичные дроби; положительные и отрицательные числа)
Решение: Переведём числа iconРешение. По условию задачи имеем
...
Решение: Переведём числа iconРешение. В зависимости от направления обхода
Можно ли расставить 5 целых чисел по кругу так, чтобы для любого числа от 1 до 5 среди расставленных чисел нашлись бы три последовательных...
Решение: Переведём числа iconУрок по теме: "Формулы. Уравнения. Решение задач"
Дидактический материал: индивидуальные карточки у каждого учащегося “Решение уравнений”, “Квадрат и куб числа”, “Формулы”
Решение: Переведём числа iconПрограмма вступительных испытаний
Натуральные числа. Признаки делимости. Нок и нод. Рациональные числа. Действительные числа. Арифметические операции с действительными...
Решение: Переведём числа iconРешение варианта демо версии егэ 2013 года (части a и B)
Решение: Надо помнить, что 2k-1 это в двоичном представлении k единиц. Так как, 255=256 – 1=28 – 1, то в двоичной записи десятичного...
Решение: Переведём числа icon«Понятие квадратного корня из неотрицательного числа» (2 ч)
Иметь представление, как извлекать квадратные корни из неотрицательного числа. Знать действительные и иррациональные числа. Уметь...
Решение: Переведём числа iconПояснительная записка Данный элективный курс «Азбука подготовки к гиа» рассчитан на 34 часа и является предметно-ориентированным для 8-9 классов
В связи с сокращением количества часов уроков математики на решение некоторых типов задач не хватает времени: задачи содержащие модуль...
Решение: Переведём числа iconРезультативность обучения математике в 2011/2012 учебном году
Умение читать и записывать многозначные числа, сравнивать натуральные числа, строить и измерять отрезки, чертить координатный луч...
Разместите кнопку на своём сайте:
Библиотека


База данных защищена авторским правом ©lib.znate.ru 2014
обратиться к администрации
Библиотека
Главная страница