Разбор 25 задания ЕГЭ 2020 по информатике из демоверсии

Разбор 25 задания ЕГЭ 2020 по информатике из демонстрационного варианта. Проверяемые элементы содержания: умение составить алгоритм и записать его в виде простой программы (10-15 строк) на языке программирования.

Задание

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

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

14
6
11
18
9
24

программа должна вывести следующий массив:

9
6
9
18
9
24

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

Исходные данные

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

Разбор 25 задания ЕГЭ

На языке Паскаль

k := 10000;
for i := 1 to N do
if (a[i] mod 6 <> 0) and (a[i] < k) then
k := a[i];
for i := 1 to N do begin
if (a[i] mod 6 <> 0) then
a[i] := k;
writeln(a[i]);
end;

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

k := 10000
нц для i от 1 до N
если mod(a[i], 6) <> 0 и a[i] < k
то
k := a[i]
все
кц
нц для i от 1 до N
если mod(a[i], 6) <> 0
то
a[i] := k
все
вывод a[i], нс
кц

На языке Бейсик

K = 10000
FOR I = 1 TO N
IF A(I) MOD 6 <> 0 AND A(I) < K THEN
K = A(I)
END IF
NEXT I
FOR I = 1 TO N
IF A(I) MOD 6 <> 0 THEN
A(I) = K
END IF
PRINT A(I)
NEXT I

На языке С++

k = 10000;
for (i = 0; i < N; i++)
if (a[i] % 6 != 0 && a[i] < k)
k = a[i];
for (i = 0; i < N; i++) {
if (a[i] % 6 != 0)
a[i] = k;
cout << a[i] << endl;
}

На языке Python

k = 10000
for i in range(0, n):
if (a[i] % 6 != 0 and a[i] < k):
k = a[i]
for i in range(0, n):
if (a[i] % 6 != 0):
a[i] = k
print(a[i])

Допускается запись алгоритма на языке программирования, отличном от языков, приведенных в условии.

Опубликовано: 15.03.2020 Обновлено: 15.03.2020
Поделись с друзьями

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

пять × четыре =