Задача к ЕГЭ по информатике на тему «соседние элементы, проверка условий» №1

Дан целочисленный массив из 60 элементов. Элементы массива могут принимать целые значения от 0 до 10000 включительно. Опишите на естественном языке или на одном из языков программирования алгоритм, который выполняет следующее: ищет такие тройки элементов (три подряд идущих элемента, a[0],a[1],a[2 ];  a[3],a[4 ],a[5];...;a[56 ],a[57],a[59]  ), в которых каждое число четно, и cчитает их количество. В качестве результата выведите получившееся число. Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Индексация элементов в массиве начинается с нуля.

|--------------------------------|------------------------------------|-------------------------| |Бейси-к-------------------------|Python------------------------------|А-лгори-тми-ческий-язы-к-| |CON  ST N ASIN   TEGER    = 50  |#   допуск ается такж е             |ал-г                     | |DIM  A (0TON   − 1)ASLON    G   |#   испол ьзовать три               |нач-                     | |DIM  IASLON    G                |# ц елочисл енны е п еремен ны е i,t,k  ц елN  = 50            | |                                |                                    |  ----                   | |    T ASLON   G                 |a = []                              |  ц-елтабa[0 : N − 1]    | |    KASLON     G                |n = 50                              |  ц-елi,t,k               | |FORI   = 0T ON  − 1             |foriinrange (0,n) :                 |  н-ц-дляiот0д-оN −  1   | |    IN P U TA (I)               |  a.append (int(input ()))            |     вводa[i]            | |                                |                                    |     -----               | |N EXT  I                        |...                                  |  к-ц-                   | |...                              |                                    |...                       | -EN-D------------------------------------------------------------------кон-----------------------

|--------------------------------|------------------------------------| |-П-аскаль-----------------------|C-+-+-------------------------------| |const                           |#include  < iostream  >             | |  N  =  50                      |usingnamespacestd;                  | |var                             |constintN  = 50;                    | |                                |                                    | |  a : array[0..N  − 1]oflongint; |intmain (){                         | |  i,t,k : longint;              |longa[N ];                          | |begin                           |longi,t,k;                          | |  f ori := 1toN do              |for(i = 0;i < N ;i + +)cin > > a[i]; | |     readln(a[i]);               |…                                  | |                                |                                    | |…                              |return0;                            | -end.——————————}————————————| » class=»math-display» width=»auto»></center> </p>
<p class= В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Cython 0.20). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в приведённых фрагментах.

Под тройками будем подразумевать a[i],a[i + 1],a[i + 2]  . Следующая тройка — это a[i + 3 ],a[i + 4 ],a[i + 5]  . Именно поэтому шаг в цикле for  будет равен 3 (чтобы после элемента a[i]  рассматривать a [i + 3]  , а не a[i + 1]  ). В t  будем хранить текущее количество троек, в которых каждый элемент четен, поэтому t  изначально равна 0.

В цикле от 0 до N −  2  (до N  − 2  , так как для элемента a[N  − 2]  уже нет тройки a[N  − 2],a[N  − 2 + 1 = N  − 1]  и a[N −  2 + 2 = N ]  ) будем проверять четность a[i],a[i + 1]  и a[i + 2]  . Если эти элементы одновременно четны, мы увеличим t  на 1. К концу цикла в t  будет храниться итоговое количество нужных нам троек.

Пример программы на С++:

t = 0;

for(i = 0;i < N − 2; i+  = 3){

if((a[i]%2 ==   0)&& (a[i + 1]%2 ==  0)&& (a[i + 2 ];%2 ==  0)t + +;

}

cout < < t;

Ответ: см. решение
Оцените статью
Я решу все!