25

Максимальный элемент, не кратный трём

ЕГЭ · Информатика · Задание 25 · Алгоритмы и исполнители
ПовышеннаяФИПИ3EF705Развёрнутое решение≈ 5 минут

Дан целочисленный массив из 20 элементов. Элементы массива принимают целые значения от $-10\,000$ до $10\,000$ включительно. Наличие хотя бы одного элемента, который не делится на 3, гарантируется. Опишите на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальный элемент массива, который не делится на 3.

Исходные данные уже введены в массив $A$ из 20 элементов. Разрешается использовать только целочисленные переменные $I$, $J$, $K$ и переменные, объявленные в заготовке соответствующего языка. Необходимо привести фрагмент программы, который записывается вместо многоточия.

Условие как в банке ФИПИ — открыть и сверить
Дайте развернутый ответ.

Дан целочисленный массив из 20 элементов. Элементы массива могут принимать целые значения от – 10 000 до 10 000 включительно. Опишите
на естественном языке или на одном из языков программирования алгоритм, позволяющий найти и вывести максимальный элемент массива, который НЕ делится на 3 (наличие хотя бы одного такого элемента гарантируется).

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

Бейсик

Python

CONST N AS INTEGER = 20

DIM A (1 TO N) AS INTEGER

DIM I AS INTEGER,

J AS INTEGER,

K AS INTEGER

FOR I = 1 TO N

INPUT A(I)

NEXT I

...

END

# допускается также

# использовать две

# целочисленные переменные j и k

a = []

n = 20

for i in range(0, n):

a.append(int(input()))

...

Алгоритмический язык

Паскаль

алг

нач

цел N = 20

целтаб a[1:N]

цел i, j, k

нц для i от 1 до N

ввод a[i]

кц

...

кон

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.

Си

Естественный язык

#include <stdio.h>

#define N 20

int main() {

int a[N];

int i, j, k;

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

scanf("%d", &a[i]);

...

return 0;

}

Объявляем массив A из 20 элементов.

Объявляем целочисленные переменные I, J, K.

В цикле от 1 до 20 вводим элементы массива A с 1-го по 20-й.

…

В качестве ответа Вам необходимо привести фрагмент программы (или описание алгоритма на естественном языке), который должен находиться
на месте многоточия. Вы можете записать решение также на другом языке программирования (укажите название и используемую версию языка программирования, например Free Pascal 2.6) или в виде блок-схемы. В этом случае Вы должны использовать те же самые исходные данные
и переменные, какие были предложены в условии (например, в образце, записанном на естественном языке).



Ответ

Это задание с развёрнутым решением: ответом считается запись хода решения, а не строка. Напишите решение на бумаге и сравните с разбором — там каждый шаг с обоснованием.

Открыть разбор
!
3 уровня: от лёгкого толчка до почти готового решения. Следующий открывается, когда прочитан предыдущий, — чтобы не перепрыгнуть сразу к ответу.
1Мягкая — с чего смотретьуровень 1 из 3

Как проверить, что целое число не делится на 3?

2Наводящая — какие числа считатьуровень 2 из 3

Используйте условие $A[I] \bmod 3 \ne 0$ и переменную для хранения максимального найденного элемента.

3Прямая — фактически решениеуровень 3 из 3

Сначала присвойте переменной $J$ значение первого элемента массива, не делящегося на 3, затем просмотрите остальные элементы и при выполнении условий $A[I] \bmod 3 \ne 0$ и $A[I] > J$ заменяйте $J$ на $A[I]$. В конце выведите $J$.

Всё равно не складывается?Полное решение с обоснованием каждого шага — на отдельной странице.
Открыть решение

Задание 25 ЕГЭ, информатика

Задача из темы «Алгоритмы и исполнители»: в ней 432 задачи с ответом и разбором по шагам. В 25-м номере бланка — 216 задач.

Ответ можно проверить здесь же, а если не выходит — открыть подсказку или разбор. Регистрация не нужна.