Книга Теоретический минимум по Computer Science. Все что нужно программисту и разработчику, страница 3 – Владстон Феррейра Фило

Авторы: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ч Ш Ы Э Ю Я
Книги: А Б В Г Д Е Ж З И Й К Л М Н О П Р С Т У Ф Х Ц Ч Ш Щ Ы Э Ю Я
Бесплатная онлайн библиотека LoveRead.me

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

📃 Cтраница 3
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_016.jpg]

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


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

Операторы

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

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

B: Я плаваю.

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

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_017.jpg]
, условным оператором. A
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_018.jpg]
B выражает идею, что A = True влечет за собой B = True:

A

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_019.jpg]
B: если вода в бассейне теплая, то я буду плавать.

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

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

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

Противопоставление. Если дано A

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_020.jpg]
B, и я при этом не плаваю, что можно сказать о воде в бассейне? Теплая вода влечет за собой плавание, потому, если его нет, вода в бассейне не может быть теплой. Каждое условное выражение имеет противопоставленный ему эквивалент:

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

A

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_021.jpg]
B тождественно! B
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_022.jpg]
!A.

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

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

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_023.jpg]
B не означает B
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_024.jpg]
A. Чтобы выразить оба условных суждения, используйте двустороннюю условную зависимость:

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

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

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_025.jpg]
A следует из A
Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_026.jpg]
B.

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

A: Вы пили вино.

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_027.jpg]

B: Вы пили водку.

Иллюстрация к книге — Теоретический минимум по Computer Science. Все что нужно программисту и разработчику [i_028.jpg]

Реклама
Вход
Поиск по сайту
Ищем:
Календарь