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

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

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

Условие

Дан массив, содержащий 70 неотрицательных целых чисел. Опишите на одном из языков программирования алгоритм, позволяющий найти и вывести наименьшую чётную сумму двух соседних элементов массива. Гарантируется, что в массиве есть соседние элементы с чётной суммой. Исходные данные объявлены так, как показано ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать часть из них.Паскаль | Бейсик | const N=70;vara: array [1..N] of integer; i, j, x, у: integer; beginfor i: 1 to N do readln(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 целтаб а[1:N] цел i, j, х, у нц для i от 1 до N ввод а[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. Как рассуждать

    Решение. Пример программы на Паскале: у:=1;for i:= 1 to N−1 do begin x:= a[i]+a[i+1];if (x mod 2=0) and ((у=1) or (x < y) then y:= x;end;writeln(y); Допускается использование других приёмов программирования, приводящих к верному результату.В частности, разрешается использовать следующие способы:

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

  1. Шаг 2

  2. Шаг 3

  3. Шаг 4

  4. Шаг 5

  5. Шаг 6

  6. Шаг 7

  7. Шаг 8

  8. Шаг 9

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

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

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