Дан целочисленный массив из элементов. Элементы массива могут принимать натуральные значения от до включительно. Опишите на одном из языков программирования алгоритм, который находит минимум среди элементов массива, не делящихся нацело на , а затем заменяет каждый элемент, не делящийся нацело на , на число, равное найденному минимуму. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строчки.
Например, для исходного массива из шести элементов:
программа должна вывести следующий массив
Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
CONST N ASINTEGER = 30DIM A (1TO N) ASLONGDIM I ASLONG, J ASLONG, K ASLONGFOR I = 1TO N
INPUT A(I)
NEXT I
...
END
В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в условии (например, в образце, записанном на Алгоритмическом языке).
Показать разбор
Содержание верного ответа и указания по оцениванию (допускаются иные формулировки ответа, не искажающие его смысла)
K = 10000FOR I = 1TO N
IF A(I) MOD6 <> 0AND A(I) < K THEN
K = A(I)
ENDIFNEXT I
FOR I = 1TO N
IF A(I) MOD6 <> 0THEN
A(I) = K
ENDIF
PRINT A(I)
NEXT I
Указания по оцениванию
Баллы
Общие указания. 1. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. 2. Эффективность алгоритма не имеет значения и не оценивается. 3. Допускается запись алгоритма на языке программирования, отличном от языков, приведённых в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на Алгоритмическом языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи. 4. Допускается формат вывода массива, отличный от указанного, например, в строчку.
Предложен правильный алгоритм, который изменяет исходный массив и выводит в качестве результата изменённый массив.
Не выполнены условия, позволяющие поставить балла. При этом предложено в целом верное решение, содержащее не более одной ошибки из числа следующих: 1) в цикле происходит выход за границу массива; 2) не инициализируется или неверно инициализируется минимум; 3) неверно осуществляется проверка делимости на ; 4) проверяется делимость на не элемента массива, а его индекса; 5) в сравнении с минимумом перепутаны знаки «больше» и «меньше»; 6) сравнение с минимумом производится для индекса элемента массива, а не для его значения; 7) неверно составлено логическое условие (например, используется or вместо and); 8) исходный массив не изменяется; 9) изменяются не все требуемые элементы (например, только первый или последний из них); 10) отсутствует вывод ответа, или ответ выводится не полностью (например, только один элемент массива ввиду пропущенного цикла вывода элементов или операторных скобок); 11) используется переменная, не объявленная в разделе описания переменных; 12) не указано или неверно указано условие завершения цикла; 13) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно.
Ошибок, перечисленных в п. , две или больше, или алгоритм сформулирован неверно (в том числе при отсутствии в явном или неявном виде цикла поиска нужного элемента).
Максимальный балл
В соответствии с Порядком проведения государственной итоговой аттестации по образовательным программам среднего общего образования (приказ Минобрнауки России от , зарегистрирован Минюстом России )
«61. По результатам первой и второй проверок эксперты независимо друг от друга выставляют баллы за каждый ответ на задания экзаменационной работы ЕГЭ с развёрнутым ответом...
62. В случае существенного расхождения в баллах, выставленных двумя экспертами, назначается третья проверка. Существенное расхождение в баллах определено в критериях оценивания по соответствующему учебному предмету. Эксперту, осуществляющему третью проверку, предоставляется информация о баллах, выставленных экспертами, ранее проверявшими экзаменационную работу».
Существенным считается расхождение в или более балла за выполнение любого из заданий . В этом случае третий эксперт проверяет ответы только на те задания, которые вызвали столь существенное расхождение.