Предложен правильный алгоритм, выдающий верное значение. Допускается
Условие
Критерии оценивания выполнения задания | Баллы | Предложен правильный алгоритм, выдающий верное значение. Допускается запись алгоритма на другом языке, использующая аналогичные переменные. В случае, если язык программирования использует типизированные переменные, описания переменных должны быть аналогичны описаниям переменных на естественном языке. Использование нетипизированных или необъявленных переменных возможно только в случае, если это допускается языком программирования, при этом количество переменных и их идентификаторы должны соответствовать условию задачи. В алгоритме, записанном на языке программирования, допускается наличие отдельных синтаксических ошибок, не искажающих замысла автора программы. | 2 | Предложено в целом верное решение, содержащее не более одной ошибки из числа следующих (если одинаковая ошибка повторяется несколько раз, она считается за одну ошибку):1) Отсутствие инициализации или неверная инициализация счётчика.2) Неверно определены границы цикла проверки, в результате проверяются не все пары или происходитвыход за границы массива. 3) При вычислении отношения элементов используется целочисленное деление.4) Подсчитываются пары, в которых первый элемент больше второго5) Отсутствует вывод ответа.6) Используется переменная, не объявленная в разделеописания переменных.7) Индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно. | 1 | Не выполнены условия, позволяющие поставить 1 или 2 балла. | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
Решение. Содержание верного ответа: программа просматривает все пары соседних чисел в массиве и подсчитывает количество таких пар, в которых второй элемент более чем вдвое превышает первый. Пример фрагмента программы на Паскале k:=0;for i:=2 to N do beginif a[i] > 2*a[i-1] then k:=k+1;end;writeln(k); При сравнении элементов можно вместо умножения использовать деление, но при этом следует позаботиться о том, чтобы при делении получался вещественный результат, а не округлённое целое значение. Можно, например, записать условие проверки так: if a[i] / a[i-1] > 2.Следующая запись недопустима, так как при таком делении происходит округление до меньшего целого, в результате, например, пара (2,
Осталось ещё 1 шаг
Шаг 2
Бесплатно · займёт минуту