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

Дан целочисленный массив из N  = 60  элементов. Элементы массива могут принимать значения от 1 до 13001. Опишите на одном из языков программирования алгоритм, который находит и выводит сумму четырехзначных элементов массива, которые начинаются с цифры 2.

Например, для исходного массива из 6 элементов

2456

4

5342

945

2483

67

программа выведет 4939.

Исходные данные объявлены так, как показано ниже на примерах для некоторых языков программирования. Запрещается использовать переменные, не описанные ниже, но разрешается не использовать некоторые из описанных переменных. Индексация элементов в массиве начинается с 0.

|--------------------------------|------------------------------------|-------------------------| |Бейси-к-------------------------|Python------------------------------|А-лгори-тми-ческий-язы-к-| |CON  ST N ASIN   TEGER    = 60  |# допуска ется такж е               |ал г                     | |                                |                                    |                         | |DIM  A (0TON   − 1)ASLON    G   |# и спользов ать три                |нач                      | |DIM  IASLON    G                |# ц елочисл енны е п еремен ны е i,t,k  ц елN  = 60            | |    T ASLON   G                 |a = []                              |  ц елтабa[0 : N − 1]    | |    KASLON     G                |n = 60                              |  ц ел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  =  60                      |usingnamespacestd;                  | |var                             |constintN  = 60;                    | |                                |                                    | |  a : array[0..N  − 1]oflongint; |intmain (){                         | |  i,t,k : longint;              |longa[N ];                          | |begin                           |longi,t,k;                          | |  f ori := 0toN − 1do           |for(i = 0;i < N ;i + +)cin > > a[i]; | |     readln(a[i]);               |…                                  | |                                |                                    | |…                              |return0;                            | -end.——————————}————————————| » class=»math-display» width=»auto»></center> </p>
<p class= В качестве ответа Вам необходимо привести фрагмент программы, который должен находиться на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например, Free Pascal 2.6). В этом случае Вы должны использовать те же самые исходные данные и переменные, какие были предложены в приведённых фрагментах.

Для начала опишем алгоритм, по которому будем находить первую цифру четырехзначного числа. Пусть у нас есть число 4567. Если мы разделим его целочисленно на 1000, то получим 4. Так мы будем искать первую цифру для любого четырехзначного числа — делить целочисленно на 1000 (если бы мы работали и с отрицательными числами, то нужно было бы взять остаток от деления на 10, чтобы у первой цифры не было знака).

Чтобы проверить, что цифр в числе ровно 4, можно снова целочисленно разделить число на 1000. Если полученный результат будет больше 0 (значит, что в числе больше 3 цифр) и меньше 10 (значит, в числе меньше 5 цифр), то в числе ровно 4 цифры. Но, так как нам необходимо, чтобы первая цифра была равна 2, то есть чтобы a[i]∕1000 ==   2  , то условия a [i]∕1000 >=  1  » class=»math» width=»auto»> и <img decoding= будут излишними и выполняться в любом случае.

В переменной t  будем хранить сумму четырехзначных элементов массива, чья первая цифра равна 2. Перед циклом приравняем t  к нулю.

В цикле for  от 0 до N  будем перебирать элементы массива. Для каждого элемента мы будем проверять, что a[i]∕1000  ==  2  (условие, что первая цифра числа равна 2, и, следовательно, условие, что цифр в числе всего 4). Если это так, то прибавим к t  значение этого элемента.

После цикла выведем t  — нужную нам сумму.

Пример на С++:

t = 0;

for(i = 0;i < N ;i + + )

if(a[i]∕1000 ==  2)t+  = a[i];

cout < < t;

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