Присоединиться

11 класс·высокий уровень

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

Условие

Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | Не выполнены условия, позволяющие поставить 2 балла. При этом предложено в целом верное решение, содержащее не более одной ошибки из числа следующих: 1) в цикле происходит выход за границу массива (например, используется цикл от 1 до N); 2) не инициализируется или неверно инициализируется счётчик количества найденных пар; 3) неверно осуществляется проверка суммы пары элементов на чётность (в том числе используется выражение вида a[i]+a[i+1] mod 2<>0 без скобок); 4) на чётность проверяется не сумма значений элементов, а сумма их индексов; 5) неверно осуществляется проверка суммы пары элементов на положительность; 6) в сложном логическом условии простые проверки верны, но условие в целом построено неверно (например, перепутаны операции «И» и «ИЛИ», неверно расставлены скобки в логическом выражении); 7) отсутствует вывод ответа; 8) используется переменная, не объявленная в разделе описания переменных; 9) не указано или неверно указано условие завершения цикла; 10) индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно; 11) неверно расставлены операторные скобки. Допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 1 | Не выполнены условия, позволяющие поставить 1 или 2 балла. Например, ошибок, перечисленных в п. 1-11, две или больше, или алгоритм сформулирован неверно. | 0 | Максимальный балл | 2 |

Формат задания

Развёрнутый ответ: короткого ответа здесь нет — оценивается само рассуждение. Разбор откроется после входа.

Решение по шагам

  1. Как рассуждать

    Решение. Паскаль | k := 0;for i := 1 to N - 1 doif ((a[i]+a[i+1]) mod 2<>0) and (a[i]+a[i+1]>0) theninc(k);writeln(k); | Алгоритмический язык | k := 0нц для i от 1 до N - 1если mod(a[i]+a[i+1],2)<>0 и a[i]+a[i+1]>0тоk := k + 1всекцвывод k | Бейсик | K = 0 FOR I = 1 TO N - 1 IF (A(I)+A(I+1)) MOD 2<>0 AND A(I)+A(I+1)>0 THEN K = K + 1 END IF NEXT I PRINT K | Python | k = 0for i in range(N - 1):if (a[i] + a[i + 1]) % 2 != 0 and a[i] + a[i + 1] > 0:k += 1print(k) | Си | k = 0;for (i = 0; i < N - 1; i++)if ((a[i] + a[i+1]) % 2 != 0 && a[i] + a[i+1] > 0)k++;cout « k « endl; | Естественный язык | Записываем в переменную K начальное значение, равное

Осталось ещё 2 шага

  1. Шаг 2

  2. Шаг 3

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Алгоритмы обработки массивов»