Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от –10 000 до 10 000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести количество пар элементов массива, сумма которых нечётна и положительна. Под парой подразумевается два подряд идущих элемента массива. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования и естественного языка. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных.
| Бейсик | Python |
|---|---|
N = 20 DIM A(N) AS INTEGER DIM I, J, K AS INTEGER FOR I = 1 TO N INPUT A(I) NEXT I ... END
| N = 20 i = None j = None k = None a = [int(input()) for i in range(N)] ...
|
| Паскаль | Алгоритмический язык |
const N = 20; var a: array [1..N] of integer; i, j, k: integer; begin for i := 1 to N do readln(a[i]); ... end.
| алг нач цел N = 20 цел таб a[1:N] цел i, j, k нц для i от 1 до N ввод a[i] кц ... кон |
| Си++ | Естественный язык |
#include <iostream> using namespace std; int main(void) { const int N = 20; int a[N]; int i, j, k; for (i = 0; i < N; i++) cin >> a[i]; ... }
| Объявляем массив A из 20 элементов. Объявляем целочисленные переменные I, J, K. В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й. ... |
| Паскаль |
|---|
| k := 0; for i := 1 to N - 1 do if ((a[i]+a[i+1]) mod 2<>0) and (a[i]+a[i+1]>0) then inc(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 = 0 for i in range(N - 1): if (a[i] + a[i + 1]) % 2 != 0 and a[i] + a[i + 1] > 0: k += 1 print(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 начальное значение, равное 0. В цикле от первого элемента до предпоследнего находим остаток от деления суммы текущего и следующего элементов массива на 2. Если значение данного остатка не равно 0 и сумма текущего и следующего элементов массива больше 0, увеличиваем переменную K на единицу. После завершения цикла выводим значение переменной K |

