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

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

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

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

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

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

Серия: 0

О теме

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

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

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

ФИПИ № 0087F9 ↗

Сколько существует различных наборов значений логических переменных
x1, x2, ... x6, y1, y2, ... y6, которые удовлетворяют всем перечисленным ниже условиям?

 

(x1 /\ ¬x2) \/ (¬y1 /\ y2) \/ (¬x1 /\ ¬y1) = 0

(x2 /\ ¬x3) \/ (¬y2 /\ y3) \/ (¬x2 /\ ¬y2) = 0

...

(x5 /\ ¬x6) \/ (¬y5 /\ y6) \/ (¬x5 /\ ¬y5) = 0

¬x6 /\ ¬y6 = 0

 

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, ... x6, y1, y2, ... y6, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

 

Показать ответ
Ответ: 28
Решение.
  1. Каждое уравнение «дизъюнкция = 0» означает, что все три скобки ложны: xi → xi+1, yi+1 → yi и xi ∨ yi.
  2. Последнее уравнение: x6 ∨ y6 = 1.
  3. Переменных 12, наборов 212 = 4096 — проще перебрать программой:
    from itertools import product
    count = 0
    for v in product([0, 1], repeat=12):
        x, y = v[:6], v[6:]
        ok = all(not ((x[i] and not x[i+1]) or (not y[i] and y[i+1])
                      or (not x[i] and not y[i])) for i in range(5))
        if ok and (x[5] or y[5]):
            count += 1
    print(count)
  4. Смысл: последовательность x — сначала нули, потом единицы; y — сначала единицы, потом нули; в каждой позиции хотя бы одна единица.
  5. Программа выводит 28.
  6. Ответ: 28.
ФИПИ № 06C3AD ↗

Сколько существует различных наборов значений логических переменных
x1, x2, … x7, y1, y2, … y7, которые удовлетворяют всем перечисленным ниже условиям?

 

(y1 → (y2 /\ x1)) /\ (x1 → x2) = 1

(y2 → (y3 /\ x2)) /\ (x2 → x3) = 1

…

(y6 → (y7 /\ x6)) /\ (x6 → x7) = 1

y7 → x7 = 1

 

В ответе не нужно перечислять все различные наборы значений переменных x1, x2, … x7, y1, y2, … y7, при которых выполнена данная система равенств. В качестве ответа Вам нужно указать количество таких наборов.

Показать ответ
Ответ: 36
Решение.
  1. Переменных 14 — всего 214 наборов, это немного: их можно перебрать программой и проверить каждое уравнение системы.
  2. Каждое уравнение связывает соседние пары (xi, yi) и (xi+1, yi+1): yi → (yi+1 ∧ xi) и xi → xi+1; кроме того, отдельно y7 → x7.
  3. from itertools import product
    count = 0
    for v in product([0, 1], repeat=14):
        x, y = v[:7], v[7:]
        if all(((not y[i]) or (y[i+1] and x[i])) and ((not x[i]) or x[i+1]) for i in range(6)) and ((not y[6]) or x[6]):
            count += 1
    print(count)
  4. Смысл: x — цепочка вида 0…01…1; если yi = 1, то y и x равны 1 и дальше до конца. Значит, y — тоже «нули, потом единицы», и единицы y начинаются не раньше единиц x. Для x с k последними единицами (k = 0…7) y имеет k + 1 вариант: 1 + 2 + … + 8 = 36.
  5. Ответ: 36.