Дан целочисленный массив из 20 элементов. Элементы массива могут
принимать целые значения от −10 000 до 10 000 включительно.
Опишите
на естественном языке или на одном из языков программирования алгоритм,
позволяющий найти и вывести количество пар элементов массива, в которых
хотя бы одно число делится на 3. В данной задаче под парой подразумевается
два подряд идущих элемента массива.
Например, для массива из пяти элементов: 6; 2; 9; −3; 6 – ответ: 4.
Исходные данные объявлены так, как показано ниже на примерах для
некоторых языков программирования и естественного языка. Запрещается
использовать переменные, не описанные ниже, но разрешается
не использовать некоторые из описанных переменных.
CONST N ASINTEGER = 20DIM A (1TO N) ASINTEGERDIM I ASINTEGER,
J ASINTEGER,
K ASINTEGERFOR I = 1TO N
INPUT A(I)
NEXT I
...
END
В качестве ответа Вам необходимо привести фрагмент программы (или
описание алгоритма на естественном языке), который должен находиться
на месте многоточия. Вы можете записать решение также на другом языке
программирования (укажите название и используемую версию языка
программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом
случае Вы должны использовать те же самые исходные данные
и переменные, какие были предложены в условии (например, в образце,
записанном на естественном языке).
Показать разбор
Содержание верного ответа и указания по оцениванию
(допускаются иные формулировки решений, приводящие к правильному результату)
k := 0;
for i := 1to N-1doif (a[i] mod3=0) or (a[i+1] mod3=0) then
inc(k);
writeln(k);
Указания по оцениванию
Общие указания
В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы.
Эффективность алгоритма не имеет значения и не оценивается.
Допускается запись алгоритма на языке программирования, отличном от языков, перечисленных в условии. В этом случае должны использоваться переменные, аналогичные описанным в условии. Если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования; при этом количество переменных и их идентификаторы должны соответствовать условию задачи.
Порядок назначения третьего эксперта
В соответствии с Порядком проведения государственной итоговой
аттестации по образовательным программам среднего общего образования
(приказ Минобрнауки России от 26.12.2013 № 1400 зарегистрирован
Минюстом России 03.02.2014 № 31205)
«61. По результатам первой и второй проверок эксперты независимо
друг от друга выставляют баллы за каждый ответ на задания
экзаменационной работы ЕГЭ с развёрнутым ответом...
62. В случае существенного расхождения в баллах, выставленных
двумя экспертами, назначается третья проверка. Существенное расхождение
в баллах определено в критериях оценивания по соответствующему
учебному предмету.
Эксперту, осуществляющему третью проверку, предоставляется
информация о баллах, выставленных экспертами, ранее проверявшими
экзаменационную работу».
Если расхождение составляет 2 и более балла за выполнение любого из
заданий, то третий эксперт проверяет ответы только на те задания, которые
вызвали столь существенное расхождение.
Критерии оценки
2 баллаПредложен правильный алгоритм, выдающий в качестве результата
верное значение
1 баллНе выполнены условия, позволяющие поставить 2 балла. Предложено в целом верное решение, содержащее не более одной
ошибки из числа следующих: 1. в цикле происходит выход за границу массива (например,
используется цикл от 1 до N); 2. не инициализируется или неверно инициализируется счётчик
количества найденных пар; 3. счётчик количества пар в цикле не изменяется или изменяется
неверно; 4. неверно проверяется делимость на 3; 5. на делимость проверяются не сами элементы, а их индексы; 6. при проверке выполнения условия для пары элементов
используются неверные индексы; 7. в сложном логическом условии простые проверки верны,
но условие в целом построено неверно (например, перепутаны
операции «И» и «ИЛИ», неверно расставлены скобки
в логическом выражении); 8. отсутствует вывод ответа; 9. используется переменная, не объявленная в разделе описания
переменных; 10. не указано или неверно указано условие завершения цикла; 11. индексная переменная в цикле не меняется (например, в цикле
while) или меняется неверно; 12. неверно расставлены операторные скобки
0 балловОшибок, перечисленных в п. 1–12, две или больше, или алгоритм
сформулирован неверно (в том числе при отсутствии цикла в явном
или неявном виде)