Опишите на одном из языков программирования алгоритм, позволяющий найти
Условие
Дан массив, содержащий 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, и при обращении к элементу а [ i +1 ] происходит выход за границы массива.8. Индексная переменная в цикле не меняется (например, в цикле while) или меняется неверно | 1 | Не выполнены условия, позволяющие поставить 1 или 2 балла | 0 | Максимальный балл | 2 |
Формат задания
Решение по шагам
Как рассуждать
Решение. Пример программы на Паскале у:=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);
Осталось ещё 1 шаг — откроются после входа:
- Полный разбор с проверкой ответа
Бесплатно · займёт минуту