Подготовка ребёнка к ЕГЭ по информатике. Часть четырнадцатая

21.02.19

Разработка - Математика и алгоритмы

Работа с массивами

25 задание ЕГЭ

Алгоритмы обработки массивов

Предисловие

 

Эта статья будет на порядок больше, чем предыдущие, потому что 25 задание сравнительно нетрудное, хочется разобраться со всеми демо-версиями с 2009 по 2019 годы.

 

Демонстрационный вариант ЕГЭ 2019 г. ИНФОРМАТИКА и ИКТ, 11 класс.

 

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

14

6

11

18

9

24

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

9

6

9

18

9

24

 

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

 

Бейсик

Python

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

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

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

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

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++

#include <iostream>

using namespace std;

const int N = 30;

int main() {

long a[N];

long i, j, k;

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

cin >> a[i];

...

return 0;

}

 

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

 

Инициализируем переменную k, которая будет использоваться для поиска наименьшего значения, не кратного 6. Т.к. наибольшее значение элемента массива = 10000, то присвоим k значение = 10001. Далее будем с помощью цикла искать k. В следующем цикле присваиваем всем элементам массива, не кратным 6 значение переменной k. Выводим каждый элемент массива с новой строчки.

 

Код на месте двоеточия:

k := 10001;

for

Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.