Главная / Задания по информатике / Группа C / 27 (в 2015 - 27, в 2014 - С4) / 27 (в 2015 - 27, в 2014 - С4) Решение и комментарии

27 (в 2015 - 27, в 2014 - С4) Решение и комментарии

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

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

Программа читает обучающий блок и запоминает написание чисел и их значения. Допускается (как в приведенных ниже решениях на Паскале и Бейсике) построение полного «словаря» всех чисел от 1 до 99 или хранение только исходного обучающего блока (как в приведенном ниже втором варианте решения на Паскале).

Затем программа читает входные строки, не запоминая их в массиве. Если построен полный «словарь», прочитанная строка ищется в этом словаре как единое целое, если «словаря» нет, строка разбивается на слова (в подходящей строке их может быть не более двух), каждое слово ищется в данных обучающего блока. Числовое значение введенной строки равно сумме значений составляющих слов. Если какое-то из слов (или вся строка при поиске в полном «словаре») отсутствует в обучающих данных, введенное число не попадает в интервал от 1 до 99 и не должно учитываться. Дополнительная проверка вхождения числа в заданный интервал не нужна, так как все числа, которые удается распознать с помощью приведенного обучающего блока, автоматически в него попадают, но за наличие такой дополнительной проверки в программе оценка не снижается.

Ниже приведен пример решения на Алгоритмическом языке.

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

Допускаются решения, записанные на других языках программирования.

Решение на Алгоритмическом языке  можно скачать здесь

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

Оценка 4 балла:

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

Оценка 3 балла:

Программа работает верно, но размер используемой памяти зависит от длины используемой последовательности. Например, входные данные запоминаются в массиве или другой структуре данных (например, контейнер priority_queue, set или map в С++), размер которого соответствует числу N.

Допускается наличие от одной до трех синтаксических ошибок. Возможно, в принципиально верно организованном вводе данных есть ошибка, например, неверно выстроен порядок элементов в обучающем блоке (10 раньше 11).

Оценка 2 балла:

Программа работает в целом верно, эффективно или нет, но, в реализации алгоритма содержатся ошибки. Например, неверно организовано разбиение строки на слова.

Допускается наличие от одной до пяти синтаксических ошибок, описанных выше.

Оценка 1 балл:

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

 
 

4 комментария

  1. по-моему есть ошибка в последней конструкции
    если j<100 и mod(j, 2)=0 то
    количество:=количество+j
    все
    Здесь вместо j должно быть 1

  2. editor:

    Уже нет:) Это правила 2012 г. В демо-версии 2014 г. указано, что 4 балла можно ставить, если есть не более трех синтаксических ошибок.
    См.http://ege-go.ru/wp-content/uploads/2011/11/%D0%98%D0%9D%D0%A4_%D0%94%D0%95%D0%9C%D0%9E-2014.pdf
    Извини, что раньше не поправили.

  3. Юрий:

    А если моя программа правильно работает для любых входных данных произвольного размера и находит ответ, не сохраняя входные данные в массиве, но более одной синтаксической ошибки, то это уже 3 балла?

 
 

Ответить editor

 




 
 

 
 
Яндекс.Метрика