Тема 1. Кодирование информации и системы счисления (задачи

advertisement
1
Информатика и ИКТ. Новые задания ЕГЭ-2012
Примеры заданий и задачи для тренировки
Представлены основные отличия в заданиях ЕГЭ 2012
года от предыдущих лет. Приведены примеры решений
новых заданий. Даны задачи для тренировки к указанным новым заданиям, для большинства из которых приведены ответы.
2
СОДЕРЖАНИЕ
ВВОДНЫЕ ЗАМЕЧАНИЯ
3
ТЕМА 1. КОДИРОВАНИЕ ИНФОРМАЦИИ И СИСТЕМЫ СЧИСЛЕНИЯ ( A8, B4)
4
A8 Задача на кодирование звука
Теоретические сведения
Пример
Задачи для тренировки
4
4
4
5
B4 Задача на перебор слов, используя системы счисления
Теоретические сведения
Пример №1
Пример №2
Пример №3
Задачи для тренировки
6
7
9
10
10
11
ТЕМА 2. ЛОГИКА (ЗАДАЧА B15)
13
B15 Задача на решение логических уравнений
Теоретические сведения
Пример №1
Пример №2
Пример №3
Задачи для тренировки
13
13
14
15
16
19
ТЕМА 3. ПРИКЛАДНЫЕ ПРОГРАММЫ (B9, B13)
22
Теоретические сведения
22
B9 Задача на использование графов
Пример
Задачи для тренировки
23
23
25
B11 Задача на вычисления адреса компьютера в сети
Теоретические сведения
Пример №1
Пример №2
Пример №3
Пример №4
Задачи для тренировки
28
28
28
29
30
30
31
B13 Задача на использование дерева решений
Пример №1
Пример №2
Задачи для тренировки
34
34
35
37
3
Вводные замечания
Среди заданий 2012 года (согласно демо-варианта КИМ ЕГЭ 2012 года) имеется ряд совершенно новых задач. В их числе:
Задача
(раздел,
номер)
A8
Тема
Метод решения
Кодирование
звука
B3
Программирование
B4
Системы
счисления
B7
Программирование
B9
Прикладные
программы
B11
Прикладные
программы
B13
Прикладные
программы
B14*
Программирование
B15
Логика
С3
Программирование
Простые вычисления и выбор правильного ответа.
Простая задача на определение объема закодированного звука.
Нужно не забыть, что бывает стереозвук, объем которого в 2
раза превышает объем моно‐записи. Сложность в том, что расчеты ведутся с достаточно большими и «неровными» числами,
поэтому возможны арифметические ошибки.
Анализ программы с циклами .
Достаточно стандартная задача на использование цикла "Пока".
Ранее подобное задание было с использованием блок-схем
Перебор слов с использованием разных систем счисления.
По внешнему виду эта задача похожа на задачи с символьными
последовательностями (В8 в ЕГЭ‐2011). Однако можно решить
ее значительно проще, используя системы счисления. Нужно
заменить буквы на цифры и понять, что получились числа в
некоей системе счисления, расположенные по возрастанию
Анализ программы с циклами и ветвлением. Применять ручную
прокрутку здесь недостаточно. Надо применить анализ на основе нескольких результатов прокрутки.
Применение теории графов. В этой задаче используется ориентированный граф. Для решения следует отсортировать вершины в таком порядке: сначала все вершины, в которые можно
доехать только из начальной точки, на каждом следующем шаге добавляются все вершины, в которые можно доехать только
из начальной точки и всех вершин добавленных, ранее (до этого шага) и т.д. Затем используется такая идея: для вычисления
количества путей в вершину X нужно сложить количество путей для всех вершин, из которых можно приехать сразу в X.
Определение адреса компьютера в сети. Новизна в том, что
используются числовые обозначения адресов компьютера в сети и маски сети. Здесь следует понимать, как строятся адреса в
сети компьютеров.
Анализ с использованием дерева решений. Здесь следует строить дерево из различных операций (на каждом шаге идет развилка на 2 ветки по числу возможных операций).
Анализ программы с процедурами. Для решения требуется, конечно, не прямая прокрутка, а, скорее, математический анализ.
Нужно увидеть, что программа ищет минимум функции F(x) на
интервале [a,b]. Затем анализируем функцию: это квадратичный трехчлен, поэтому минимум ищется с помощью знаний из
алгебры.
Решение систем логических уравнений.
Весьма сложная система логических уравнений...
Решение с помощью методов динамического программирования...
4
Данные новые задачи можно условно сгруппировать в четыре основные темы:
Тема 1. Кодирование информации и системы счисления (задачи A8, B4)
Тема 2. Логика (задача B15)
Тема 3. Прикладные программы (B9, B11, B13)
Тема 4. Программирование (B3, B7, B14, C1 и C3)
Тема 1. Кодирование информации и системы счисления
(задачи A8, B4)
A8 Задача на кодирование звука
В демо-варианте 2012 года приводится такая задача:
Производится одноканальная (моно) звукозапись с частотой дискретизации 16 кГц и
24‐битным разрешением. Запись длится 1 минуту, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?
1) 0,2
2) 2
3) 3
4) 4
Теоретические сведения
Эта задача достаточно простая – обычные вычисления с последующим выбором правильного варианта ответа. Сложность лишь в том, что, как правило, учащиеся не знакомы с тем, как
оцифровывается звук на компьютере. Кроме того, нужно провести вычисления с достаточно
большими числами (а без калькулятора это у учеников плохо получается). Наконец, требуется
выбрать наиболее близкое к ответу значение (а не точный ответ).
Теоретические сведения, требуемые для этой задачи, следующие:
 когда звук представляют в цифровом виде, то запоминают отдельные значения сигнала,
 какое количество отчетов запоминается за одну секунду - это частота дискретизации;
она, как и частота звуковых колебаний, измеряется в Герцах (один отсчет в секунду) или
в килоГерцах (тысяча отсчетов в секунду) и т.д.
 количество битов, которые выделяются на один отсчет, - это глубина кодирования,
 если указано, что запись звука двухканальная (стерео-звук), то полученное значение
следует умножить на два.
Пример
Производится одноканальная (моно) звукозапись с частотой дискретизации 16 кГц и
глубиной кодирования 24 бита. Запись длится 1 минуту, ее результаты записываются в файл,
сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру
полученного файла, выраженному в мегабайтах?
1) 0,2
2) 2
3) 3
4) 4
5
Решение:
1) так как частота дискретизации 16 кГц, за одну секунду запоминается 16000 значений сигнала,
2) так как глубина кодирования 24 бита = 3 байта, для хранения 1 секунды записи
требуется 16000  3 байта = 48 000 байт (для стерео записи – в 2 раза больше),
3) на 1 минуту = 60 секунд записи потребуется 60  48000 байта = 2 880 000 байт,
то есть около 3 Мбайт
4) таким образом, правильный ответ – 3.
Задачи для тренировки
1) Производится одноканальная (моно) звукозапись с частотой дискретизации 48
кГц и глубиной кодирования 16 бит. Запись длится 2 минуты, ее результаты записываются
в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 12
3) 13
4) 20 Ответ: 1
2) Производится одноканальная (моно) звукозапись с частотой дискретизации 22
кГц и глубиной кодирования 16 бит. Запись длится 2 минуты, ее результаты записываются
в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 1 2) 2
3) 5
4) 10 Ответ: 3
3) Производится двухканальная (стерео) звукозапись с частотой дискретизации 48
кГц и глубиной кодирования 24 бита. Запись длится 1 минуту, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 0,3 2) 4
3) 16
4) 132
Ответ: 3
4) Производится двухканальная (стерео) звукозапись с частотой дискретизации 22
кГц и глубиной кодирования 24 бита. Запись длится 2 минуты, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 12
3) 13
4) 15 Ответ: 4
5) Производится одноканальная (моно) звукозапись с частотой дискретизации 11
кГц и глубиной кодирования 24 бита. Запись длится 7 минут, ее результаты записываются
в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 13
3) 15
4) 22 Ответ: 2
6) Производится двухканальная (стерео) звукозапись с частотой дискретизации 11
кГц и глубиной кодирования 16 бит. Запись длится 6 минут, ее результаты записываются в
файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 12
3) 13
4) 15 Ответ: 4
6
7) Производится одноканальная (моно) звукозапись с частотой дискретизации
44,1 кГц и глубиной кодирования 16 бита. Запись длится 2 минуты, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?
1) 10 2) 11
3) 13
4) 15 Ответ: 1
8) Производится двухканальная (стерео) звукозапись с частотой дискретизации
44,1 кГц и глубиной кодирования 24 бит. Запись длится 1 минуту, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 12
3) 13
4) 15 Ответ: 4
9) Производится одноканальная (моно) звукозапись с частотой дискретизации 8
кГц и глубиной кодирования 16 бита. Запись длится 2 минуты, ее результаты записываются в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 1 2) 2
3) 3
4) 4
Ответ: 2
10) Производится двухканальная (стерео) звукозапись с частотой дискретизации 8
кГц и глубиной кодирования 24 бит. Запись длится 4 минуты, ее результаты записываются
в файл, сжатие данных не производится. Какое из приведенных ниже чисел наиболее
близко к размеру полученного файла, выраженному в мегабайтах?
1) 11 2) 12
3) 13
4) 15 Ответ: 1
B4 Задача на перебор слов, используя системы счисления
В демо-варианте 2012 года приводится такая задача:
Все 5‐буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот
начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 240‐м месте от начала списка.
По внешнему виду эта задача похожа на задачи с символьными последовательностями (В8 в
ЕГЭ‐2011). Однако можно решить ее значительно проще, используя системы счисления. Нужно
заменить буквы А, О и У на цифры 0, 1 и 2 и сообразить, что получились числа в троичной системе счисления, расположенные по возрастанию. Теперь остается перевести в троичную систему число 239 (на 1 меньше заданного номера, потому что числа начинаются с нуля, а нумерация данного списка – с единицы).
5
Для приведенной задачи возможен другой вариант. Всего слов 3 =243, поэтому нас интересует 4‐е слово с конца. Последнее слово – УУУУУ, перед ним – УУУУО, далее УУУУА и
УУУОУ. Но такой способ плохо работает для слов, стоящих в середине списка.
7
Теоретические сведения
Вспомним основные сведения по системам счисления. Напомним о 2-й, 8-й и 16-ричной системах счисления.
При записи чисел в 2-й системе используется только две цифры: 0 и 1. Для наглядности
приведем таблицу соответствия цифр 10-й системы и чисел двоичной системы (Таблица 1).
Нетрудно сразу усвоить и правила сложения в двоичной
Таблица 1.
Соответствие цифр 10-й системе: 0 + 1 = 1; 1 + 1 = 10; 10+ 1 = 11; 11+ 1 = 100 и т.д.
и чисел 2-ой систем
Для перевода чисел из 10-й системы в 2-ю действуют по
счисления
простому правилу:
Десятичная Двоичная
последовательно делят десятичное число на 2 до тех пор, пока в
система
система
результате не получиться 0, а затем выписывают остатки при
счисления счисления
делении в обратном порядке — это и даст двоичное представление исходного десятичного числа.
0
0
Например, переведем число 13 в двоичную систему счис1
1
ления.
2
10
13 : 2 = 6 остаток 1
6 : 2 = 3 остаток 0
3
11
3 : 2 = 1 остаток 1
4
100
1 : 2 = 0 остаток 1
Итак, получили 1310 = 11012 .
5
101
Для обратного перевода вспомним, что 2-я система (как и
6
110
десятичная) является позиционной системой.
7
111
Скажем, в десятичной системе 1310 =1*10 + 3*1.
Первую (крайнюю правую) позицию цифры назовем нуле8
1000
вой, следующую (справа налево) первой и т.д. Тогда,
9
1001
1310 = 1* 101 + 3 * 100 .
Значит, и 11012 = 1*23 + 1*22 + 0*21 + 1* 20 = 8 + 4 + 1 = 1310
Кстати, рекомендуется выучить таблицу степеней двойки (таблица 2) — это потребуется и в других заданиях.
Таблица 2. Степени числа 2
2в
Значение (в
Значение (в
степени 10-й системе) 2-й системе)
20
1
1
21
2
10
22
4
100
23
8
1000
2
4
16
10000
2
5
32
100000
26
64
1000000
27
128
10000000
28
256
100000000
29
512
1000000000
1024
10000000000
2
1
Перевод в 8-ю систему из 10-й и обратно делается аналогично. Для получения 8-ричного представления последовательно делят на 8 (пока не станет результат деления нулем) и выписывают остатки в обратном порядке. А при обратном переводе (в
10-ю из 8-й) используют тоже позиционность систем счисления.
Например,
13 : 8 = 1 остаток 5
1 : 8 = 0 остаток 1
Итак, получили 1310 = 158 .
Обратный перевод:
158 = 1* 81 + 5* 80 = 8 + 5 = 1310
8
Приведем таблицу соответствия 10-й, 2-й и 8-й систем (Таблица 3). Нетрудно видеть,
что тройки двоичных цифр соответствуют 8-ричному числу. Это позволяет легко переводить
числа из 2-й системы в 8-ричную и обратно.
Например,
108 10 = 1 101 1002 = 1548 . Убедимся, что тут все верно.
1548 = 1*82 + 5*81 +4*80 = 64 + 40 + 4 = 108 10
Совершенно аналогично все обстоит и с 16-ричной системой счисления по отношению
к 10-й системе. Отличие лишь в том, что в 16-й системе появляются дополнительные цифры A,
B, C, D, E, F (см. таблицу 4) . Нетрудно видеть, что четверки (тетрады) двоичных цифр соответствуют 16-ричной цифре. Это позволяет легко переводить числа из 2-й системы в 16-ричную
и обратно.
Например,
108 10 = 110 11002 = 6С16
Убедимся и здесь, что все верно.
6С16 = 6*161 + 12*160 = 96 + 12 = 108 10
Таблица 3. Соответствие чисел 10-й,
2-ой и цифр 8-й систем счисления
Таблица 4. Соответствие чисел 10-й,
2-ой и цифр 16-й систем счисления
Десятичная Двоичная
система
система
счисления счисления
8-я
система
счисления
Десятичная Двоичная
система
система
счисления счисления
16-я
система
счисления
0
0
0
0
0
0
1
1
1
1
1
1
2
10
2
2
10
2
3
11
3
3
11
3
4
100
4
4
100
4
5
101
5
5
101
5
6
110
6
6
110
6
7
111
7
7
111
7
8
1000
10
8
1000
8
9
1001
11
9
1001
9
10
1010
12
10
1010
A
11
1011
13
11
1011
B
12
1100
14
12
1100
C
13
1101
15
13
1101
D
14
1110
16
14
1110
E
15
1111
17
15
1111
F
При решении задач, связанных с использованием других систем счисления (например,
троичной, четверичной и т.д.) всё выполняется аналогично. При переводе из десятичной – делить на основание данной системы (скажем, на 3 при переводе в троичную), при обратном переводе (в десятичную) – умножать на основание в соответствующей степени и т.д.
9
Пример №1
Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 240-м месте от начала списка.
Решение (1 способ, перебор с конца):
1) подсчитаем, сколько всего 5-буквенных слов можно составить из трех букв;
2) очевидно, что есть всего 3 однобуквенных слова (А, О, У); двух буквенных слов
уже 33=9 (АА, АО, АУ, ОА, ОО, ОУ, УА, УО и УУ)
3) аналогично можно показать, что есть всего 35 = 243 слова из 5 букв
4) очевидно, что последнее, 243-е слово – это УУУУУ
5) далее идём назад: предпоследнее слово УУУУО (242-е), затем идет УУУУА (241е) и, наконец, УУУОУ (240-е)
6) Ответ: УУУОУ.
Решение (2 способ, троичная система):
1) по условию задачи важно только то, что используется набор из трех разных символов, для которых задан порядок (алфавитный); поэтому для вычислений можно использовать три любые символа, например, цифры 0, 1 и 2 (для них порядок очевиден
– по возрастанию)
2) выпишем начало списка, заменив буквы на цифры:
1. 00000
2. 00001
3. 00002
4. 00010
……
3) это напоминает (в самом деле, так оно и есть!) числа, записанные в троичной системе счисления в порядке возрастания: на первом месте стоит число 0, на втором – 1
и т.д.
4) тогда легко понять, что на 240-м месте стоит число 239, записанное в троичной
системе счисления
5) переведем 239 в троичную систему: 239 = 222123
6) заменяем обратно цифры на буквы: 22212  УУУОУ
7) Ответ: УУУОУ.
10
Пример №2
Все 5-буквенные слова, составленные из 5 букв А, К, Л, О, Ш, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААЛ
4. ААААО
5. ААААШ
4. АААКА
……
На каком месте от начала списка стоит слово ШКОЛА?
Решение:
1) по аналогии с предыдущим решением будем использовать пятеричную систему
счисления с заменой А  0, К  1, Л  2, О  3 и Ш  4
2) слово ШКОЛА запишется в новом коде так: 413205
3) переводим это число в десятичную систему:
413205 = 454 + 153 + 352 + 251 = 2710
4) поскольку нумерация элементов списка начинается с 1, а числа в пятеричной системе – с нуля, к полученному результату нужно прибавить 1, тогда…
5) Ответ: 2711.
Пример №3
Все 5-буквенные слова, составленные из букв А, О, У, записаны в обратном алфавитном
порядке. Вот начало списка:
1. УУУУУ
2. УУУУО
3. УУУУА
4. УУУОУ
……
Запишите слово, которое стоит на 240-м месте от начала списка.
Решение:
1) по условию задачи важно только то, что используется набор из трех разных символов,
для которых задан порядок (алфавитный); поэтому для вычислений можно использовать
три любые символа, например, цифры 0, 1 и 2 (для них порядок очевиден – по возрастанию)
2) выпишем начало списка, заменив буквы на цифры так, чтобы порядок символов был
обратный алфавитный (У → 0, О → 1, А → 2):
1. 00000
2. 00001
3. 00002
4. 00010
……
11
3) это напоминает (как и в Примере №1) числа, записанные в троичной системе счисления
в порядке возрастания: на первом месте стоит число 0, на втором – 1 и т.д.
4) тогда легко понять, что 240-м месте стоит число 239, записанное в троичной системе
счисления
5) переведем 239 в троичную систему: 239 = 222123
6) заменяем обратно цифры на буквы, учитывая обратный алфавитный порядок (0 →
У, 1 → О, 2 → А): 22212  АААОА
7) Ответ: АААОА.
Задачи для тренировки
1) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 101-м месте от начала списка. Ответ: ОАУАО
2) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 125-м месте от начала списка. Ответ: ОООУО
3) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 170-м месте от начала списка. Ответ: УААУО
4) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Запишите слово, которое стоит на 210-м месте от начала списка. Ответ: УОУАУ
12
5) Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
……
Запишите слово, которое стоит на 150-м месте от начала списка. Ответ: АРККК
6) Все 5-буквенные слова, составленные из букв А, К, Р, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААК
3. ААААР
4. ААААУ
5. АААКА
……
Запишите слово, которое стоит на 250-м месте от начала списка. Ответ: АУУРК
7) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Укажите номер первого слова, которое начинается с буквы У.
Ответ: 163
8) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Укажите номер слова ОАОАО.
Ответ: 92
9) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке.
Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Укажите номер слова УАУАУ.
Ответ: 183
13
10) Все 5-буквенные слова, составленные из букв А, О, У, записаны в алфавитном порядке. Вот начало списка:
1. ААААА
2. ААААО
3. ААААУ
4. АААОА
……
Укажите номер первого слова, которое начинается с буквы О.
Ответ: 82
Тема 2. Логика (задача B15)
B15 Задача на решение логических уравнений
Сколько существует различных наборов значений логических переменных x1,x2, ... x9, x10, которые удовлетворяют всем перечисленным ниже условиям?
((x1 ≡ x2)∨ (x3 ≡ x4)) ∧ (¬(x1 ≡ x2) ∨ ¬(x3 ≡ x4)) =1
((x3 ≡ x4)∨ (x5 ≡ x6)) ∧ (¬(x3 ≡ x4) ∨ ¬(x5 ≡ x6)) =1
...
((x7≡ x8)∨ (x9≡ x10)) ∧ (¬(x7≡ x8 ) ∨ ¬(x9 ≡ x10)) =1
В ответе не нужно перечислять все различные наборы значений x1, x2, ... x9, x10, при которых
выполнена данная система равенств. В качестве ответа вам нужно указать количество таких наборов.
Теоретические сведения
Данная задача является, пожалуй, наиболее сложной не только в части B, но и во всем задании на ЕГЭ по информатике. По результатам ЕГЭ-2011 такую задачу решили лишь 4% учащихся. Тогда как, например, задачу C4 (считающуюся самой сложной) - 6% сдававших ЕГЭ.
Для ее решения требуются некоторые познания из математической логики.
Напомним, что логическая операция И еще называется логическим умножением, поэтому
будем ее обозначать знаком умножения (а не символом  , которым её принято обозначать в
"настоящей" мат.логике). Операция ИЛИ – это логическое сложение, поэтому её обозначим "+"
(вместо  ) и для операции НЕ применим символ "черта сверху". Итак, основные требуемые
здесь сведения из математической логики следующие:
 условные обозначения логических операций
¬ A, A
не A (отрицание, инверсия)
A  B, A  B
A и B (логическое умножение, конъюнкция)
A  B, A  B
A или B (логическое сложение, дизъюнкция)
A→B
импликация (следование)
A ↔ B, A  B
эквиваленция (эквивалентность, равносильность)
 операцию «импликация» можно выразить через «ИЛИ» и «НЕ»:
A → B = ¬ A  B или в других обозначениях A → B = A  B
14
 операцию «эквиваленция» также можно выразить через «ИЛИ» и «НЕ»:
A ↔ B = ¬ A  ¬ B  A  B или в других обозначениях A ↔ B = A  B  A  B
 если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем
– «ИЛИ», и самая последняя – «импликация»
 логическое произведение A∙B∙C∙… равно 1 (выражение истинно) только тогда, когда все
сомножители равны 1 (а в остальных случаях равно 0)
 логическая сумма A+B+C+… равна 0 (выражение ложно) только тогда, когда все слагаемые
равны 0 (а в остальных случаях равна 1)
 правила преобразования логических выражений (законы алгебры логики):
Закон
Для И
Для ИЛИ
AA
двойного отрицания
исключения третьего
исключения констант
повторения
поглощения
переместительный
сочетательный
распределительный
де Моргана
A ·A  0
A · 1 = A; A · 0 = 0
A·A=A
A · (A + B) = A
A·B=B·A
A · (B · C) = (A · B) · C
A + B · C = (A + B) · (A + C)
A ·B  A  B
AA 1
A + 0 = A; A + 1 = 1
A+A=A
A+A·B=A
A+B=B+A
A + (B + C) = (A + B) + C
A · (B + C) = A · B + A · C
A  B  A ·B
Пример №1
Сколько различных решений имеет система уравнений
¬X1  X2 = 1
¬X2  X3 = 1
...
¬X9  X10 = 1
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Решение (табличный метод):
1) рассмотрим первое уравнение X 1  X 2  1 и составим для него таблицу истинности:
X1
X2
X1  X 2
0
0
1
1
0
1
0
1
1
1
0
1
2) третья строчка, выделенная фоном, не удовлетворяет условию, поэтому дальше ее рассматривать не будем; заметим, что 1-е уравнение дает 3 решения,
3) добавим в таблицу истинности X3 и рассмотрим второе уравнение X 2  X 3  1 (ясно, что
X1 не влияет на 2-е уравнение)
15
X2
X3
X2  X3
0
0
1
1
1
1
1
0
1
1
1
4) как видим, добавилась строка (т.е. добавилось еще одно решение) и отметим, что два
уравнения (и, значит, 3 неизвестные) дали 4 решения
5) видим, что 3-я строка не удовлетворяет условию, поэтому этот случай далее исключим;
6) добавим X4 и рассмотрим 3-е уравнение X 3  X 4  1 ; при каких значениях переменной
X4 будет верно условие X 3  X 4  1 ? Как и ранее, уже не влияет X1 и X2 :
X3
X4
X3  X4
0
0
1
1
1
1
1
0
1
1
1
7) и здесь видим, что добавилось еще одно решение (а выделенное фоном не удовлетворяет
условию)
8) понятно, что такая же ситуация будет продолжаться и дальше, то есть, при добавлении
каждой новой переменной число решений увеличивается на 1
9) рассуждая таким образом и дальше, получаем, что для 3-х уравнений с 4-мя переменными
будет 5 решений, для 4 уравнений – 6 решений, …, а для 9 уравнений – 11 решений
10) таким образом, ответ: 11 решений.
Рекомендации:

по-видимому, лучший способ решения задач этого типа основан на двух идеях:
 замена переменных (если она возможна), позволяющая сократить количество неизвестных и таким образом упростить решение
 последовательное решение уравнений, начиная с первого, затем система из первых двух, первых трех и т.д.
 для записи хода решения и минимизации путаницы лучше использовать табличный метод, при котором все переменные, от которых зависит очередное уравнение,
размещены в крайних левых столбцах таблицы
Пример №2
Сколько различных решений имеет система уравнений
¬(X1  X2)  (X3  X4) = 1
¬(X3  X4)  (X5  X6) = 1
¬(X5  X6)  (X7  X8) = 1
¬(X7  X8)  (X9  X10) = 1
16
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Решение:
1) введем обозначения Y1  ( X1  X 2 ) , Y2  ( X 3  X 4 ) ,
Y3  ( X 5  X 6 ) , Y4  ( X 7  X 8 ) и
Y5  ( X 9  X10 ) ; в результате получаем систему из 4 уравнений и 5 независимых переменных;
эта система уравнений относится к типу, который рассмотрен в предыдущей разобранной задаче:
¬Y1  Y2 = 1
¬Y2  Y3 = 1
¬Y3  Y4 = 1
¬Y4  Y5 = 1
2) как следует из разбора предыдущей задачи, такая система имеет 5+1 = 6 решений для переменных Y1 … Y5
3) теперь нужно получить количество решений в исходных переменных, X1 … X10; для этого
заметим, что переменные Y1 … Y5 независимы;
4) предположим, что значение Y1 известно (0 или 1); поскольку Y1  ( X1  X 2 ) , по таблице истинности операции «эквивалентность» (истина, когда два значения одинаковы), есть две соответствующих пары (X1;X2) (как для случая Y1 = 0, так и для случая Y1 = 1)
5) у нас есть 5 переменных Y1 … Y5, каждая их комбинация дает 2 пары (X1;X2), 2 пары (X3;X4),
2 пары (X5;X6), 2 пары (X7;X8) и 2 пары (X9;X10), то есть всего 25 = 32 комбинации исходных переменных
6) таким образом, общее количество решений равно 6 ·32 = 192
7) ответ: 192 решения
Пример №3
Сколько различных решений имеет система уравнений
(X1  X2)  (¬X1  ¬X2)  (X2  X3)  (¬X2  ¬X3) = 1
(X2  X3)  (¬X2  ¬X3)  (X3  X4)  (¬X3  ¬X4) = 1
...
(X8  X9)  (¬X8  ¬X9)  (X9  X10)  (¬X9  ¬X10) = 1
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Решение (табличный метод):
1) перепишем уравнения, используя более простые обозначения операций
X1  X 2  X1  X 2  X 2  X 3  X 2  X 3  1
X2  X3  X2  X3  X3  X 4  X3  X4  1
...
X 8  X 9  X 8  X 9  X 9  X10  X 9  X10  1
17
2) заметим, что по свойству операции эквивалентности X 1  X 2  X 1  X 2  ( X 1  X 2 ) , поэтому
уравнения можно переписать в виде
( X1  X 2 )  ( X 2  X 3 )  1
(X2  X3)  (X3  X4)  1
...
( X 8  X 9 )  ( X 9  X10 )  1
3) сделать замену переменных так, чтобы новые переменные был независимы друг от друга,
здесь довольно затруднительно, поэтому будем решать уравнения последовательно табличным
методом
4) рассмотрим все возможные комбинации первых двух переменных X1 и X2, и сразу попытаемся для каждой из них подобрать значения третьей так, чтобы выполнялось первое уравнение
( X1  X 2 )  ( X 2  X 3 )  1 :
X3 X2 X1
?
0
0
?
0
1
?
1
0
?
1
1
5) очевидно, что в первой и последней строчках таблицы, где X1  X 2 , значения X3 могут быть
любыми, то есть каждая из этих строчек дает два решения; в то же время во второй и третьей
строках, где X1  X 2 , мы сразу получаем, что для выполнения первого равнения необходимо
X 2  X 3 , то есть, эти две строчки дают по одному решению:
X3 X2 X1
0
0
0
1
0
0
0
0
1
1
1
0
0
1
1
1
1
1
6) заметим, что количество решений для каждой строчки исходной таблицы (с двумя переменными) определялось лишь тем, равны значения в двух последних столбцах (X2 и X1) или не
равны;
7) переставим строки так, чтобы сверху стояли те строки, в которых X2 = X3:
X3 X2 X1
0
0
0
0
0
1
1
1
0
1
1
1
1
0
0
0
1
1
8) также заметим, что в новой таблице в четырех строках значения X2 = X3, а в остальных 2-х
эти переменные не равны;
9) поэтому на следующем шаге (при подключении четвертой переменной и третьего уравнения)
4 первые строки дадут по 2 варианта (всего 4·2=8) решений, из них 4 штуки с равными X4 и X3,
и 4 варианта, где X4 и X3 не равны
18
10) две нижние строки, где X2  X3, дадут 2 варианта, где X4 и X3 равны
11) в общем виде: если на шаге i в таблице решений есть
ni строк, где значения в двух самых левых столбцах таблицы равны, и …
mi строк, где значения в двух самых левых столбцах таблицы не равны,
то на следующем шаге будет (ni+mi) строк с равными значения в двух самых последних столбцах и ni строк с неравными значениями
12) эту последовательность можно записать в виде таблицы (i – число задействованных переменных):
X i  X i 1
X i  X i 1 всего решений
i
3
4
2
6
4
4+2=6
4
10
5
6+4=10
6
16
6
10+6=16
10
26
7
16+10=26
16
42
8
26+16=42
26
68
9
42+26=68
42
110
10
68+42=110
68
178
13) таким образом, для системы с 10 переменными общее количество решений равно
110 + 68 = 178
14) ответ: 178 решений
Решение (использование дерева для представления решения):
1) так же, как и в предыдущем варианте решения, перейдем к равносильной системе уравнений
( X1  X 2 )  ( X 2  X 3 )  1
(X2  X3)  (X3  X4)  1
...
( X 8  X 9 )  ( X 9  X10 )  1
2) все переменные логические, в принятых обозначениях каждая из них может быть равна 1 или
0; для X1 получаем два варианта, которые можно представить в виде
X
0
1
1
3) при этом X2 может быть любым, то есть, имеем всего 4 варианта
X1
X2
0
0
1
1
0
1
4) теперь рассматриваем переменную X3; если X1 = X2, то уравнение ( X 1  X 2 )  ( X 2  X 3 )  1
выполняется при любом X3; если X1  X2, то это уравнение сразу дает X3 = X2; дерево получается уже неполным, число решений первого уравнения – 6:
19
X1
0
X2
X3
0
0
1
1
1
0
1
0
1
0
1
5) рассуждая аналогично, находим, что на следующем шаге (подключение переменной X 4 и
второго уравнения) получается 10 решений, затем – 16 и т.д.; в результате получается удвоенная последовательность Фибоначчи (2, 4, 6, 10, 16, 26, …), в которой каждый следующий элемент равен сумме двух предыдущих:
число решений
i
3
6
4
10
5
16
6
26
7
42
8
68
9
110
10
178
6) ответ: 178 решений
Задачи для тренировки
1) Сколько различных решений имеет система уравнений
((X1  X2)  (X3  X4))  (¬(X1  X2)  ¬(X3  X4)) = 0
((X3  X4)  (X5  X6))  (¬(X3  X4)  ¬(X5  X6)) = 0
((X5  X6)  (X7  X8))  (¬(X5  X6)  ¬(X7  X8)) = 0
((X7  X8)  (X9  X10))  (¬(X7  X8)  ¬(X9  X10)) = 0
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ: 64
2) Сколько различных решений имеет система уравнений
(X1  X2)  (¬X1  ¬X2)  (X1  X3) = 1
(X2  X3)  (¬X2  ¬X3)  (X2  X4) = 1
...
(X7  X8)  (¬X7  ¬X8)  (X7  X9) = 1
(X8  X9)  (¬X8  ¬X9)  (X8  X10) = 0
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ: 16
20
3) Сколько различных решений имеет система уравнений
(X1  X2)  (¬X1  ¬X2)  (X2  X3)  (¬X2  ¬X3) = 1
(X2  X3)  (¬X2  ¬X3)  (X3  X4)  (¬X3  ¬X4) = 1
...
(X8  X9)  (¬X8  ¬X9)  (X9  X10)  (¬X9  ¬X10) = 0
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ: 42
4) Сколько различных решений имеет система уравнений
(X1  X2)  (X1  X10)  (¬X1 ¬ X10)= 1
(X2  X3)  (X2  X10)  (¬X2 ¬ X10)= 1
...
(X9  X10)  (X9  X10)  (¬X9 ¬ X10)= 1
(X1  X10) = 0
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ: 0
5) Сколько различных решений имеет система уравнений
((X1  X2)  (X3  X4))  (¬(X1  X2)  ¬(X3  X4)) = 1
((X3  X4)  (X5  X6))  (¬(X3  X4)  ¬(X5  X6)) = 1
((X5  X6)  (X7  X8))  (¬(X5  X6)  ¬(X7  X8)) = 1
((X7  X8)  (X9  X10))  (¬(X7  X8)  ¬(X9  X10)) = 1
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ: 64
6) Сколько различных решений имеет система уравнений
¬(X1  X2)  ¬(X2  X3) = 1
¬(X2  X3)  ¬(X3  X4) = 1
...
¬(X8  X9)  ¬(X9  X10) = 1
где x1, x2, …, x10 – логические переменные? В ответе не нужно перечислять все различные
наборы значений переменных, при которых выполнено данное равенство. В качестве ответа
нужно указать количество таких наборов.
Ответ:2
7) Сколько различных решений имеет логическое уравнение
(X1  ¬ X2) (X2  ¬ X3) (X3  ¬ X4) (X4  ¬ X5) (¬X5  ¬ X6)= 1
где x1, x2, …, x6 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно
указать количество таких наборов.
Ответ: 11
8) Сколько различных решений имеет система уравнений
(¬X1  ¬X2  X3)  (¬X1  X2  ¬X3)  (X1  ¬X2  ¬X3) = 1
(¬X2  ¬X3  X4)  (¬X2  X3  ¬X4)  (X2  ¬X3  ¬X4) = 1
...
(¬X7  ¬X8  X9)  (¬X7  X8  ¬X9)  (X7  ¬X8  ¬X9) = 1
21
где x1, x2, …, x9 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно
указать количество таких наборов.
Ответ:3
9) Сколько различных решений имеет система уравнений?
(x1  x2)(x2  x3)(x3  x4)(x4  x5) = 1
(у1  у2)(у2  у3)(у3  у4)(у4  у5) = 1
x1  у1 = 1
где x1,x2,…,x5, у1,у2,…,у5 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Ответ: 11
10) Сколько различных решений имеет система уравнений?
(x1  x2)(x2  x3)(x3  x4)(x4  x5) = 1
(у1  у2)(у2  у3)(у3  у4)(у4  у5)= 1
x1  у1 = 0
где x1,x2,…,x5, у1,у2,…,у5 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Ответ:25
11) Сколько различных решений имеет система уравнений?
(x1  x2)(x2  x3)(x3  x4)(x4  x5)=1
(у1  у2)(у2  у3)(у3  у4)(у4  у5)=1
x1  у1 = 1
где x1,x2,…,x5, у1,у2,…,у5 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Ответ: 64
12) Сколько различных решений имеет система уравнений?
(x1  x2)  (x2  x3)  (x3  x4)  (x4  x5)=1
(у1  у2)  (у2  у3)  (у3  у4)  (у4  у5)=1
x5  у5 = 0
где x1,x2,…,x5, у1,у2,…,у5 – логические переменные? В ответе не нужно перечислять все различные наборы значений переменных, при которых выполнено данное равенство. В качестве ответа нужно указать количество таких наборов.
Ответ: 11
22
Тема 3. Прикладные программы (B9, B11, B13)
"Новинка" в ЕГЭ-2012 в виде задачи B9 проще всего (и нагляднее всего) решается с использованием теории графов. Теорию графов, увы, в школах не изучают, но применительно к данной
задаче в этой теории ничего сложного нет.
Теоретические сведения
Приведем основные сведения из теории графов:
 граф - это набор вершин и соединяющих их ребер); он обычно описывается в виде таблицы,
 чаще всего используется взвешенный граф, где с каждым ребром связано некоторое число
(вес), оно может обозначать, например, расстояние между городами или стоимость перевозки
 например, граф (см. ниже рисунок слева), в котором 5 вершин (A, B, C, D и E); он описывается таблицей, расположенной в центре; в ней, например, число 4 на пересечении строки В и
столбца С означает, что, во-первых, есть ребро, соединяющее В и С, и во-вторых, вес этого ребра равен 4; пустая клетка на пересечении строки А и столбца В означает, что ребра из А в В нет;
4
B
2
C
3
2
A
1
E
D
A
B
C
D
Е
A B C D Е
3 1
4
2
3 4
2
1
2 2
1
A
D
E
2
3
2
C
B
4
 обратите внимание, что граф по заданной таблице (она еще называется весовой матрицей)
может быть нарисован по-разному; например, той же таблице соответствует граф, показанный
на рисунке справа от нее;
 в приведенном примере матрица симметрична относительно главной диагонали; это может
означать, например, что стоимости перевозки из В в С и обратно равны (это не всегда так);
 желательно научиться быстро (и правильно) строить граф по весовой матрице и наоборот;
 если в город R можно приехать только из городов X, Y, и Z, то число различных путей из города A в город R равно сумме числа различных путей проезда из A в X, из A в Y и из A в Z, т. е.
NR  N X  NY  NZ ;
 число путей конечно, если в графе нет циклов – замкнутых путей.
23
B9 Задача на использование графов
Пример
На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, И, К.
По каждой дороге можно двигаться только в одном направлении, указанном
стрелкой. Сколько существует различных путей из города А в город К?
Это ориентированный граф, в котором есть исток или начальная точка (вершина А) и сток или
конечная точка (вершина К). Можно строить дерево различных путей, но это неэффективно,
потому что легко запутаться. Лучше отсортировать вершины в таком порядке: сначала все вершины, в которые можно доехать только из начальной точки, на каждом следующем шаге добавляются все вершины, в которые можно доехать только из начальной точки и всех вершин
добавленных, ранее (до этого шага) и т.д. Затем используется такая идея: для вычисления количества путей в вершину X нужно сложить количество путей для всех вершин, из которых можно приехать сразу в X.
Решение (1 способ, графический):
1) Будем показывать прямо на схеме число дорог в город как сумму дорог, приводящих в этот
город
2) Начнем с Б и Г (городов, куда есть по 1-й дороге из А). Рядом с "названием" города в скобках пишем число дорог к нему
Д
Б(1)Б
(1)
Ж
Ж
А
КК
1)
3) Посчитаем дороги в В: 1 (из A)+ 1(дороги города Б)+ 1(дороги города Г)= 3
Б (1)
Д
Ж
В (3)
А
И
К
Г(1)
Е
4) Теперь посчитаем дороги в Д, И, Е, Ж: в Д +1(из Б) +3(из В) = 4; в И те самые 4 дороги (из
Д); в Е +1 (дорога из Г), в Ж будет +3 (дороги из В) +1 (дорога из Е)
24
Д(1+3=4)
Б (1)Б
Ж(3+1=4)
В (3)В
АА
И (4)И
Е(1)Е
Г(1)Г(
5) Тогда число дорог в город К – это сумма дорог в города, с которыми он связан: Д, И, Ж, Е.
Б (1)
Ж(4)
В (3)
А
И (4)
Д (4)
К(4+4+4+1=13)
Г(1)
Е(1)
6) Ответ: 13.
Решение (2 способ, перебор всех путей с начала):
1) запишем все вершины, в которые есть прямой путь из вершины A: Б, В и Г; получается три
начальных отрезка: АБ, АВ, АГ
2) рассмотрим маршрут АБ: из Б можно ехать в В и Д, поэтому получаем два маршрута:
АБВ, АБД
3) рассматриваем конечные точки этих маршрутов: из В можно ехать в Д и Ж, а из Д – в И и К:
АБВД, АБВЖ, АБДИ, АБДК
4) снова смотрим на конечные точки: из Д едем в И и К, из Ж и И – только в К:
АБВДИ, АБВДК, АБВЖК, АБДИК, АБДК
5) из И едем только в К, таким образом, все возможные маршруты, содержащие участок АБ,
доведены до конечной точки К, всего 5 таких маршрутов:
АБВДИК, АБВДК, АБВЖК, АБДИК, АБДК
6) затем аналогично рассматриваем маршруты, которые начинаются с АВ:
АВД, АВЖ
АВДИ, АВДК, АВЖК
АВДИК, АВДК, АВЖК
всего 3 маршрута
7) наконец, остается рассмотреть маршруты, которые начинаются с АГ:
АГВ, АГЕ
АГВД, АГВЖ, АГЕЖ, АГЕК
АГВДИ, АГВДК, АГВЖК, АГЕЖК, АГЕК
АГВДИК, АГВДК, АГВЖК, АГЕЖК, АГЕК
всего 5 маршрутов
8) складываем количество маршрутов для всех начальных участков: 5+3+5=13
9) Ответ: 13.
25
Задачи для тренировки
1) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К?
Ответ: 12
Е
Б
А
Ж
В
К
З
Г
И
Д
2) рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З. По каждой дороге можно
двигаться только в одном направлении, указанном стрелкой. Сколько существует различных
путей из города А в город З?
Ответ: 14
Д
Б
Е
В
А
З
Г
Ж
3) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город З?
Ответ: 8
Д
Б
Е
В
А
З
Г
Ж
4) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К?
Ответ: 12
26
Е
Б
В
А
Ж
Г
К
З
И
Д
5) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город К?
Ответ: 18
Е
Б
В
А
Ж
Г
К
З
И
Д
6) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Ж?
Ответ: 20
Е
Б
В
А
Ж
Г
К
З
И
Д
7) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Ж? Ответ: 22
Е
Б
В
А
Г
Д
Ж
К
З
И
27
8) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Ж? Ответ: 46
Е
Б
В
А
Ж
Г
К
З
И
Д
9) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге
можно двигаться только в одном направлении, указанном стрелкой. Сколько существует различных путей из города А в город Ж? Ответ: 24
Е
Б
В
А
К
Ж
Г
З
И
Д
10) На рисунке – схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Сколько существует
различных путей из города А в город Ж?
Ответ: 33
Е
Б
В
А
К
Ж
Г
Д
З
И
28
B11 Задача на вычисления адреса компьютера в сети
Теоретические сведения
Для решения такой задачи следует знать, что каждый компьютер, подключенный к сети Интернет, должен иметь собственный адрес, который называют IP-адресом (IP = Internet Protocol)
IP-адрес состоит из четырех чисел, разделенных точками; каждое из этих чисел находится в
интервале 0…255 (т.е. на такое число отводится 1 байт или 8 двоичных разрядов), например:
192.168.85.210
Маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети
относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате
применения поразрядной конъюнкции к заданному адресу сети и его маске.
Маска сети также состоит из четырех чисел, разделенных точками; каждое из этих чисел
находится в интервале 0…255 – восьмибитное двоичное число, то есть десятичное число от 0 до
255 (поэтому каждую часть адреса и маски называют октетом). Например, маска 255.255.224.0
Рассмотрим на примерах.
Пример №1
В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает,
какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу узла сети и маске определите адрес сети:
IP-адрес: 10.8.248.131
Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента
IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
8
131
255
224
0
10
248
92
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Решение:
1) нужно помнить, что каждая часть в IP-адресе (и в маске) – восьмибитное двоичное число, то
есть десятичное число от 0 до 255 (поэтому каждую часть адреса и маски называют октетом)
2) поскольку 255 = 111111112, все части IP-адреса узла, для которых маска равна 255, входят в
IP-адрес сети без изменений (они полностью относятся к номеру сети)
3) поскольку 0 = 000000002, все части IP-адреса узла, для которых маска равна 0, в IP-адресе сети заменяются нулями (они полностью относятся к номеру узла в сети)
4) таким образом, мы почти определили адрес сети, он равен 10.8.X.0, где X придется определять дополнительно
5) переведем в двоичную систему третью часть IP-адреса и маски
248 = 111110002
224 = 111000002
6) заметим, что в маске сначала идет цепочка единиц, а потом до конца – цепочка нулей; это
правильно, число где цепочка единиц начинается не с левого края (не со старшего, 8-ого бита)
29
или внутри встречаются нули, не может быть маской; поэтому есть всего несколько допустимых чисел для последней части маски (все предыдущие должны быть равны 255):
100000002 = 128
110000002 = 192
111000002 = 224
111100002 = 240
111110002 = 248
111111002 = 252
111111102 = 254
111111112 = 255
7) выполним между этими числами поразрядную конъюнкцию – логическую операцию «И»;
маска 224 = 111000002 говорит о том, что первые три бита соответствующего числа в IP-адресе
относятся к номеру сети, а оставшиеся 5 – к адресу узла:
248 = 111110002
224 = 111000002
И = 111000002
переведем это число в десятичную систему – будет 11100002 = 25 + 26 + 27 = 224.
8) таким образом, полный адрес сети – 10.8.224.0
9) по таблице находим ответ: FADE (F=10, A=8, D=224, E=0)
Пример №2
Маской подсети называется 32-разрядное двоичное число, которое определяет, какая
часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет
адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1;младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.Например,маска подсети может
иметь вид:
11111111 11111111 11100000 00000000 (255.255.224.0)
Это значит, что 19 старших бит в IP-адресе содержит адрес сети, оставшиеся 13
младших бит содержат адрес компьютера в сети. Если маска подсети 255.255.255.240 и IPадрес компьютера в сети 162.198.0.44, то порядковый номер компьютера в сети равен_____
Решение:
1) эта задача аналогична предыдущей с той разницей, что требуется определить не номер сети, а номер компьютера (узла) в этой сети
2) нужно помнить, что каждая часть в IP-адресе (и в маске) – восьмибитное двоичное число,
то есть десятичное число от 0 до 255
3) первые три числа в маске равны 255, в двоичной системе это 8 единиц, поэтому первые
три числа IP-адреса компьютера целиком относятся к номеру сети
4) для последнего числа (октета) маска и соответствующая ей последняя часть IP-адреса
равны
240 = 111100002
44 = 001011002
5) выше фоном выделены нулевые биты маски и соответствующие им биты IP-адреса, определяющие номер компьютера в сети: 11002 = 12
6) Ответ: 12.
30
Пример №3
Маской подсети называется 32-разрядное двоичное число, которое определяет, какая
часть IP-адреса компьютера относится к адресу сети, а какая часть IP-адреса определяет
адрес компьютера в подсети. В маске подсети старшие биты, отведенные в IP-адресе компьютера для адреса сети, имеют значение 1;младшие биты, отведенные в IP-адресе компьютера для адреса компьютера в подсети, имеют значение 0.Например, маска подсети может
иметь вид:
11111111 11111111 11100000 00000000 (255.255.224.0)
Это значит, что 19 старших бит в IP-адресе содержит адрес сети, оставшиеся 13
младших бит содержат адрес компьютера в сети. Если маска подсети 255.255.240.0 и IPадрес компьютера в сети 162.198.75.44, то порядковый номер компьютера в сети равен_____
Решение:
1) первые два числа в маске равны 255, в двоичной системе это 8 единиц, поэтому первые
два числа IP-адреса компьютера целиком относятся к номеру сети и про них (в этой задаче)
можно забыть
2) последнее число в маске – 0, поэтому последнее число IP-адреса целиком относится к номеру узла
3) третье число маски – 240 = 111100002, это значит, что первые 4 бита третьей части адреса
(75) относятся к адресу сети, а последние 4 бита – к номеру узла:
240 = 111100002
75 = 010010112
4) выше фоном выделены нулевые биты маски и соответствующие им биты IP-адреса, определяющие старшую часть номера компьютера в сети: 10112 = 11
5) кроме того, нужно учесть еще и последнее число IP-адреса (44 = 001011002), таким образом, полный номер компьютера (узла) в двоичной и десятичной системах имеет вид
1011.001011002 = 11.44
6) для получения полного номера узла нужно перевести число 1011001011002 в десятичную
систему: 1011001011002 = 2860 или, что значительно удобнее, выполнить все вычисления в десятичной системе: первое число в полученном двухкомпонентном адресе 11.44 умножается на
28 = 256 (сдвигается на 8 битов влево), а второе просто добавляется к сумме:
11·256 + 44 = 2860
7) Ответ: 2860.
Пример №4
В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное
число, определяющее, какие именно разряды IP-адреса компьютера являются общими для
всей подсети - в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных чисел - по тем же правилам, что и IP-адреса.
Для некоторой подсети используется маска 255.255.252.0. Сколько различных адресов компьютеров теоретически допускает эта маска?
Примечание. На практике два из этих адресов не используются для узлов сети: адрес сети, в котором все биты, отсекаемые маской, равны 1, и широковещательный адрес, в котором
все эти биты равны 1.
Решение:
31
1) фактически тут нужно найти какое количество N бит в маске нулевое, и тогда количество вариантов, которые можно закодировать с помощью N бит равно 2N
2) каждая часть IP-адреса (всего 4 части) занимает 8 бит
3) поскольку младшая часть маски 255.255.252.0 нулевая, 8 бит уже свободны
4) третья часть маски 252 = 255 – 3 = 111111002 содержит 2 нулевых бита
5) общее число нулевых битов N = 10, число свободных адресов 2N = 1024
6) поскольку из них 2 адреса не используются (адрес сети и широковещательный адрес)
для узлов сети остается 1024 – 2 = 1022 адреса
7) Ответ: 1022.
Задачи для тренировки
1) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу узла в
этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу сети и маске определите адрес
сети: IP-адрес: 12.16.196.10 Маска: 255.255.224.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
192
0
255
12
248
16
196
128
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Ответ:DFAB
2) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу
узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу сети и маске
определите адрес сети:
IP-адрес: 145.92.137.88
Маска: 255.255.240.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
0
145
255
137
128
240
88
92
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Ответ: BHEA
32
3) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу
узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу сети и маске
определите адрес сети:
IP-адрес: 217.16.246.2 Маска: 255.255.252.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
244
217
16
2
255
252
246
0
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Ответ: BCAH
4) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу
узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу сети и маске
определите адрес сети:
IP-адрес: 146.212.200.55 Маска: 255.255.240.0
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
0
212
146
240
200
192
55
255
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Ответ: CBFA
5) В терминологии сетей TCP/IP маской сети называют двоичное число, которое показывает, какая часть IP-адреса узла сети относится к адресу сети, а какая – к адресу
узла в этой сети. Адрес сети получается в результате применения поразрядной конъюнкции к заданному адресу сети и его маске. По заданным IP-адресу сети и маске
определите адрес сети:
IP-адрес: 148.8.238.3 Маска: 255.255.248.0
33
При записи ответа выберите из приведенных в таблице чисел 4 фрагмента четыре элемента IP-адреса и запишите в нужном порядке соответствующие им буквы без точек.
A
B
C
D
E
F
G
H
232
255
248
0
8
3
238
148
Пример. Пусть искомый адрес сети 192.168.128.0 и дана таблица
A
B
C
D
E
F
G
128
168
255
8
127
0
17
H
192
В этом случае правильный ответ будет HBAF.
Ответ: HEAD
6) Если маска подсети 255.255.255.224 и IP-адрес компьютера в сети 162.198.0.157, то порядковый номер компьютера в сети равен_____ Ответ: 29
7) Если маска подсети 255.255.255.248 и IP-адрес компьютера в сети 156.128.0.227, то номер
компьютера в сети равен_____ Ответ: 3
8) Если маска подсети 255.255.255.240 и IP-адрес компьютера в сети 192.168.156.235, то номер компьютера в сети равен_____
Ответ: 11
9) В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число,
определяющее, какие именно разряды IP-адреса компьютера являются общими для всей подсети – в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных
чисел - по тем же правилам, что и IP-адреса. Для некоторой подсети используется маска
255.255.254.0. Сколько различных адресов компьютеров теоретически допускает эта маска, если два адреса (адрес сети и широковещательный) не используют? Ответ: 510
10) В терминологии сетей TCP/IP маской подсети называется 32-разрядное двоичное число, определяющее, какие именно разряды IP-адреса компьютера являются общими для всей
подсети - в этих разрядах маски стоит 1. Обычно маски записываются в виде четверки десятичных чисел - по тем же правилам, что и IP-адреса. Для некоторой подсети используется маска
255.255.255.128. Сколько различных адресов компьютеров теоретически допускает эта маска,
если два адреса (адрес сети и широковещательный) не используют?
Ответ: 126
34
B13 Задача на использование дерева решений
Пример №1
У исполнителя Калькулятор две команды:
1. прибавь 3,
2. вычти 2.
Первая из них увеличивает число на экране на 3, вторая – уменьшает его на 2 (отрицательные числа допускаются).
Программа для Калькулятора – это последовательность команд. Сколько различных чисел можно получить из числа 1 с помощью программы, которая содержит ровно 5 команд?
Здесь следует строить дерево из различных программ (на каждом шаге идет развилка на 2
ветки по числу возможных операций). В частном случае (если при изменении порядка выполнения двух заданных операций результат не меняется, например, если используются только
операции сложения и вычитания) число различных чисел равно N+1, где N – число команд. В
более сложных случаях (например, сложение и умножение) нужно строить полное дерево и
проверить, нет ли на последнем уровне совпадающих чисел.
Решение (1 способ, построение полного графа решения):
1) будем строить дерево решений следующим образом: выясним, какое число можно получить из начального значения 1 за 1 шаг:
-2
1
-1
+3
4
2) теперь посмотрим, что удается получить за 2 шага; учитывая, что (-2+3)=(+3-2), одно из
значений повторяется: мы можем получить -1 + 3 = 2 и 4 – 2 = 2, то есть получается не дерево, а
граф:
-2
1
-1
-3
+3
4
2
7
так с помощью программ, содержащих ровно 2 команды, можно получить 3 различных числа
3) строим еще уровень: программы из 3-х команд дают 4 разных числа:
-2
1
-1
4
2
-3
-5
+3
0
7
5
10
обратим внимание, что числа на каждом уровне отличаются друг от друга на 5 = (+3–(–2),
т.е. они не могут повторяться
4) четвертый уровень дает 5 различных чисел:
35
-2
1
-1
-7
4
2
-3
-5
+3
0
-2
7
5
3
10
8
13
5) и пятый – 6 решений:
-2
1
-1
-7
-9
0
-2
-4
4
2
-3
-5
+3
7
5
3
1
10
8
6
13
11
16
6) Ответ: 6.
Решение (2 способ, краткий):
1) как следует из приведенных построений, если система команд исполнителя состоит из двух команд сложения/ вычитания, то все возможные программы, содержащие ровно N команд , дают N+1 различных чисел
2) Ответ: 6.
Решение (3 способ):
1) для сложения справедлив переместительный (коммутативный) закон, значит, порядок команд в программе не имеет значения
2) поэтому существует всего 6 возможных программ, состоящих ровно из 5 команд
(с точностью до перестановки):
11111
11112
11122
11222
12222
22222
3) Ответ: 6.
Пример №2
У исполнителя Калькулятор две команды:
1. прибавь 1
2. умножь на 2.
Первая из них увеличивает число на экране на 1, вторая – удваивает его.
Программа для Калькулятора – это последовательность команд. Сколько различных чисел
можно получить из числа 2 с помощью программы, которая содержит ровно 4 команд?
Решение (1 способ, построение полного графа решения):
36
1) будем строить дерево решений следующим образом: выясним, какое число можно получить из начального значения 1 за 1 шаг:
2
+1
*2
3
4
2) теперь посмотрим, что удается получить за 2 шага:
+1
2
*2
3
4
4
6
5
8
в отличие от предыдущей задачи, здесь порядок выполнения операций влияет на результат,
поэтому пока все числа получаются разные
3) делаем 3-й шаг, получаем 8 разных чисел:
2
+1
*2
3
4
4
5
6
8
7
5
12
6
8
10
9
16
4) на 4-ом шаге рассматриваем все возможные программы из 4-х команд, получаем числа
6, 10, 9, 16, 8, 14, 13, 24, 7, 12, 11, 20, 10, 18, 17, 32
5) здесь всего 16 чисел, но одно из них (10) повторяется 2 раза, а остальные встречаются по 1
разу, поэтому получаем 15 различных чисел
6) Ответ: 15.
Решение (2 способ, с использованием систем счисления):
1) обозначим команду +1 за 0, а умножение на 2 - за 1 (т.е. как бы двоичная система счисления)
2) как известно, количество 4-хзначных двоичных чисел есть 2^4 = 16. Значит, существует 16
способов получения из числа 2 разных чисел за 4 команды.
3) однако числа могут и повторятся. Проверим это.
0000 = 2+1+1+1+1 =6
0001 = (2+1+1+1)*2=10
0010 = 9
0011 = 16
0100 = 8
0101 = 14
0110 = 13
0111 = 24
1000 = 7
1001 = 12
1010 = 11
1011 = 20
1100 = 10
1101 = 18
1110 = 17
1111 = 32
37
4) Видим, что число 10 повторяется, поэтому различных чисел будет 16 – 1 = 15.
5) Ответ: 15.
Задачи для тренировки
1) У исполнителя Калькулятор две команды:
1. прибавь 2
2. прибавь 3.
Первая из них увеличивает число на экране на 2, вторая – на 3. Сколько различных чисел
можно получить из числа 2 с помощью программы, которая содержит ровно 10 команд?
Ответ: 11
2) У исполнителя Калькулятор две команды:
1. прибавь 1
2. прибавь 2.
Первая из них увеличивает число на экране на 1, вторая – на 2. Сколько различных чисел
можно получить из числа 2 с помощью программы, которая содержит не более 4 команд?
Ответ: 9
3) У исполнителя Калькулятор две команды:
1. прибавь 2
2. умножь на 3.
Первая из них увеличивает число на экране на 2, вторая – утраивает его. Сколько различных чисел можно получить из числа 2 с помощью программы, которая содержит ровно 3 команды?
Ответ: 8
4) У исполнителя Калькулятор две команды:
1. прибавь 2
2. умножь на 3.
Первая из них увеличивает число на экране на 2, вторая – утраивает его. Сколько различных чисел можно получить из числа 2 с помощью программы, которая содержит не более 4
команд?
Ответ:23
5) У исполнителя Калькулятор две команды:
1. прибавь 1
2. прибавь 4.
Первая из них увеличивает число на экране на 1, вторая – на 4. Сколько различных чисел
можно получить из числа 2 с помощью программы, которая содержит не более 3 команд?
Ответ:10
6) У исполнителя Калькулятор две команды:
1. умножь на 2
2. умножь на 3.
38
Первая из них умножает число на экране на 2, вторая – утраивает его. Сколько различных
чисел можно получить из числа 2 с помощью программы, которая содержит ровно 3 команды?
Ответ:4
7) У исполнителя Калькулятор две команды:
1. умножь на 2
2. умножь на 3.
Первая из них умножает число на экране на 2, вторая – утраивает его. Сколько различных
чисел можно получить из числа 2 с помощью программы, которая содержит не более 3 команд?
Ответ:10
8) У исполнителя Калькулятор две команды:
1. прибавь 4,
2. вычти 3.
Первая из них увеличивает число на экране на 4, вторая – уменьшает его на 3 (отрицательные числа допускаются). Программа для Калькулятора – это последовательность
команд. Сколько различных чисел можно получить из числа 1 с помощью программы, которая содержит ровно 7 команд?
Ответ:8
Download