ФИПИ · ЕГЭ · Информатика · Вне номеров КИМ

Другие задания банка (часть 4)

140 заданий открытого банка ФИПИ: впишите ответ, при затруднении — подсказка; после ответа — разбор по шагам.

0
Решено
0
Правильно
0%
Точность

Задания открытого банка ФИПИ «Другие задания банка (часть 4)» (информатика). Ответ вписывается так же, как в бланк ЕГЭ: число, слово или цифры подряд, без пробелов; если в ответе два числа — через пробел, как в таблице ответа (по строкам).

Неофициальная копия. Условия заданий — из открытого банка заданий ФИПИ (fipi.ru); номер у каждого задания открывает его в банке ФИПИ. Ответы, подсказки, разборы и рисунки подготовлены reknow.ru. Нашли ошибку — нажмите «Сообщить об ошибке» у задания.

Серия: 0

О теме

Вне номеров КИМ ЕГЭ по информатике. На странице — 140 заданий открытого банка ФИПИ: ответ проверяется сразу, есть подсказка и подробный разбор.

Примеры заданий

Это несколько заданий из тренажёра, остальные — в тренажёре в начале страницы.

ФИПИ № CA1D0D ↗

В программе используется одномерный целочисленный массив A с индексами от 0 до 9. Значения элементов равны 3, 4, 2, 9, 5, 1, 8, 2, 1, 7 соответственно, т.е. A[0] = 3, A[1] = 4 и т.д.

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

Бейсик

Python

c = 0

FOR i = 1 TO 9

  IF A(i-1) < A(i) THEN

    c = c + 1

    t = A(i)

    A(i) = A(i-1)

    A(i-1) = t

  END IF

NEXT i

c = 0

for i in range(1, 10):

  if A[i-1] < A[i]:

    c = c + 1

    A[i-1], A[i] = A[i], A[i-1]

 

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

Паскаль

c := 0

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

  если A[i-1] < A[i] то

    c := c + 1

    t := A[i]

    A[i] := A[i-1]

    A[i-1] := t

  все
кц

c := 0;

for i := 1 to 9 do

  if A[i-1] < A[i] then

  begin

    c := c + 1;

    t := A[i];

    A[i] := A[i-1];

    A[i-1] := t;

  end;

С++

c = 0;

for (int i = 1; i < 10; i++)

    if (A[i-1] < A[i]){

        c++;

        t = A[i];

        A[i] = A[i-1];

        A[i-1] = t;

    }

 

Показать ответ
Ответ: 6
Решение.
  1. Если A[i–1] < A[i], соседние элементы меняются местами и c увеличивается; так меньший элемент «уплывает» вправо.
  2. Массив 3 4 2 9 5 1 8 2 1 7. i=1: 3<4 → обмен (c=1): 4 3 2 9 …; i=2: 3<2 нет; i=3: 2<9 → обмен (c=2): … 9 2 5 …; i=4: 2<5 → обмен (c=3): … 5 2 1 …
  3. i=5: 2<1 нет; i=6: 1<8 → обмен (c=4): … 8 1 2 …; i=7: 1<2 → обмен (c=5): … 2 1 1 7; i=8: 1<1 нет; i=9: 1<7 → обмен (c=6).
  4. Ответ: 6.
ФИПИ № 0040E4 ↗

 Задание выполняется с использованием прилагаемых файлов.

 

Текст произведения Льва Николаевича Толстого «Севастопольские рассказы» представлен в виде файлов различных форматов. Откройте один из файлов, и определите, сколько раз встречается в тексте отдельное слово «Офицер» с прописной буквы. Другие формы этого слова: «Офицеры», «Офицерам» и т.п., учитывать не следует.

В ответе запишите только число.

Файл к заданию (zip)
Показать ответ
Ответ: 10
Решение.
  1. Ищем отдельное слово «Офицер» с прописной буквы: формы «Офицеры», «Офицерам» и слово «офицер» со строчной не считаются.
  2. Удобнее всего прогнать файл программой: регулярное выражение с проверкой, что слева и справа от найденного нет буквы (так работает и режим «Только слово целиком» в текстовом редакторе).
  3. import re
    text = open('320_10.txt', encoding='cp1251').read()
    L = 'А-Яа-яЁё'
    found = re.findall(rf'(?<![{L}])Офицер(?![{L}])', text)
    print(len(found))
  4. Программа выводит 10.
  5. Ответ: 10.