Знающий PHP меньше ростом знающего JAVA;
Лабораторная работа
Тема:логические основы компьютера.
Теоретический материал.
Логическое высказывание — это любое повествовательное пpедлoжение, которое может быть только истинно или ложно.
Булева алгебра или алгебра логики — раздел математики, изучающий высказывания, рассматриваемые со стороны их логических значений (истинности или ложности) и логических операций над ними. Возникла в середине ХIХ века в трудах английского математика Джорджа Буля.
Отметим, что не всякое предложение является логическим высказыванием. Например, вопросительные и восклицательные предложения не являются высказываниями, поскольку говорить об их истинности или ложности не имеет смысла.
Алгебра логики рассматривает любое высказывание только с одной точки зрения — является ли оно истинным или ложным.
Употребляемые в обычной речи словосочетания "не", "и", "или", "если... , то", "тогда и только тогда" и другие позволяют из уже заданных высказываний строить новые высказывания. Такие слова и словосочетания называются логическими связками.
Bысказывания, образованные из других высказываний с помощью логических связок, называются составными. Высказывания, не являющиеся составными, называются элементарными (простыми).
Принято назначать имена логическим высказываниям, например, «Идет дождь» - А, «Светит солнце» - В, тогда составное высказывание «Идет дождь и светит солнце» кратко будет А и В,где«и» -логическая связка. А, В — логические переменные, которые могут принимать только два значения — "истина" или "ложь", обозначаемые, соответственно, "1" и "0".
Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение:
Ø НЕ операция, выражаемая словом "не", называется отрицанием и обозначается чертой над высказыванием (или знаком ). Высказывание А истинно, когда A ложно, и ложно, когда A истинно.
Ø Иоперация называется конъюнкцией (лат. conjunctio — соединение) или логическим умножением и обозначается точкой " . " или &. Высказывание А . В истинно тогда и только тогда, когда оба высказывания А и В истинны.
Ø ИЛИназывается дизъюнкцией(лат. disjunctio — разделение) или логическим сложением и обозначается знаком Ú или плюсом. Высказывание А Ú В ложно тогда и только тогда, когда оба высказывания А и В ложны.
Ø ЕСЛИ … ТОоперация называетсяимпликацией (лат. implico — тесно связаны) и обозначается знаком Þ . Высказывание А Þ В ложно тогда и только тогда, когда А истинно, а В ложно.
Ø РАВНОСИЛЬНО операция называется эквиваленциейили двойной импликацией и обозначается знаком Û или ~. Высказывание А Û В истинно тогда и только тогда, когда значения А и В совпадают.
Операции импликации и эквиваленции можно выразить через оставшиеся три логические операции: А Þ В = А Ú Ви А Û В = ( А Ú В)×( В Ú А). Следовательно, операций отрицания, дизъюнкции и конъюнкции достаточно, чтобы описывать и обрабатывать логические высказывания.
Приоритет выполнения логических операций - действия в скобках, отрицание ("не"), конъюнкция ("и"), дизъюнкция ("или"), импликация, эквиваленция. Порядок выполнения логических операций можно изменять круглыми скобками
С помощью логических переменных и символов логических операций любое высказывание можно формализовать, то есть заменить логической формулой (функцией).
Математический аппарат алгебры логики с двумя значениями логических переменных (1, 0) применяется для описания функционирования аппаратные средства компьютера, в основе которого двоичная система счисления. А также, одни и те же устройства компьютера могут применяться для обработки и хранения как числовой информации, представленной в двоичной системе счисления, так и логических переменных.
Принято значения логических функций записывать в виде таблиц (таблиц истинности). Число строк в такой таблице - это число возможных наборов значений аргументов (2n, где n - число переменных). Таблица истинности логической формулы выражает соответствие между всевозможными наборами значений переменных и значениями формулы.
Таблица истинности функции одной переменной Y=f(A) содержит всего 2 строки. Существует 4 различные логические функции одной переменной, например, отрицание переменной
A | A |
Таблицы истинности функции двух переменных, связанных различными логическими связками:
A | B | A&B | AVB | A=>B | A<=>B |
При построении таблицы истинности логической функции, содержащей более одной логической связки принято, включать в таблицу и значения промежуточных формул.
Пример. Построить таблицу истинности для логической функции y= (А + В) Ú А & C
Переменные | Промежуточные логические формулы | Функция | ||||||
A | B | C | B | A+B | (A+B) | A | A&C | (A+B) v A&C |
В алгебре логики существуют основные законы, используя которые можно выполнять тождественные преобразования логических выражений. Представим некоторые из них.
Закон | ИЛИ | И |
Переместительный (Коммутативный) | A v B = B v A. | A & B = B & A; |
Сочетательный (Ассоциативный) | A v (BvC) = (AvB) v C = A v B v C. | A&(B&C) = (A&B)&C = A&B&C; |
Распределительный (Дистрибутивный) | A v B&C = (A v B)&(A v C). | A&(B v C) = A&B v A&C; |
Решение логических задач
Наибольшее распространение получили следующие три способа решения логических задач:
· средствами алгебры логики;
· табличный;
· с помощью рассуждений.
В решении логических задач средствами алгебры логики используется следующая схема решения:
1) по условию задачи вводится система обозначений для логических высказываний;
2) конструируется логическая формула, описывающая логические связи между всеми высказываниями условия задачи;
3) определяются значения истинности этой логической формулы;
4) из полученных значений истинности формулы определяются значения истинности введённых логических высказываний, на основании которых делается заключение о решении.
Решение логических задач табличным способом заключается в фиксации условий задачи и результатов рассуждений в специально составленных таблицах.
Рассмотрим такое решение на примере. Три программиста некой фирмы Петя, Коля и Вася умеют программировать на 6 языках ((PHP, JAVA, DELPHI, VBA, PASCAL, FORTRAN). Известно, что:
Коля самый высокий;
знающий PHP меньше ростом знающего JAVA;