РУҚА
25

Ответ: Обработка элементов массива

ЕГЭ · Информатика · Задание 25 · Массивы и строки
ПовышеннаяФИПИBB29EEРазвёрнутое решение≈ 15 минут
Что должно получиться

Например, решение на Python:

s = 0
for i in range(n):
if a[i] > 100 and a[i] % 4 != 0:
s += a[i]

for i in range(n):
if a[i] > 100 and a[i] % 4 != 0:
a[i] = s

for i in range(n):
print(a[i])

У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.

Условие

Дан целочисленный массив из 30 элементов. Элементы массива могут принимать целые значения от 0 до 10 000 включительно. Опишите алгоритм, который находит сумму элементов массива, больших 100 и при этом не кратных 4, а затем заменяет каждый такой элемент на число, равное найденной сумме. Гарантируется, что хотя бы один такой элемент в массиве есть. В качестве результата необходимо вывести изменённый массив, каждый элемент выводится с новой строки.

Исходные данные объявлены следующим образом. Разрешается использовать только указанные переменные.

Бейсик:
CONST N AS INTEGER = 30
DIM A (1 TO N) AS LONG
DIM I AS LONG, J AS LONG, K AS LONG
FOR I = 1 TO N
INPUT A(I)
NEXT I
...
END

Python:
a = []
n = 30
for i in range(0, n):
a.append(int(input()))
...

Алгоритмический язык:
алг
нач
цел N = 30
целтаб a [1:N]
цел i, j, k
нц для i от 1 до N
ввод a[i]
кц
...
кон

Паскаль:
const N = 30;
var a: array [1..N] of longint;
i, j, k: longint;
begin
for i := 1 to N do
readln(a[i]);
...
end.

C++:
const int N = 30;
int main() {
long a[N];
long i, j, k;
for (i = 0; i < N; i++)
cin >> a[i];
...
return 0;
}

Приведите фрагмент программы, который должен находиться на месте многоточия. Можно использовать другой язык программирования, указав его название и версию, но необходимо использовать те же исходные данные и переменные.

Открыть задачу и решить самому

Где здесь ошибаются

Заменяют элементы во время первого прохода и из-за этого теряют исходные значения, необходимые для вычисления суммы.

Используют условие $a_i \% 4 = 0$ вместо условия $a_i \% 4 \ne 0$.

Забывают строгое условие $a_i > 100$ и включают элемент, равный 100.

Выводят сумму вместо изменённого массива.

Используют переменную, которая не была объявлена в условии.

Откуда взялся этот ответРазбор разложен на 4 шага: видно каждое преобразование и где теряется балл.
Открыть решение

Ответ к заданию 25 ЕГЭ, информатика

Официального ключа у этого задания нет, и ответ здесь получен в разборе. Поэтому рядом стоят выкладки: по ним видно, на чём ответ держится, и можно сверить свой ход решения, а не только результат.

Задача из темы «Массивы и строки»: в ней 238 задач — у каждой есть ответ и разбор по шагам. Регистрация не нужна.