Онлайн-Книжки » Книги » 👨‍👩‍👧‍👦 Домашняя » Код. Тайный язык информатики - Чарльз Петцольд

Читать книгу "Код. Тайный язык информатики - Чарльз Петцольд"

580
0

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 25 26 27 ... 113
Перейти на страницу:

символ «+» (ранее обозначавший объединение) теперь означает ИЛИ;

символ «×» (ранее обозначавший пересечение) теперь означает И;

выражение «1 –» (ранее обозначавшее множество всех элементов, за исключением чего-то) теперь означает НЕ.

Именно поэтому приведенное выше выражение также может быть записано:

(М И С И (Б ИЛИ Р)) ИЛИ (Ж И С И (НЕ Б)) ИЛИ Ч.

Как видите, это соответствует тому, что вы сказали. Обратите внимание, как скобки уточняют ваши пожелания. Вам нужна кошка, принадлежащая одному из трех множеств.

(М И С И (Б ИЛИ Р))

ИЛИ

(Ж И С И (НЕ Б))

ИЛИ

Ч

С помощью этой формулы продавец может выполнить то, что называется проверкой условия. Незаметно мы перешли к несколько иной форме булевой алгебры, в которой буквы не обозначают множества. Вместо этого буквы теперь могут соответствовать числам. Однако буквам может быть присвоено только значение 0 или 1. Число 1 означает «да», «истина», данная конкретная кошка удовлетворяет этим критериям, число 0 — «нет», «ложь», данная кошка не удовлетворяет этим критериям.

Сначала продавец приносит нестерилизованного рыжего кота. Вот выражение, описывающее множество приемлемых кошек:

(М × С × (Б + Р)) + (Ж × С × (1 − Б)) + Ч.

Вот как оно выглядит после подстановки значений 0 и 1:

(1 × 0 × (0 + 1)) + (0 × 0 × (1 – 0)) + 0.

Обратите внимание: единственными символами, которым было присвоено значение 1, являются М и Р, поскольку речь идет о рыжем коте.

Теперь нужно упростить данное выражение. Если оно упрощается до 1, то кошка удовлетворяет вашим критериям; если оно упрощается до 0, то кошка критериям не удовлетворяет. Имейте в виду, что в процессе упрощения выражения мы на самом деле ничего не складываем и не умножаем, хотя обычно можем сделать вид, что выполняем эти операции. Большинство тех же правил применяются тогда, когда символ «+» означает ИЛИ, а символ «×» — И. Иногда в современных текстах для обозначения И и ИЛИ используются символы «∧» и «∨» вместо «×» и «+». Однако именно здесь символы «+» и «×», вероятно, имеют наибольший смысл.

Когда символ «×» означает И, возможны результаты:

0 × 0 = 0;

0 × 1 = 0;

1 × 0 = 0;

1 × 1 = 1.

Другими словами, результат равен 1 только в том случае, если левый И правый операнды равны 1. Эта операция соответствует обычному умножению и называется конъюнкцией, и ее можно описать с помощью небольшой таблицы, аналогичной таблицам сложения и умножения, приведенным в главе 8.

Когда символ «+» означает ИЛИ, возможны следующие результаты.

0 + 0 = 0;

0 + 1 = 1;

1 + 0 = 1;

1 + 1 = 1.

Результат равен 1, если левый ИЛИ правый операнд равен 1. Исход этой операции похож на результаты обычного сложения, за исключением того, что в данном случае 1 + 1 равно 1. Результаты операции ИЛИ, которая называется дизъюнкцией, можно представить в виде другой таблицы.

Мы готовы использовать эти таблицы для вычисления:

(1 × 0 × 1) + (0 × 0 × 1) + 0 = 0 + 0 + 0 = 0.

Результат 0 — «нет», «ложь», этот котенок не подходит.

Затем продавец приносит стерилизованную белую кошку. Исходное выражение выглядело так:

(М × С × (Б + Р)) + (Ж × С × (1 − Б)) + Ч.

Снова подставим в него значения 0 и 1:

(0 × 1 × (1 + 0)) + (1 × 1 × (1 – 1)) + 0.

И упростим его:

(0 × 1 × 1) + (1 × 1 × 0) + 0 = 0 + 0 + 0 = 0.

Еще один несчастный котенок отвергнут.

Затем продавец приносит стерилизованную серую кошку. (Серый соответствует критерию «другой окрас», то есть не белый, не черный и не рыжий.) Вот соответствующее выражение:

(0 × 1 × (0 + 0)) + (1 × 1 × (1 – 0)) + 0.

Теперь упростим его:

(0 × 1 × 0) + (1 × 1 × 1) + 0 = 0 + 1 + 0 = 1.

Результат вычисления, равный 1, означает «да», «истина», котенок нашел свой дом. (Кроме того, он оказался самым милым!)

Позже в тот же вечер, пока котенок спит у вас на коленях, вы спрашиваете себя, нельзя ли подключить несколько переключателей к лампочке для облегчения процесса проверки котят на соответствие вашим критериям. (Да, вы весьма странный ребенок.) Сами не зная того, вы вплотную приблизились к решающему концептуальному прорыву. Вы вот-вот проведете некоторые эксперименты, которые объединят алгебру Джорджа Буля с электричеством и сделают возможным проектирование и сборку компьютеров, работающих с двоичными числами. Однако пусть вас это не пугает.

Чтобы поставить такой эксперимент, вы, как обычно, соединяете лампочку и батарейку, но используете два переключателя вместо одного.

Считается, что переключатели, подключенные друг за другом, соединены последовательно. Если вы замыкаете левый переключатель, ничего не происходит.

Если вы оставляете левый переключатель разомкнутым, а замыкаете правый, также ничего не произойдет. Лампочка загорается, когда и левый, и правый переключатели оказываются замкнутыми.

Ключевым в данном случае является союз «и». Левый и правый переключатели должны быть замкнуты, чтобы ток шел по цепи.

Эта схема решает небольшую логическую задачу. Фактически лампочка отвечает на вопрос: «Замкнуты ли оба переключателя?» Мы можем суммировать результаты работы этой схемы в следующей таблице.

Левый переключатель

Правый переключатель

Лампочка

Разомкнут

Разомкнут

Не горит

Разомкнут

1 ... 25 26 27 ... 113
Перейти на страницу:

Внимание!

Сайт сохраняет куки вашего браузера. Вы сможете в любой момент сделать закладку и продолжить прочтение книги «Код. Тайный язык информатики - Чарльз Петцольд», после закрытия браузера.

Комментарии и отзывы (0) к книге "Код. Тайный язык информатики - Чарльз Петцольд"