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

Решение 25 задания ЕГЭ 2018 по информатике из демонстрационного варианта. Проверяемые элементы содержания: Умение анализировать программу, использующую процедуры и функции.

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

Например, для массива из шести элементов: 4 115 7 195 25 106 программа должна вывести числа 4 2 7 2 25 106

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

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.

Решение 25 задания ЕГЭ 2018 по информатике

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

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

Ответ на языке Паскаль

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

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

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

Ответ на языке Бейсик

K = 0
FOR I = 1 TO N
  IF A(I) > 100 AND A(I) MOD 5 = 0 THEN
    K = K + 1
  END IF
NEXT I
FOR I = 1 TO N
  IF A(I) > 100 AND A(I) MOD 5 = 0 THEN
    A(I) = K
  END IF
  PRINT A(I)
NEXT I

Ответ на языке С++

k = 0;
for (i = 0; i < N; i++)
if (a[i] > 100 && a[i]%5 == 0)
  k++;
for (i = 0; i < N; i++) {
  if (a[i] > 100 && a[i]%5 == 0)
    a[i] = k;
cout << a[i];
}

Ответ на языке Python

k = 0
for i in range(0, n):
  if (a[i] > 100 and a[i] % 5 == 0):
    k = k + 1
for i in range(0, n):
  if (a[i] > 100 and a[i] % 5 == 0):
    a[i] = k
  print(a[i])

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

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

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

12 − семь =