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

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

Опишите на одном из языков программирования алгоритм, позволяющий найти

Условие

Дан массив, содержащий 70 неотрицательных целых чисел, не превышающих 1000. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшую сумму двух соседних элементов массива, имеющих одинаковую чётность. Гарантируется, что в массиве есть соседние элементы, имеющие одинаковую чётность. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них. Паскаль | Бейсик | const N=70;vara: array [1..N] of integer;i, j, x, y: integer; beginfor i:=1 to N doreadln(a[i]);...end. | N=70 DIM A(N) AS INTEGER DIM I, J, X, Y AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I... END | Си++ | Алгоритмический язык | #include <iostream>using namespace std; #define N 70 int main() {int a[N]; int i, j, x, y; for (i=0; i<N; i++)cin >> a[i]; | алгначцел N=70целтаб a[1:N] цел i, j, x, yнц для i от 1 до N ввод a[i]кц...кон | Python |

допускается также# использовать три# целочисленные переменные j, x, ya = []n = 70for i in range(0, n): a.append(int(input()))... |

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

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

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

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

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

    Решение. Пример программы на Паскале:у:=2001;for i:=1 to N-1 do begin x:=a[i]+a [i + 1];if (a[i] mod 2 = a[i+l] mod

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

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

  7. Шаг 8

  8. Шаг 9

  9. Шаг 10

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

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

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

Опишите на одном из языков программирования алгоритм, позволяющий найти — решение с объяснением | Lom Ai