Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые...

10
Урок 1.Логика Первые учения о формах и способах рассуждений возникли в странах Древнего Востока (Китай, Индия), но в основе современной логики лежат учения, созданные древнегреческими мыслителями. Основы формальной логики заложил Аристотель, который впервые отделил логические формы мышления (речи) от его содержания. Древнегреческий философ Аристотель стал основоположником формальной логики, которая отвлекается от конкретного содержания и изучает общие правила построения верных выводов из известной информации, которая считается истинной. Формальная логика изучает высказывания. Высказывание это повествовательное предложение, про которое можно однозначно сказать, что оно истинно или ложно. Используя это определение, проверим, можно ли считать высказываниями следующие предложения: 1) Сейчас идет дождь. 2) Вчера жирафы улетели на север. 3) Красиво! 4) Который час? 5) В городе N живут более 2 миллионов человек. 6) Посмотрите на улицу. 7) У квадрата 10 сторон, и все разные. 8) История интересный предмет. Здесь высказываниями являются только предложения 1, 2 и 7, остальные не подходят под определение. Утверждения 3 и 4 это не повествовательные предложения. Предложение 5 станет высказыванием только в том случае, если “N” заменить на название конкретного города. Предложение 6 это призыв к действию, а не утверждение. Утверждение 8 кто-то считает истинным, а кто-то ложным (нет однозначности), его можно более строго сформулировать в виде “По мнению N, история интересный предмет”. Для того чтобы оно стало высказыванием, нужно заменить “N” на имя человека. Какая же связь между логикой и компьютерами? В классической формальной логике высказывание может быть истинно или ложно, третий вариант исключается1. Если обозначить истинное значение единицей, а ложное нулем, то получится, что формальная логика представляет собой правила выполнения операций с нулями и единицами, то есть с двоичными кодами. Как вы помните, именно такой способ используется в компьютерах для кодирования всех видов информации. Поэтому обработку информации оказалось возможным свести к выполнению логических операций. Важный шаг в этом направлении сделал английский математик Джордж Буль. Он предложил применить для исследования логических высказываний математические методы. Позже этот раздел математики получил название алгебра логики, или булева алгебра. Алгебра логики это математический аппарат, с помощью которого записывают, вычисляют, упрощают и преобразовывают логические высказывания. Алгебра логики определяет правила выполнения операций с логическими величинами, которые могут быть равны только 0 или 1, то есть с двоичными данными. Используя эти правила, можно строить элементы памяти и выполнять арифметические действия. Контрольные вопросы 1. Объясните значения слов “логика”, “формальная логика”, “алгебра логики”. 2. Чем отличается формальная логика от “обычной”, бытовой? 3. Что такое высказывание? 4. Можно ли считать высказываниями эти предложения: а) Не плачь, девчонка! б) Почему я водовоз? в) Купите слоника! г) Клубника очень вкусная. д) Сумма X и Y равна 36. 5. Как вы думаете, зачем в курсе информатики изучается логика? Урок 2. Практикум по решению логических задач методом умозаключений. I Для составления цепочек используются бусины, помеченные буквами: A, B, C, D, E. На первом месте в цепочке стоит одна из бусин A, C, E. На втором любая гласная, если первая буква согласная, и любая согласная, если первая гласная. На третьем месте одна из бусин C, D, E, не стоящая в цепочке на первом месте. Какая из перечисленных цепочек создана по этому правилу? 1) CBE 2) ADD 3) ECE 4) EAD

Upload: others

Post on 30-May-2020

17 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Урок 1.Логика Первые учения о формах и способах рассуждений возникли в странах Древнего Востока (Китай,

Индия), но в основе современной логики лежат учения, созданные древнегреческими мыслителями. Основы формальной логики заложил Аристотель, который впервые отделил логические формы мышления (речи) от его содержания.

Древнегреческий философ Аристотель стал основоположником формальной логики, которая отвлекается от конкретного содержания и изучает общие правила построения верных выводов из известной информации, которая считается истинной. Формальная логика изучает высказывания.

Высказывание — это повествовательное предложение, про которое можно однозначно сказать, что оно истинно или ложно.

Используя это определение, проверим, можно ли считать высказываниями следующие предложения:

1) Сейчас идет дождь. 2) Вчера жирафы улетели на север. 3) Красиво! 4) Который час? 5) В городе N живут более 2 миллионов человек. 6) Посмотрите на улицу. 7) У квадрата 10 сторон, и все разные. 8) История — интересный предмет. Здесь высказываниями являются только предложения 1, 2 и 7, остальные не подходят под

определение. Утверждения 3 и 4 — это не повествовательные предложения. Предложение 5 станет высказыванием только в том случае, если “N” заменить на название

конкретного города. Предложение 6 — это призыв к действию, а не утверждение. Утверждение 8 кто-то считает истинным, а кто-то ложным (нет однозначности), его можно

более строго сформулировать в виде “По мнению N, история — интересный предмет”. Для того чтобы оно стало высказыванием, нужно заменить “N” на имя человека.

Какая же связь между логикой и компьютерами? В классической формальной логике высказывание может быть истинно или ложно, третий вариант исключается1. Если обозначить истинное значение единицей, а ложное — нулем, то получится, что формальная логика представляет собой правила выполнения операций с нулями и единицами, то есть с двоичными кодами. Как вы помните, именно такой способ используется в компьютерах для кодирования всех видов информации. Поэтому обработку информации оказалось возможным свести к выполнению логических операций. Важный шаг в этом направлении сделал английский математик Джордж Буль. Он предложил применить для исследования логических высказываний математические методы. Позже этот раздел математики получил название

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

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

которые могут быть равны только 0 или 1, то есть с двоичными данными. Используя эти правила, можно строить элементы памяти и выполнять арифметические действия.

Контрольные вопросы 1. Объясните значения слов “логика”, “формальная логика”, “алгебра логики”. 2. Чем отличается формальная логика от “обычной”, бытовой? 3. Что такое высказывание? 4. Можно ли считать высказываниями эти предложения: а) Не плачь, девчонка! б) Почему я водовоз? в) Купите слоника! г) Клубника очень вкусная. д) Сумма X и Y равна 36. 5. Как вы думаете, зачем в курсе информатики изучается логика?

Урок 2. Практикум по решению логических задач методом умозаключений. I Для составления цепочек используются бусины, помеченные буквами: A, B, C, D, E. На первом месте в цепочке стоит одна из бусин A, C, E. На втором – любая гласная, если первая буква согласная, и любая согласная, если первая гласная. На третьем месте – одна из бусин C, D, E, не стоящая в цепочке на первом месте. Какая из перечисленных цепочек создана по этому правилу?

1) CBE 2) ADD 3) ECE 4) EAD

Page 2: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

II Цепочка из трех бусин формируется по следующему правилу: На первом месте в цепочке стоит одна из бусин А, Б, В. На втором – одна из бусин Б, В, Г. На третьем месте – одна из бусин А, В, Г, не стоящая в цепочке на первом или втором месте.

Какая из следующих цепочек создана по этому правилу:

1) АГБ 2) ВАГ 3) БГГ 4) ББГ

III Восемь школьников, остававшихся в классе на перемене, были вызваны к директору. Возможно, один из них разбил окно в кабинете. На вопрос директора, кто это сделал, были получены следующие ответы: Егор: «Разбил Андрей!» Света: «Вика разбила». Оля: «Разбила Света». Миша: «Это кто-то с улицы!» Надя: «Да, Оля права...» Коля: «Это либо Вика, либо Света!» Андрей: «Ни Вика, ни Света этого не делали». Вика: «Андрей не бил!» Света «да какая там улица, это точно Вика!» Кто разбил окно, если известно, что из этих восьми высказываний истинно ровно три? Восемь школьников, остававшихся в классе на перемене, были вызваны к директору. Один из них разбил окно в кабинете. На вопрос директора, кто это сделал, были получены следующие ответы: Соня: «Это сделал Володя». Миша: «Это ложь!» Володя: «Я разбил!» Аня: «Это я разбила!» Оля: «Аня не разбивала!» Рома: «Разбила либо Соня, либо Оля...» Коля: «Девочки этого не делали». Толя: «Коля разбил!» Кто разбил окно, если известно, что из этих восьми высказываний истинно только два?

Урок 3-4. Логические операции Высказывания бывают простые и сложные. Простые высказывания нельзя разделить на более

мелкие высказывания, например: “Сейчас идет дождь” или “Форточка открыта”. Сложные (составные) высказывания строятся из простых с помощью логических связок (операций) “И”, “ИЛИ”, “НЕ”, “если…, то”, “тогда и только тогда”.

В булевой алгебре высказывания обычно обозначаются латинскими буквами. Таким образом, мы уходим от конкретного содержания высказываний, нас интересует только их истинность или ложность. Например, можно обозначить буквой A высказывание “Сейчас идет дождь”, а буквой B — высказывание “Форточка открыта”. Из них строятся сложные высказывания:

не A: “Сейчас нет дождя”. не B: “Форточка закрыта”. A и B: “Сейчас идет дождь, и открыта форточка”. A или B: “Сейчас идет дождь, или открыта форточка”. если A, то B: “Если сейчас идет дождь, то форточка открыта”. Кроме этих, есть еще и другие высказывания, которые можно получить из двух исходных. С

екоторыми из них мы также познакомимся. Операции “НЕ”, “И” и “ИЛИ” используются чаще других. Оказывается, с их помощью можно

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

Операция «НЕ» Операция “НЕ” часто называется отрицанием, или инверсией. В алгебре логики всего два знака,

0 и 1, поэтому логическое отрицание — это переход от одного значения к другому, от 1 к 0 или наоборот. Если высказывание A истинно, то “не А” ложно, и наоборот.

Для обозначения операции “НЕ” используются несколько способов. Выражение “не А” в алгебре логики записывается как A или ¬А, в языках программирования Паскаль и Бейсик — как not A.

Операцию “НЕ” можно задать в виде таблицы: А Не А 0 1 1 0

Page 3: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Эта таблица состоит из двух частей: слева перечисляются все возможные значения исходного высказывания (их всего два — 0 и 1), а в последнем столбце записывают результат выполнения логической операции для каждого из

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

логических значений в выходные. Операция «И» Пусть есть два высказывания: A — “Сейчас идет дождь”, B — “Форточка

открыта”. Слож ное высказывание “A и B” выглядит так: “Сейчас идет дождь, и форточка открыта”. Оно будет истинным (верным) в том и только в том случае, когда оба высказывания, A и B, истинны одновременно.

Для понимания операции “И” можно представить себе простую схему, в которой для включения лампочки используются два выключателя, соединенных последовательно (см. рисунок).

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

Операция “И” (в отличие от “НЕ”) выполняется с двумя логическими значениями, которые мы обозначим как A и B. Результат этой операции в алгебре логики записывают как А⋅B, А ⋅ B или А & B. В языках программирования используют обозначения “A and B” (Паскаль, Бейсик) или “A && B” (Си).

В таблице истинности будет уже не один столбец с исходными данными, а два. Число строк также выросло с 2 до 4, поскольку для 2 бит мы получаем 4 разных комбинации: 00, 01, 10 и 11. Эти строчки расположены в определенном порядке: двоичные числа, полученные соединением битов A и B, идут в порядке возрастания от 0 до 3.

А В А ⋅ B

0 0 0 0 1 1 1 0 1 1 1 1

Как следует из определения, в последнем столбце будет всего одна единица, для варианта A =1

B = 1. Легко проверить, что этот результат можно получить “обычным” умножением A на B, поэтому операцию “И” называют логическим умножением. Существует и другое название этой операции — конъюнкция (от лат. conjunctio —союз, связь).

Операция «ИЛИ» Высказывание “Сейчас идет дождь, или форточка открыта” истинно тогда, когда истинно хотя

бы одно из входящих в него высказываний, или оба одновременно. В алгебре логики операция “ИЛИ” обозначается как А+B или А ⋅ B, в языках программирования — “A or B” (Паскаль, Бейсик) или “A || B” (Си).

Можно представить себе схему с двумя выключателями, соединенными параллельно (см. рисунок). Чтобы лампочка загорелась, достаточно включить хотя бы один из выключателей. Чтобы выключить лампочку, необходимо обязательно выключить оба. В таблице истинности будет только один ноль, для варианта A =0 B = 0.

А В А ⋅ B

0 0 0 0 1 1 1 0 1 1 1 1

Операцию “ИЛИ” называют логическим сложением, потому что она похожа на обычное

математическое сложение. Единственное отличие — в последней строке таблицы истинности: в математике 1 + 1 равно 2, а в алгебре логики — 1. Другое название операции “ИЛИ” — дизъюнкция (от лат. disjunctio — разделение).

Доказано, что операций “НЕ”, “И” и “ИЛИ” достаточно для того, чтобы записать с их помощью любую логическую операцию, которую только можно придумать. Например, для двух переменных существует всего 24 = 16 логических операций.

Page 4: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Импликация Мы часто используем логическую связку “если …, то”, например: “Если пойдет дождь, то я

надену плащ” или “Если все стороны прямоугольника равны, то это квадрат”. В логике эта связка называется импликацией (следованием) и обозначается стрелкой: A->B (“если A, то B”, “из A следует B”).

А В А —> B

0 0 0 0 1 1 1 0 1 1 1 1

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

например, такое: “Если хорошо работаешь, то получаешь большую зарплату”. Обозначим буквами два простых высказывания: A — “хорошо работаешь” и B — “получаешь большую зарплату”. Понятно, что если высказывание A->B истинно, то все, кто хорошо работают (A = 1), должны получать большую зарплату (B = 1). Если же кто-то работает хорошо (A = 1), а получает мало (B = 0), то высказывание A->B ложно.

Лодыри и бездельники (A = 0) могут получать как маленькую (B = 0), так и большую зарплату (B = 1), это не нарушает справедливость высказывания A->B. Иногда, определяя импликацию, говорят так: из истины следует истина, а из лжи — что угодно. Это значит, что при ложном высказывании A высказывание B может быть как ложно, так и истинно.

Нужно обратить внимание на разницу между высказываниями вида “если A, то B” в обычной жизни и в алгебре логики. В быту мы чаще всего имеем в виду, что существует причинно-следственная связь между A и B, то есть именно A вызывает B. Алгебра логики не устанавливает взаимосвязь явлений; истинность высказывания A->B говорит только о возможности такой связи. Например, с точки зрения алгебры логики может быть истинным высказывание

“если Вася — студент, то Петя — лыжник”. Импликация чаще всего используется при решении логических задач. Например, условие “если

A, то B” можно записать в виде A->B=1. Для импликации (в отличие от других изученных операций с двумя переменными) не

действует переместительный закон: если в записи A->B поменять местами A и B, то результат изменится:

A->B≠B->A. Внешне это видно по стрелке, которая указывает “направление”. Импликацию можно заменить на выражение, использующее только базовые операции (здесь

— только “НЕ” и “ИЛИ”): A->B=A⋅B. Доказать это равенство вы уже можете самостоятельно.

Решите приведенные ниже задания. Далее вы получите индивидуальные задания.

Каково наибольшее целое число X, при котором истинно высказывание (50<X·X) –> (50>(X+1) ·(X+1))?

Каково наибольшее целое число X, при котором истинно высказывание

(90<X·X) –> (X < (X -1)) ?

Для какого из указанных значений числа X истинно высказывание

((X < 5) –> (X < 3)) /\ ((X < 2) –> (X < 1))

1) 1 2) 2 3) 3 4) 4

Page 5: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Для какого числа X истинно высказывание

X>1 /\ ((X<5) -> (X<3))

1) 1 2) 2 3) 3 4) 4

Для какого числа X истинно высказывание

((X>3) \/(X<3)) –> (X<1)

1) 1 2) 2 3) 3 4) 4

Для какого из указанных значений X истинно высказывание ¬ ((X>2) –> (X>3))?

1) 1 2) 2 3) 3 4) 4

Урок 5. Алгебра логики

Определите ответы на тесты:

Page 6: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Урок 6. Таблицы истинности и работа с ними

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

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

Задание Докажите, что равносильны выражения А->B и ¬А\/В

Урок 7. Практическая работа

Page 7: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Урок 8.Базовые логические элементы

Page 8: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Урок 9. Синтез логических схем по таблицам истинности.

Page 9: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

Теперь нам надо перейти от таблицы истинности к логическому выражению. Для этого: 1.Подчеркнем строки, где в качестве результата 1 в СУММЕ 2. перемножаем аргументы в этих строках, причем те переменные, значения которых равны 0 берутся с отрицанием. 3.Сложим полученные конъюнкции.

Аналогично поступаем и для переноса. Запишите формулу для переноса. Далее можно реализовать эти функции в виде логической схемы:

Это ПОЛУСУММАТОР, так как в нем не учтен перенос из предыдущего разряда. Урок 10. Виды моделей. Практическая работа. 1).Таблица стоимости перевозок устроена следующим образом: числа, стоящие на пересечениях строк и столбцов таблиц, означают стоимость проезда между соответствующими соседними станциями. Если пересечение строки и столбца пусто, то станции не являются соседними. Укажите таблицу, для которой выполняется условие: “Минимальная стоимость проезда из А в B не больше 6”. Стоимость проезда по маршруту складывается из стоимостей проезда между соответствующими соседними станциями. Предварительно постройте графические модели

1) 2) 3) 4)

A B C D Е A 3 1 B 4 2 C 3 4 2 D 1 Е 2 2

A B C D Е A 3 1 1 B 4 C 3 4 2 D 1 Е 1 2

A B C D Е A 3 1 B 4 1 C 3 4 2 D 1 Е 1 2

A B C D Е A 1 B 4 1 C 4 4 2 D 1 4 Е 1 2

Page 10: Урок 1.Логикаpnal1955.narod.ru › 11-2-1.pdfУрок 1.Логика Первые учения о формах и способах рассуждений возникли

2. В таблице приведена стоимость перевозок между соседними железнодорожными станциями. Укажите схему, соответствующую таблице, предварительно построив свою. A B C D Е A 1 4 1 B 1 3 C 4 2 D 3 Е 1 2

1) 2)

3) 4)

Грунтовая дорога проходит последовательно через населенные пункты А, B, С и D. При этом длина дороги между А и В равна 80 км, между В и С – 50 км, и между С и D – 10 км. Между А и С построили новое асфальтовое шоссе длиной 40 км. Оцените минимально возможное время движения велосипедиста из пункта А в пункт В, если его скорость по грунтовой дороге – 20 км/час, по шоссе – 40 км/час. Урок 11. Запросы с использованием логических высказываний в базах данных

Сколько записей в нижеследующем фрагменте турнирной таблицы удовлетворяют условию «Место <=4 И (Н>2 ИЛИ О>6)»?

Место Участник В Н П О 1 Силин 5 3 1 6 ½ 2 Клеменс 6 0 3 6 3 Холево 5 1 4 5 ½ 4 Яшвили 3 5 1 5 ½ 5 Бергер 3 3 3 4 ½ 6 Численко 3 2 4 4

1)

5 2)

2 3)

3 4)

4

Дан фрагмент базы данных номер Фамилия Имя Отчество класс школа 1 Иванов Петр Олегович 10 135 2 Катаев Сергей Иванович 9 195 3 Беляев Иван Петрович 11 45 4 Носов Антон Павлович 7 4 Какую строку будет занимать фамилия ИВАНОВ после проведения сортировки по возрастанию в поле КЛАСС? 1) 1 2) 2 3) 3 4) 4 Ниже в табличной форме представлен фрагмент базы данных о результатах тестирования учащихся Фамилия Пол Математика Русский язык Химия Информатика Биология Аганян ж 82 56 46 32 70 Воронин м 43 62 45 74 23 Григорчук м 54 74 68 75 83 Роднина ж 71 63 56 82 79 Сергеенко ж 33 25 74 38 46 Черепанова ж 18 92 83 28 61 Сколько записей в данном фрагменте удовлетворяют условию «Пол=’м’ ИЛИ Химия>Биология»?