Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
А11.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
441.34 Кб
Скачать

А8 (базовый уровень, время – 2 мин)

В результате выполнения фрагмента программы

while n < > 0 do begin

write ( 2*(n mod 10)+1);

n := n div 10;

end;

на экран выведено число 13717. Какое число хранилось до этого в переменной n?

1) 716 2) 638 3) 386 4) 836

Решение (вариант 1):

  1. прежде всего, заметим, что для вывода используется оператор write, который не переходит на следующую строку; поэтому числа в цикле будут выводиться в одной строке «вплотную» друг к другу, без промежутков

  2. для решения можно использовать «ручную прокрутку» программы, то есть, выполнить программу вручную для всех приведенных ответов

  3. вспомним, что n mod 10 – остаток от деления числа на 10 – это последняя цифра числа в десятичной системе счисления;

  4. операция n div 10 (деление нацело на 10) равносильна отбрасыванию последней цифры в десятичной системе счисления

  5. эти две операции выполняются пока значение переменной n не станет равно нулю

  6. теперь можно построить таблицу ручной прокрутки; рассмотрим первый из ответов, 716:

n

n mod 10

вывод на экран

716

n <> 0?

write(2*(n mod 10)+1);

6

13

n := n div 10;

71

n <> 0?

write(2*(n mod 10)+1);

1

3

n := n div 10;

7

n <> 0?

write(2*(n mod 10)+1);

7

15

n := n div 10;

0

n <> 0?

здесь зеленым фоном выделено истинное условие цикла, а красным – ложное (при котором цикл будет завершен); видим, что в этом случае на экран будет выведена цепочка 13315, не равная заданной (13717)

  1. аналогично проверяем все остальные предложенные ответы и выясняем, что для последнего числа, 836, на экран выводится цепочка 13717, совпадающая с заданной

  2. таким образом, правильный ответ – 4.

A9 (базовый уровень, время – 2 мин)

Тема: Построение таблиц истинности логических выражений.

Про обозначения

К сожалению, обозначения логических операций И, ИЛИ и НЕ, принятые в «серьезной» математической логике (,, ¬), неудобны, интуитивно непонятны и никак не проявляют аналогии с обычной алгеброй. Автор, к своему стыду, до сих пор иногда путает и . Поэтому на его уроках операция «НЕ» обозначается чертой сверху, «И» – знаком умножения (поскольку это все же логическое умножение), а «ИЛИ» – знаком «+» (логическое сложение). В разных учебниках используют разные обозначения. К счастью, в начале задания ЕГЭ приводится расшифровка закорючек (,, ¬), что еще раз подчеркивает проблему.

Что нужно знать:

  • условные обозначения логических операций

¬ 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

  • если в выражении нет скобок, сначала выполняются все операции «НЕ», затем – «И», затем – «ИЛИ», и самая последняя – «импликация»

  • таблица истинности выражения определяет его значения при всех возможных комбинациях исходных данных

  • если известна только часть таблицы истинности, соответствующее логическое выражение однозначно определить нельзя, поскольку частичной таблице могут соответствовать несколько разных логических выражений (не совпадающих для других вариантов входных данных);

  • количество разных логических выражений, удовлетворяющих неполной таблице истинности, равно , где – число отсутствующих строк; например, полная таблица истинности выражения с тремя переменными содержит 23=8 строчек, если заданы только 6 из них, то можно найти 28-6=22=4 разных логических выражения, удовлетворяющие этим 6 строчкам (но отличающиеся в двух оставшихся)

  • логическая сумма A + B + C + … равна 0 (выражение ложно) тогда и только тогда, когда все слагаемые одновременно равны нулю, а в остальных случаях равна 1 (выражение истинно)

  • логическое произведение A · B · C · … равно 1 (выражение истинно) тогда и только тогда, когда все сомножители одновременно равны единице, а в остальных случаях равно 0 (выражение ложно)