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