РУҚА
25

Шешімі: Замена элементов массива по условию

ЕГЭ · Информатика · Тапсырма 25 · Алгоритмдер және орындаушылар
КүрделіФИПИ4CCF69Толық шешім≈ 15 минутТалдау 4 қадам
Условие

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

Исходные данные объявлены заранее. Разрешается использовать только описанные переменные. Для Python: a = [], n = 30, далее массив вводится циклом for i in range(0, n): a.append(int(input())). Разрешается также использовать целочисленные переменные i, j и k. В ответе приведите фрагмент программы, который должен находиться на месте многоточия, или укажите название и версию другого используемого языка программирования.

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

4 қадам
1

Сначала обнуляем переменную j, которая будет хранить сумму подходящих элементов.

$$j = 0$$
2

Просматриваем все элементы массива. Если элемент не меньше 99 и не кратен 4, добавляем его к сумме.

$$a[i] \geq 99 \mathbin{\land} a[i] \bmod 4 \neq 0$$
3

После вычисления суммы повторно просматриваем массив и заменяем каждый элемент, удовлетворяющий тому же условию, на найденную сумму.

$$a[i] = j$$

Выводим все элементы изменённого массива по одному в строке.

Жауап

Фрагмент на Python:

j = 0
for i in range(0, n):
if a[i] >= 99 and a[i] % 4 != 0:
j += a[i]
for i in range(0, n):
if a[i] >= 99 and a[i] % 4 != 0:
a[i] = j
for i in range(0, n):
print(a[i])

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

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

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

Проверяют только условие a[i] >= 99 и забывают проверить некратность 4.

Используют условие a[i] % 4 == 0 вместо a[i] % 4 != 0.

Выводят массив в одной строке, хотя требуется выводить каждый элемент с новой строки.

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

Закрепить приёмВ теме «Алгоритмдер және орындаушылар» ещё 431 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 25 ЕГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 4 шага: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Алгоритмдер және орындаушылар»: в ней 432 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.