Теоретический минимум по Computer Science. Все что нужно программисту и разработчику - читать онлайн книгу. Автор: Владстон Феррейра Фило cтр.№ 3

читать книги онлайн бесплатно
 
 

Онлайн книга - Теоретический минимум по Computer Science. Все что нужно программисту и разработчику | Автор книги - Владстон Феррейра Фило

Cтраница 3
читать онлайн книги бесплатно


Теоретический минимум по Computer Science. Все что нужно программисту и разработчику

Рис. 1.4. Логика программиста [7]


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

Операторы

В математике переменные и операторы (+, ×, −, …) используются для моделирования числовых задач. В математической логике переменные и операторы указывают на достоверность. Они выражают не числа, а истинность (true) или ложность (false). Например, достоверность выражения «Если вода в бассейне теплая, то я буду плавать» основывается на достоверности двух вещей, которые можно преобразовать в логические переменные A и B:

A: Вода в бассейне теплая.

B: Я плаваю.

Они либо истинны (true), либо ложны (false) [8]. A = True обозначает теплую воду в бассейне, B = False обозначает «Я не плаваю». Переменная B не может быть наполовину истинной, потому что я не способен плавать лишь отчасти. Зависимость между переменными обозначается символом Теоретический минимум по Computer Science. Все что нужно программисту и разработчику , условным оператором. A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B выражает идею, что A = True влечет за собой B = True:

A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B: если вода в бассейне теплая, то я буду плавать.

При помощи других операторов можно выражать другие идеи. Для отрицания идеи используется знак! оператор отрицания.!A противоположно A:

!A: Вода в бассейне холодная.

!B: Я не плаваю.

Противопоставление. Если дано A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B, и я при этом не плаваю, что можно сказать о воде в бассейне? Теплая вода влечет за собой плавание, потому, если его нет, вода в бассейне не может быть теплой. Каждое условное выражение имеет противопоставленный ему эквивалент:

Для любых двух переменных A и B

A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B тождественно! B Теоретический минимум по Computer Science. Все что нужно программисту и разработчику !A.

Еще пример: если вы не умеете писать хороший код, значит, вы не прочли эту книгу. Противопоставлением данному суждению является такое: если вы прочли эту книгу, значит, вы умеете писать хороший код. Оба предложения сообщают одно и то же, но по-разному [9].

Двусторонняя условная зависимость. Обратите внимание, что высказывание «Если вода в бассейне теплая, то я буду плавать» не означает: «Я буду плавать только в теплой воде». Данное высказывание ничего не говорит насчет холодных бассейнов. Другими словами, A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B не означает B Теоретический минимум по Computer Science. Все что нужно программисту и разработчику A. Чтобы выразить оба условных суждения, используйте двустороннюю условную зависимость:

A <—> B: Я буду плавать, если и только если вода в бассейне теплая.

Здесь теплая вода в бассейне равнозначна тому, что я буду плавать: знание о воде в бассейне означает знание о том, что я буду плавать, и наоборот. Опять же, остерегайтесь обратной ошибки: никогда не предполагайте, что B Теоретический минимум по Computer Science. Все что нужно программисту и разработчику A следует из A Теоретический минимум по Computer Science. Все что нужно программисту и разработчику B.

AND, OR и XOR. Эти логические операторы — самые известные, поскольку они часто записываются в исходном коде в явном виде — AND (И), OR (ИЛИ) и XOR (исключающее ИЛИ). AND возвращает True, если все идеи истинны; OR возвращает True, если любая идея истинна; XOR возвращает True, если идеи взаимоисключающие. Представим вечеринку, где подают водку и вино:

A: Вы пили вино. Теоретический минимум по Computer Science. Все что нужно программисту и разработчику

B: Вы пили водку. Теоретический минимум по Computer Science. Все что нужно программисту и разработчику

Вернуться к просмотру книги Перейти к Оглавлению Перейти к Примечанию