Логические условия


Содержание

Логические операции. Дизъюнкция, конъюнкция и отрицание

Логические основы ЭВМ

Алгебра логики и логические основы компьютера

Алгебра логики (булева алгебра) – это раздел математики, возникший в XIX веке благодаря усилиям английского математика Дж. Буля. Поначалу булева алгебра не имела никакого практического значения. Однако уже в XX веке ее положения нашли применение в описании функционирования и разработке различных электронных схем. Законы и аппарат алгебры логики стал использоваться при проектировании различных частей компьютеров (память, процессор). Хотя это не единственная сфера применения данной науки.

Что же собой представляет алгебра логики? Во-первых, она изучает методы установления истинности или ложности сложных логических высказываний с помощью алгебраических методов. Во-вторых, булева алгебра делает это таким образом, что сложное логическое высказывание описывается функцией, результатом вычисления которой может быть либо истина, либо ложь (1, либо 0). При этом аргументы функции (простые высказывания) также могут иметь только два значения: 0, либо 1.

Что такое простое логическое высказывание? Это фразы типа «два больше одного», «5.8 является целым числом». В первом случае мы имеем истину, а во втором ложь. Алгебра логики не касается сути этих высказываний. Если кто-то решит, что высказывание «Земля квадратная» истинно, то алгебра логики это примет как факт. Дело в том, что булева алгебра занимается вычислениями результата сложных логических высказываний на основе заранее известных значений простых высказываний.

Логические операции. Дизъюнкция, конъюнкция и отрицание

Так как же связываются между собой простые логические высказывания, образуя сложные? В естественном языке мы используем различные союзы и другие части речи. Например, «и», «или», «либо», «не», «если», «то», «тогда». Пример сложных высказываний: «у него есть знания и навыки», «она приедет во вторник, либо в среду», «я буду играть тогда, когда сделаю уроки», «5 не равно 6».

Как мы решаем, что нам сказали правду или нет? Как-то логически, даже где-то неосознанно, исходя из предыдущего жизненного опыта, мы понимает, что правда при союзе «и» наступает в случае правдивости обоих простых высказываний. Стоит одному стать ложью и все сложное высказывание будет лживо. А вот, при связке «либо» должно быть правдой только одно простое высказывание, и тогда все выражение станет истинным.

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

Алгебра логики предусматривает множество логических операций. Однако три из них заслуживают особого внимания, т.к. с их помощью можно описать все остальные, и, следовательно, использовать меньше разнообразных устройств при конструировании схем. Такими операциями являются конъюнкция (И), дизъюнкция (ИЛИ) и отрицание (НЕ). Часто конъюнкцию обозначают &, дизъюнкцию — ||, а отрицание — чертой над переменной, обозначающей высказывание.

При конъюнкции@/a> истина сложного выражения возникает лишь в случае истинности всех простых выражений, из которых состоит сложное. Во всех остальных случаях сложное выражение будет ложно.

При дизъюнкции истина сложного выражения наступает при истинности хотя бы одного входящего в него простого выражения или двух сразу. Бывает, что сложное выражение состоит более, чем из двух простых. В этом случае достаточно, чтобы одно простое было истинным и тогда все высказывание будет истинным.

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

Для логических величин обычно используются три операции:

Конъюнкция – логическое умножение (И) – and, &, ∧.

Дизъюнкция – логическое сложение (ИЛИ) – or, |, v.

Логическое отрицание (НЕ) – not,.

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

Логические основы компьютера

В ЭВМ используются различные устройства, работу которых прекрасно описывает алгебра логики. К таким устройствам относятся группы переключателей, триггеры, сумматоры.

Кроме того, связь между булевой алгеброй и компьютерами лежит и в используемой в ЭВМ системе счисления. Как известно она двоичная. Поэтому в устройствах компьютера можно хранить и преобразовывать как числа, так и значения логических переменных.

Переключательные схемы

В ЭВМ применяются электрические схемы, состоящие из множества переключателей. Переключатель может находиться только в двух состояниях: замкнутом и разомкнутом. В первом случае – ток проходит, во втором – нет. Описывать работу таких схем очень удобно с помощью алгебры логики. В зависимости от положения переключателей можно получить или не получить сигналы на выходах.

Вентили, триггеры и сумматоры

Вентиль представляет собой логический элемент, который принимает одни двоичные значения и выдает другие в зависимости от своей реализации. Так, например, есть вентили, реализующие логическое умножение (конъюнкцию), сложение (дизъюнкцию) и отрицание.

Триггеры и сумматоры – это относительно сложные устройства, состоящие из более простых элементов – вентилей.

Триггер способен хранить один двоичный разряд, за счет того, что может находиться в двух устойчивых состояниях. В основном триггеры используется в регистрах процессора.

Сумматоры широко используются в арифметико-логических устройствах (АЛУ) процессора и выполняют суммирование двоичных разрядов.

Информация и информационные процессы. Виды информации, её двоичное кодирование. Количество информации, подходы к определению понятия «количество информации», единицы измерения информации. Двоичное кодирование числовой, текстовой, графической, звуковой информации

Информация (от лат. informatio — «разъяснение, изложение, осведомлённость») — сведения о чём-либо, независимо от формы их представления.

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

Свойства информации:

— Объективность (информация объективна, если она не зависит от чьего-либо мнения, суждения);

— Достоверность (информация достоверна, если она отражает истинное положение дел);

— Полнота (информация полна, если ее достаточно для понимания и принятия решения);

— Актуальность (информация актуальна, своевременна, если она важна, существенна для настоящего времени);

— Полезность (оценивается по тем задачам, которые мы можем решить с ее помощью);

— Понятность (информация понятна, если она выражена на языке, доступном для получателя);

— Доступность (информация доступна, если мы можем её получить).

Информационный процесс — совокупность последовательных действий (операций), производимых над информацией (в виде данных, сведений, фактов, идей, гипотез, теорий и пр.), для получения какого-либо результата (достижения цели).

Информация проявляется именно в информационных процессах. Информационные процессы всегда протекают в каких-либо системах (социальных, социотехнических, биологических и пр.).

Наиболее обобщенными информационными процессами являются сбор, преобразование, использование информации.

К основным информационным процессам, изучаемым в курсе информатики, относятся: поиск, отбор, хранение, передача, кодирование, обработка, защита информации.

Информационные процессы, осуществляемые по определенным информационным технологиям, составляет основу информационной деятельности человека.

Компьютер является универсальным устройством для автоматизированного выполнения информационных процессов.

Люди имеют дело со многими видами информации. Общение людей друг с другом дома и в школе, на работе и на улице – это передача информации. Учительский рассказ или рассказ товарища, телевизионная передача, телеграмма, письмо, устное сообщение и т.д. – все это примеры передачи информации.

И мы уже говорили о том, что одну и ту же информацию можно передать и получить различными путями. Так, чтобы найти дорогу в музей в незнакомом городе, можно спросить прохожего, получить справку в справочном бюро, попытаться разобраться самому с помощью плана города или обратиться к путеводителю. Когда мы слушаем объяснение учителя, читаем книги или газеты, смотрим новости ТВ, посещаем музеи и выставки – в это время мы получаем информацию.

Человек хранит полученную информацию в голове. Мозг человека – огромное хранилище информации. Блокнот или записная книжка, ваш дневник, школьные тетрадки, библиотека, музей, кассета с записями любимых мелодий, видеокассеты – все это примеры хранения информации.

Информацию можно обрабатывать: перевод текста с английского языка на русский и наоборот, вычисление суммы по заданным слагаемым, решение задачи, раскрашивание картинок или контурных карт – все это примеры обработки информации. Все вы любили в свое время раскрашивать книжки-раскраски. Оказывается, в это время вы занимались важным процессом – обработкой информации, черно-белый рисунок превращали в цветной.

Информацию можно даже терять. Допустим, Иванов Дима забыл дневник дома и поэтому записал домашнее задание на листочке. Но, играя на перемене, он сделал из него самолетик и запустил его. Придя домой, Дима не смог сделать домашнюю работу, он потерял информацию. Теперь ему нужно или попытаться вспомнить, что же ему задали, или позвонить однокласснику, чтобы получить нужную информацию, или идти в школу с невыполненным домашним заданием.

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

Двоичный алфавит состоит из двух цифр 0 и 1.

Цифровые ЭВМ (персональные компьютеры относятся к классу цифровых) используют двоичное кодирование любой информации. В основном это объясняется тем, что построить техническое устройство, безошибочно различающее 2 разных состояния сигнала, технически оказалось проще, чем то, которое бы безошибочно различало 5 или 10 различных состояний.

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

Не нашли то, что искали? Воспользуйтесь поиском:

I. Простые логические условия

Читайте также:

  1. III. Принципы обслуживания пациентов в условиях хосписа.
  2. V ЭКОЛОГИЧЕСКИЕ СИСТЕМЫ. БИОГЕОЦЕНОЗ (ЭКОСИСТЕМОЛОГИЯ)
  3. VI. Дополнительные условия
  4. Адаптации организмов к условиям среды
  5. Адаптивные экологические типы человека.
  6. Административная ответственность за экологические правонарушения
  7. Акмеологические основы самосовершенствования личности
  8. Акции бывают простые и привелегированные — это акции которые дают право акционерам всегда получать по ним дивиденды , но отнимают право участия в собрании акционеров .
  9. Анализ инвестиционных проектов в условиях инфляции
  10. Анализ инвестиционных проектов в условиях риска
  11. Анализ управленческих решений в условиях риска

Принятие решения в формулах

Для принятия решения используется логическая функция ЕСЛИ(). Анализ ситуации и выбор (принятие) решения. Во всех описанных ситуациях, требующих принятия решения, за словом «ЕСЛИ» следует логическое условие, принимающее значение ИСТИНА или ЛОЖЬ (условие – это аналог высказывания). По смыслу операции сравнения в логическом условии можно однозначно утверждать, что значение такого условия может быть ИСТИНА, если условие выполняется, и ЛОЖЬ ‑ в противном случае. Результат проверки логического условия (ИСТИНА или ЛОЖЬ) влияет на последующие действия в алгоритме.

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

Примеры применения логических функций

№ п/п Адрес ячейки Значение Функция, выражение Результат Анализ ситуации
I Простые логические условия
1.1 А1 B1 3,5 =А1>0 ИСТИНА Высказывание: значение в ячейке B1 будет ИСТИНА при любых положительных значениях в ячейке А1
1.2 A1 A2 B2 3,5 2,0 =A2>A1 ЛОЖЬ Высказывание: значение в ячейке B2 будет ИСТИНА при любых значениях в ячейках А2 и А1 таких, что значение в А2 должно быть больше, чем в А1.
1.3 А4 B4 C4 -0,00001 1,00E-5 =ABS(A4) =A2; A3 ИСТИНА Высказывание: значение в ячейке B7 будет ИСТИНА при значениях в ячейке A3, которые принадлежат интервалу [A1,A2) и ЛОЖЬ в противном случае.
2.2 A1 A2 A3 C3 3,5 2,0 2,5 =ИЛИ(A3=A1) ЛОЖЬ Высказывание: значение в ячейке C3 будет ИСТИНА при значениях в ячейке A3, которые не принадлежат интервалу [A1,A2) и ЛОЖЬ в противном случае
2.3 C5 C6 E6 5,75 (B5*B6 0) ИСТИНА Высказывание: значение в ячейке E6: ИСТИНА при разных по знаку значениях в ячейках B5 и B6 «И» одинаковых по знаку значениях в ячейкахС5 и С6; ЛОЖЬ в противном случае.
III Логическая функция ЕСЛИ для принятия решения
3.1 E2 =ЕСЛИ A2>A1;A2; A1) A2 Выполнить анализ результатов функции ЕСЛИ при других данных в ячейках А1, А2.
3.2 F1 F2 E4 Текст Текст =ЕСЛИ (ABS(A4) 0); F3;F5) Текст из ячейки F3 Выполнить анализ результатов функции ЕСЛИ при других данных в ячейках B5,B6 и C5,C6.

Пример 1.1. Переменная величина x может принимать значение на всей числовой оси. Проверить условие: x>0. Значение x введено в ячейку А1. Логическое выражение =A1>0 введено в ячейку B1. При каких других данных в ячейке А1 значение условия будет ИСТИНА?

Пример 1.2. Сравнить числовые значения x1 и x2, проверив условие x2 >x1. Значение x1 и x2 введены в ячейки А1 и А2, соответственно. Логическое выражение =A2>А1 введено в ячейку B2. При каких других данных в ячейках А1 и А2 значение логического условия будет ИСТИНА?

Пример 1.3. Сравнить значение f(x) c x, проверив условие ½f(x)½

Пример 1.4. Необходимое условие существования корня функции f(x) на интервале [a,b] ‑ смена знака функции f(x) на концах интервала. Сравнить значение f(x) на концах интервала, проверив условие f(a)*f(b) 3 +2x 2 -3x-1 в ячейку B5 ввести формулу

которую скопировать в ячейку В6. При копировании формулы адрес А5 заменился на А6 в соответствие с механизмом относительной адресации. После завершения ввода формул в ячейках В5 и В6 будут отображаться значения функции f(-3)=-1 и f(-2,5)=3,375.

В ячейку D6 введено логическое выражение =B5*B6

| следующая лекция ==>
Логические Функции. Алгебра логики | III. Логическая функция ЕСЛИ для принятия решения

Дата добавления: 2014-01-04 ; Просмотров: 499 ; Нарушение авторских прав? ;

Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет

Условия выбора и сложные логические выражения

Поиск информации в базе данных

Введение

Поиск информации в базе данных может осуществляться несколькими способами:

  1. Перебором записей базы данных. Способ неудобен, если база данных большая и/или с большим количеством полей.
  2. Используя встроенные возможности системы управления базы данных. Данный способ максимально адаптирован к пользователю.

Как правило, при использовании встроенных возможностей СУБД: используется язык SQL (Structured Query Language). Этот язык представляет собой непроцедурный язык, используемый для управления данными реляционных СУБД. Термин «непроцедурный» означает, что на данном языке можно сформулировать, что нужно сделать с данными, но нельзя проинструктировать, как именно это следует сделать. Иными словами, в этом языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и др.

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

Основы использования математической логики при работе с СУБД

Условия выбора и простые логические выражения

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

Оно выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина – это всегда ответ на вопрос: истинно ли данное высказывание.

Условие выбора – это условие, по которому выбираются только те записи, которые ему удовлетворяют.

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

= Равно >= больше или равно
не равно
> Больше 740

3. Влажность 100

Отношение «равно» истинно для двух символьных величин, если их длина одинакова и все соответствующие символы совпадают. При этом пробел – это тоже символ.

При сравнении (>, =, квартет

Сравнение между собой дат осуществляется в соответствии с календарной последовательностью.

Примеры сравнения дат:

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

Примеры сравнения времени:

23:05:12 false(так как логический код true = 1, а код false = 0).

Одна величина логического типа – простейшая форма логического выражения.

Условия выбора и сложные логические выражения

Кроме отношений и логических полей используются смысловые связки «И», «ИЛИ», «НЕ». Это знаки логических операций.

Определение:Выражения, содержащие логические операции, будем называтьсложными логическими выражениями.

Логические операции (по убыванию старшинства):

1. Операция отрицания (инверсия), знак операции «НЕ».

2. Операция логического умножения (конъюнкция), знак операции «И».

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

Операция «отрицание» — одноместная операция, так как использует один операнд (одну логическую величину). Операции «логическое умножение» и «логическое сложение» — двухместные операции, так как используют два операнда (две логические величины).

1. Операция отрицания (инверсия), знак операции «НЕ».

Правило:Отрицание изменяет значение логической величины на противоположное: НЕ (истина) = ложь; НЕ (ложь) = истина.

Пример:Пусть надо получить список всех книг, кроме книг Беляева А.Р.

Логическое выражение:НЕ (Автор = «Беляев А.Р.»)

Ход решения:

1) Из базы данных вырезаются все записи, которые удовлетворяют условию (Автор = «Беляев А.Р.»)

Примечание:если необходимо показывать не все столбцы базы данных, то вторым шагом оставляются только нужные столбцы

2. Операция логического умножения (конъюнкция), знак операции «И».

Правило:В результате логического умножения получается истина, если оба операнда истинны.

Пример:Пусть надо найти книги Беляева А.Р., изданные не раньше 1990 года.

Логическое выражение:(Автор = «Беляев А.Р.») И (Год >= 1990)

Ход решения:

1) Из базы данных сначала выбираются все записи, которые удовлетворяют первому условию (Автор = «Беляев А.Р.»)

2) Затем из найденных записей выбираются те записи, которые удовлетворяют второму условию (Год >= 1990)

Примечание:если необходимо показывать не все столбцы базы данных, то третьим шагом оставляются только нужные столбцы

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

Правило:В результате логического сложения получается истина, если значение хотя бы одного операнда истинно.

Пример:Пусть надо получить список всех книг Толстого Л.Н. и Тургенева И.С.

Логическое выражение:(Автор = «Толстой Л.Н.») ИЛИ (Автор = «Тургенев И.С.»)

Ход решения:

1) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Толстой Л.Н.»)

2) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Тургенев И.С.»)

3) Полученные результаты первых двух шагов склеиваются (отображаются в единой таблице)

Примечание:если необходимо показывать не все столбцы базы данных, то четвертым шагом оставляются только нужные столбцы

Примечание.

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

Таблицы истинности.

Пусть А и В – это логические операнды (то есть могут принимать значения И или Л). Тогда составим так называемую таблицу истинности.

Логические выражения

Теория к заданию 23 из ЕГЭ по информатике

Алгебра логики

Алгебра логики

Алгебра логики (англ. algebra of logic) — один из основных разделов математической логики, в котором методы алгебры используются в логических преобразованиях.

Основоположником алгебры логики является английский математик и логик Дж. Буль (1815–1864), положивший в основу своего логического учения аналогию между алгеброй и логикой. Любое высказывание он записывал с помощью символов разработанного им языка и получал «уравнения», истинность или ложность которых можно было доказать, исходя из определенных логических законов, таких как законы коммутативности, дистрибутивности, ассоциативности и др.

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

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

Например, «3 умножить на 3 равно 9», «Архангельск севернее Вологды» — истинные высказывания, а «Пять меньше трех», «Марс — звезда» — ложные.

Очевидно, что не всякое предложение может быть логическим высказыванием, т. к. не всегда есть смысл говорить о его ложности или истинности. Например, высказывание «Информатика — интересный предмет» неопределенно и требует дополнительных сведений, а высказывание «Для ученика 10-А класса Иванова А. А. информатика — интересный предмет» в зависимости от интересов Иванова А. А. может принимать значение «истина» или «ложь».

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


В алгебре логики различаются простые (элементарные) высказывания, обозначаемые латинскими буквами (A, B, C, D, …), и сложные (составные), составленные из нескольких простых с помощью логических связок, например таких, как «не», «и», «или», «тогда и только тогда», «если … то». Истинность или ложность получаемых таким образом сложных высказываний определяется значением простых высказываний.

Обозначим как А высказывание «Алгебра логики успешно применяется в теории электрических схем», а через В — «Алгебра логики применяется при синтезе релейно-контактных схем».

Тогда составное высказывание «Алгебра логики успешно применяется в теории электрических цепей и при синтезе релейно-контактных схем» можно кратко записать как А и В; здесь «и» — логическая связка. Очевидно, что поскольку элементарные высказывания А и В истинны, то истинно и составное высказывание А и В.

Каждая логическая связка рассматривается как операция над логическими высказываниями и имеет свое название и обозначение.

Логических значений всего два: истина (TRUE) и ложь (FALSE). Это соответствует цифровому представлению — 1 и . Результаты каждой логической операции можно записать в виде таблицы. Такие таблицы называют таблицами истинности.

Основные операции алгебры логики

1. Логическое отрицание, инверсия (лат. inversion — переворачивание) — логическая операция, в результате которой из данного высказывания (например, А) получается новое высказывание (не А), которое называется отрицанием исходного высказывания, обозначается символически чертой сверху ($A↖<->$) или такими условными обозначениями, как ¬, ‘not’, и читается: «не А», «А ложно», «неверно, что А», «отрицание А». Например, «Марс — планета Солнечной системы» (высказывание А); «Марс — не планета Солнечной системы» ($A↖<->$); высказывание «10 — простое число» (высказывание В) ложно; высказывание «10 — не простое число» (высказывание B ) истинно.

Операция, используемая относительно одной величины, называется унарной. Таблица значений данной операции имеет вид

A ¬A
истина ложь
ложь истина
A ¬A
1
1

Высказывание $A↖<->$ ложно, когда А истинно, и истинно, когда А ложно.

Геометрически отрицание можно представить следующим образом: если А — это некоторое множество точек, то $A↖<->$ — это дополнение множества А, т. е. все точки, которые не принадлежат множеству А.

2. Конъюнкция (лат. conjunctio — соединение) — логическое умножение, операция, требующая как минимум двух логических величин (операндов) и соединяющая два или более высказываний при помощи связки «и» (например, «А и В»), которая символически обозначается с помощью знака ∧ (А ∧ В) и читается: «А и В». Для обозначения конъюнкции применяются также следующие знаки: А ∙ В; А & В, А and В, а иногда между высказываниями не ставится никакого знака: АВ. Пример логического умножения: «Этот треугольник равнобедренный и прямоугольный». Данное высказывание может быть истинным только в том случае, если выполняются оба условия, в противном случае высказывание ложно.

Таблица истинности операции имеет вид

A B A ∧ B
истина ложь ложь
ложь истина ложь
ложь ложь ложь
истина истина истина
A B A ∧ B
1
1
1 1 1

Высказывание АВ истинно только тогда, когда оба высказывания — А и В истинны.

Геометрически конъюнкцию можно представить следующим образом: если А, В — это некоторые множества точек, то АВ есть пересечение множеств А и В.

3. Дизъюнкция (лат. disjunction — разделение) — логическое сложение, операция, соединяющая два или более высказываний при помощи связки «или» (например, «А или В»), которая символически обозначается с помощью знака ∨ В) и читается: «А или В». Для обозначения дизъюнкции применяются также следующие знаки: А + В; А or В; А | B. Пример логического сложения: «Число x делится на 3 или на 5». Это высказывание будет истинным, если выполняются оба условия или хотя бы одно из условий.

Таблица истинности операции имеет вид

A B AB
истина ложь истина
ложь истина истина
ложь ложь ложь
истина истина истина
A B AB
1 1
1 1
1 1 1

Высказывание АВ ложно только тогда, когда оба высказывания — А и В ложны.

Геометрически логическое сложение можно представить следующим образом: если А, В — это некоторые множества точек, то АВ — это объединение множеств А и В, т. е. фигура, объединяющая и квадрат, и круг.

4. Дизъюнкция строго-разделительная, сложение по модулю два — логическая операция, соединяющая два высказывания при помощи связки «или», употребленной в исключающем смысле, которая символически обозначается с помощью знаков ∨ ∨ или ⊕ (А ∨ ∨ В, АВ) и читается: «либо А, либо В». Пример сложения по модулю два — высказывание «Этот треугольник тупоугольный или остроугольный». Высказывание истинно, если выполняется какое-то одно из условий.

Таблица истинности операции имеет вид

А В АB
истина ложь истина
ложь истина истина
ложь ложь ложь
истина истина ложь
А В АB
1 1
1 1
1 1

Высказывание А ⊕ В истинно только тогда, когда высказывания А и В имеют различные значения.

5. Импликация (лат. implisito — тесно связываю) — логическая операция, соединяющая два высказывания при помощи связки «если. то» в сложное высказывание, которое символически обозначается с помощью знака → (АВ) и читается: «если А, то В», «А влечет В», «из А следует В», «А имплицирует В». Для обозначения импликации применяется также знак ⊃ (A ⊃ B). Пример импликации: «Если полученный четырехугольник квадрат, то около него можно описать окружность». Эта операция связывает два простых логических выражения, из которых первое является условием, а второе — следствием. Результат операции ложен только тогда, когда предпосылка есть истина, а следствие — ложь. Например, «Если 3 * 3 = 9 (А), то Солнце — планета (В)», результат импликации А → В — ложь.

Таблица истинности операции имеет вид

А В АВ
истина ложь ложь
ложь истина истина
ложь ложь истина
истина истина истина
А В АВ
1
1 1
1
1 1 1

Для операции импликации справедливо утверждение, что из лжи может следовать все что угодно, а из истины — только истина.

6. Эквивалентность, двойная импликация, равнозначность (лат. aequalis — равный и valentis — имеющий силу) — логическая операция, позволяющая из двух высказываний А и В получить новое высказывание А ≡ В, которое читается: «А эквивалентно B». Для обозначения эквивалентности применяются также следующие знаки: ⇔, ∼. Эта операция может быть выражена связками «тогда и только тогда», «необходимо и достаточно», «равносильно». Примером эквивалентности является высказывание: «Треугольник будет прямоугольным тогда и только тогда, когда один из углов равен 90 градусам».

Таблица истинности операции эквивалентности имеет вид

А В АВ
истина ложь ложь
ложь истина ложь
ложь ложь истина
истина истина истина
А В АВ
1
1
1
1 1 1

Операция эквивалентности противоположна сложению по модулю два и имеет результат «истина» тогда и только тогда, когда значения переменных совпадают.

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

Сложение по модулю два А ⊕ В $(A↖ <->∧B) ∧ (A ∧ B↖<->)$
Импликация А → В $A↖ <->∨ B$
Эквивалентность А ∼ В $(A↖ <->∧ B↖<->) ∨ (A ∧ B)$

Приоритет выполнения логических операций следующий: отрицание («не») имеет самый высокий приоритет, затем выполняется конъюнкция («и»), после конъюнкции — дизъюнкция («или»).

С помощью логических переменных и логических операций любое логическое высказывание можно формализовать, т. е. заменить логической формулой. При этом элементарные высказывания, образующие составное высказывание, могут быть абсолютно не связаны по смыслу, но это не мешает определять истинность или ложность составного высказывания. Например, высказывание «Если пять больше двух (А), то вторник всегда наступает после понедельника (В)» — импликация АВ, и результат операции в данном случае — «истина». В логических операциях смысл высказываний не учитывается, рассматривается только их истинность или ложность.

Рассмотрим, например, построение составного высказывания из высказываний А и В, которое было бы ложно тогда и только тогда, когда оба высказывания истинны. В таблице истинности для операции сложения по модулю два находим: 1 ⊕ 1 = 0. А высказывание может быть, например, таким: «Этот мяч полностью красный или полностью синий». Следовательно, если утверждение А «Этот мяч полностью красный» — истина, и утверждение В «Этот мяч полностью синий» — истина, то составное утверждение — ложь, т. к. одновременно и красным, и синим мяч быть не может.

Примеры решения задач

Пример 1. Определить для указанных значений X значение логического высказывания ((X > 3) ∨ (X 3) ∨ (1 3) ∨ (12 3) ∨ (3 2) → (X > 5)) .

Решение. Операция отрицания применена ко всему выражению ((X > 2) → (X > 5)) , следовательно, когда выражение ¬((X > 2) → (X > 5)) истинно, выражение ((X > 2) →(X > 5)) ложно. Поэтому необходимо определить, для каких значений X выражение ((X > 2) → (X > 5)) ложно. Операция импликации принимает значение «ложь» только в одном случае: когда из истины следует ложь. А это выполняется только для X = 3; X = 4; X = 5.

Пример 3. Для каких из приведенных слов ложно высказывание ¬(первая буква гласная ∧ третья буква гласная) ⇔ строка из 4 символов? 1) асса; 2) куку; 3) кукуруза; 4) ошибка; 5) силач.

Решение. Рассмотрим последовательно все предложенные слова:

1) для слова асса получим: ¬(1 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;

2) для слова куку получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 1 — высказывание истинно;

3) для слова кукуруза получим: ¬ (0 ∧ 0) ⇔ 0, 1 ⇔ 0 — высказывание ложно;

4) для слова ошибка получим: ¬ (1 ∧ 1) ⇔ 0, 0 ⇔ 0 — высказывание истинно;

5) для слова силач получим: ¬ (0 ∧ 0) ⇔ 1, 1 ⇔ 0 — высказывание ложно.

Логические выражения и их преобразование

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

  • выражения, которые используют операции сравнения («больше», «меньше», «равно», «не равно» и т. п.) и принимают логические значения (например, выражение а > b , где а = 5 и b = 7, равно значению «ложь»);
  • непосредственные логические выражения, связанные с логическими величинами и логическими операциями (например, A ∨ В ∧ С, где А = истина, B = ложь и C = истина).

Логические выражения могут включать в себя функции, алгебраические операции, операции сравнения и логические операции. В этом случае приоритет выполнения действий следующий:

  1. вычисление существующих функциональных зависимостей;
  2. выполнение алгебраических операций (вначале умножение и деление, затем вычитание и сложение);
  3. выполнение операций сравнения (в произвольном порядке);
  4. выполнение логических операций (вначале операции отрицания, затем операции логического умножения, логического сложения, последними выполняются операции импликации и эквивалентности).

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

Пример. Найти значение выражения:

$1 ≤ a ∨ A ∨ sin(π/a — π/b) a + b ∨ A ∧ B)$ для а = 2, b = 3, A = истина, В = ложь.

Решение. Порядок подсчета значений:

1) b a + a b > a + b, после подстановки получим: 3 2 + 2 3 > 2 + 3, т. е. 17 > 2 + 3 = истина;

2) A ∧ B = истина ∧ ложь = ложь.

Следовательно, выражение в скобках равно (b a + a b > a + b ∨ A ∧ B) = истина ∨ ложь = истина;

3) 1≤ a = 1 ≤ 2 = истина;

4) sin(π/a — π/b) =1» (значение дизъюнкции равно 1, если сумма двух операндов больше или равна 1). Знак «&» на схеме И является сокращенной записью английского слова and.

Из логических элементов составляются электронные логические схемы, выполняющие более сложные логические операции. Набор логических элементов, состоящий из элементов НЕ, ИЛИ, И, с помощью которых можно построить логическую структуру любой сложности, называется функционально полным.

Построение таблиц истинности логических выражений

Для логической формулы всегда можно записать таблицу истинности, т. е. представить заданную логическую функцию в табличном виде. В этом случае таблица должна содержать все возможные комбинации аргументов функции (формулы) и соответствующие значения функции (результаты формулы на заданном наборе значений).

Удобной формой записи при нахождении значений функции является таблица, содержащая, кроме значений переменных и значений функции, также значения промежуточных вычислений. Рассмотрим пример построения таблицы истинности для формулы $↖ <->∧ X2 ∨ ↖ <->∨ X1$.

X1 X2 $↖<->$ $↖<->$ \ X2 X1 ∧ X2 $↖<->$ $↖<->$ ∧ X2 ∨ $↖<->$ $↖<->$ ∧ X2 ∨ $↖<->$ ∨ X1
1 1 1 1
1 1 1
1 1 1 1 1 1
1 1 1 1

Если функция принимает значение 1 при всех наборах значений переменных, она является тождественно-истинной; если при всех наборах входных значений функция принимает значение 0, она является тождественно-ложной; если набор выходных значений содержит как 0, так и 1, функция называется выполнимой. Приведенный выше пример является примером тождественно-истинной функции.

Зная аналитическую форму логической функции, всегда можно перейти к табличной форме логических функций. С помощью заданной таблицы истинности можно решить обратную задачу, а именно: для заданной таблицы построить аналитическую формулу логической функции. Различают две формы построения аналитической зависимости логической функции по таблично заданной функции.

1. Дизъюнктивно нормальная форма (ДНФ) — сумма произведений, образованных из переменных и их отрицаний для ложных значений.

Алгоритм построения ДНФ следующий:

  1. в таблице истинности функции выбирают наборы аргументов, для которых логические формы равны 1 («истина»);
  2. все выбранные логические наборы как логические произведения аргументов записывают, последовательно соединив их между собой операцией логической суммы (дизъюнкции);
  3. для аргументов, которые являются ложными, в построенной записи проставляют операцию отрицания.

Пример. Построить функцию, определяющую, что первое число равно второму, используя метод ДНФ. Таблица истинности функции имеет вид

X1 X2 F(X1, X2)
1 1 1
1
1
1

Решение. Выбираем наборы значений аргументов, в которых функция равна 1. Это первая и четвертая строки таблицы (строку заголовка при нумерации не учитываем).

Записываем логические произведения аргументов этих наборов, объединив их логической суммой: X1 ∧ X2 ∨ X1 ∧ X2 .

Записываем отрицание относительно аргументов выбранных наборов, имеющих ложное значение (четвертая строка таблицы; второй набор в формуле; первый и второй элементы): X1 ∧ X2 ∨ $↖<->$ ∧ $↖<->$.

2. Конъюнктивно нормальная форма (КНФ) — произведение сумм, образованных из переменных и их отрицаний для истинных значений.

Алгоритм построения КНФ следующий:

  1. в таблице истинности выбирают наборы аргументов, для которых логические формы равны 0 («ложь»);
  2. все выбранные логические наборы как логические суммы аргументов записывают последовательно, соединив их между собой операцией логического произведения (конъюнкции);
  3. для аргументов, которые являются истинными, в построенной записи проставляют операцию отрицания.

Примеры решения задач

Пример 1. Рассмотрим предыдущий пример, т. е. построим функцию, определяющую, что первое число равно второму, используя метод КНФ. Для заданной функции ее таблица истинности имеет вид

X1 X2 F(X1, X2)
1 1 1
1
1
1

Решение. Выбираем наборы значений аргументов, в которых функция равна 0. Это вторая и третья строки (строку заголовка при нумерации не учитываем).

Записываем логические суммы аргументов этих наборов, объединив их логическим произведением: X1 ∨ X2 ∧ X1 ∨ X2 .

Записываем отрицание относительно аргументов выбранных наборов, имеющих истинное значение (вторая строка таблицы, первый набор формулы, второй элемент; для третьей строки, а это второй набор формулы, первый элемент): X1 ∨ $↖<->$ ∧ $↖<->$ ∨ X2.

Таким образом, получена запись логической функции в КНФ.

Полученные двумя методами значения функций являются эквивалентными. Для доказательства этого утверждения используем правила логики: F(X1, X2) = X1 ∨ $↖<->$ ∧ $↖<->$ ∨ X2 = X1 ∧ $↖<->$ ∨ X1 ∧ X2 ∨ $↖<->$ ∧ $↖<->$ ∨ $↖<->$ ∧ X2 = 0 ∨ X1 ∨ X2 ∨ $↖<->$ ∧ $↖<->$ ∨ 0 = X1 ∧ X2 ∨ $↖<->$ ∧ $↖<->$.

Пример 2. Построить логическую функцию для заданной таблицы истинности:

X1 X2 F(X1, X2)
1 1 1
1
1 1

Решение. Используем алгоритм ДНФ для построения исходной функции:

X1 X2 F(X1, X2)
1 1 1 X1 ∧ X2
1
1 1 $↖<->$ ∧ X2

Искомая формула: X1 ∧ X2 ∨ $↖<->$ ∧ X2 .

Ее можно упростить: X1 ∧ X2 ∨ $↖<->$ ∧ X2 = X2 ∧ (X1 ∨ $↖<->$) = X2 ∧ 1 = X2.

Пример 3. Для приведенной таблицы истинности построить логическую функцию, используя метод ДНФ.

X1 X2 X3 F(X1, X2, X3)
1 1 1 1 X1 ∧ X2 ∧ X3
1 1
1 1 1 $↖<->$ ∧ X2 ∧ X3
1
1 1 1 X1 ∧ X2 ∧ $↖<->$
1 1 X1 ∧ $↖<->$ ∧ $↖<->$
1

Искомая формула: X1 ∧ X2 ∧ X ∨ $↖<->$ ∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧ $↖<->$ ∪ X1 ∧ $↖<->$ ∧ $↖<->$.

Формула достаточно громоздка, и ее следует упростить:

X1 ∧ X2 ∧ X3 ∨ $↖<->$ ∧ X2 ∧ X3 ∨ X1 ∧ X2 ∧ $↖<->$ ∨ X1 ∧ $↖<->$ ∧ $↖<->$ = X2 ∧ X3 ∧ (X1 ∨ $↖<->$) ∨ X1 ∧ $↖<->$ ∧ (X2 ∨ $↖<->$) = X2 ∧ X3 ∨ X1 ∧ $↖<->$.

Таблицы истинности для решения логических задач

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

Примеры решения задач

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

Решение. Очевидно, что результатом решения будет таблица, в которой искомая функция Y(X1, X2, X3) будет иметь значение «истина», если какие-либо две переменные имеют значение «истина».

X1 X2 X3 Y(X1, X2, X3)
1 1 1
1 1 1
1 1 1
1
1 1 1
1
1

Пример 2. Составить расписание уроков на день, учитывая, что урок информатики может быть только первым или вторым, урок математики — первым или третьим, а физики — вторым или третьим. Возможно ли составить расписание, удовлетворив всем требованиям? Сколько существует вариантов расписания?

Решение. Задача легко решается, если составить соответствующую таблицу:

1-й урок 2-й урок 3-й урок
Информатика 1 1
Математика 1 1
Физика 1 1

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

  1. математика, информатика, физика;
  2. информатика, физика, математика.

Пример 3. В спортивный лагерь приехали трое друзей — Петр, Борис и Алексей. Каждый из них увлекается двумя видами спорта. Известно, что таких видов спорта шесть: футбол, хоккей, лыжи, плавание, теннис, бадминтон. Также известно, что:

  1. Борис — самый старший;
  2. играющий в футбол младше играющего в хоккей;
  3. играющие в футбол и хоккей и Петр живут в одном доме;
  4. когда между лыжником и теннисистом возникает ссора, Борис мирит их;
  5. Петр не умеет играть ни в теннис, ни в бадминтон.

Какими видами спорта увлекается каждый из мальчиков?

Решение. Составим таблицу и отразим в ней условия задачи, заполнив соответствующие клетки цифрами 0 и 1 в зависимости от того, ложно или истинно соответствующее высказывание.

Так как видов спорта шесть, получается, что все мальчики увлекаются разными видами спорта.

Из условия 4 следует, что Борис не увлекается ни лыжами, ни теннисом, а из условий 3 и 5, что Петр не умеет играть в футбол, хоккей, теннис и бадминтон. Следовательно, любимые виды спорта Петра — лыжи и плавание. Занесем это в таблицу, а оставшиеся клетки столбцов «Лыжи» и «Плавание» заполним нулями.

Футбол Хоккей Лыжи Плавание Бадминтон Теннис
Петр 1 1
Борис
Алексей

Из таблицы видно, что в теннис может играть только Алексей.

Из условий 1 и 2 следует, что Борис не футболист. Таким образом, в футбол играет Алексей. Продолжим заполнять таблицу. Внесем в пустые ячейки строки «Алексей» нули.

Футбол Хоккей Лыжи Плавание Бадминтон Теннис
Петр 1 1
Борис
Алексей 1 1

Окончательно получаем, что Борис увлекается хоккеем и бадминтоном. Итоговая таблица будет выглядеть следующим образом:

Футбол Хоккей Лыжи Плавание Бадминтон Теннис
Петр 1 1
Борис 1 1
Алексей 1 1

Ответ: Петр увлекается лыжами и плаванием, Борис играет в хоккей и бадминтон, а Алексей занимается футболом и теннисом.

Логические операции и условные операторы C#

Опубликовано Константин Туйков в 23.05.2020

При разработке программ часто возникает необходимость сделать своеобразную развилку. То есть в зависимости от выполнения или не выполнения какого-либо условия дальнейшие операции, выполняемые приложением могут отличаться. В простейшем случае достаточно проговорить про себя: «Если, то, иначе». В основном, логические операции опираются на тип данных bool, который принимает значения true (истина) или false (ложь).

Условный оператор if

Для проверки простого условия может использоваться оператор if. В общем случае он имеет следующий вид:

Если условие истинно, то выполняется действие 1, если же условие было ложным — выполняется действие 2. Следует заметить, что ветка else не является обязательной.

В операторе if могут быть использованы следующие операторы сравнения:


  • > — больше
  • = — больше или равно
  • 10) — истина, а !(1 C#

Логические условия выбора данных

Урок 11. Информатика 11 класс ФГОС

Конспект урока «Логические условия выбора данных»

Часто в жизни мы размышляем следующим образом: съесть шоколадку и мороженое? А может шоколадку или мороженое? А может не шоколадку и не мороженое? Казалось бы, всё просто, однако для того чтобы сделать выбор мы с вами используем основные логические операции.

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

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

Сегодня на уроке мы с вами узнаем:

· Какое выражение называется логическим?

· Какие существуют логические операции?

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

Вспомним основные определения математической логики.

Логическое выражение, выполняется или вычисляется подобно математическому выражению, но в результате получается не число, а логическое значение: истина (TRUE) или ложь (FALSE).

Например, два плюс три больше чем три плюс один (2+3 > 3+1) — да – это истина. Или ноль меньше чем минус пять (0 Оцените видеоурок

Логические операторы в си

Логические операторы

Л огические операторы – это операторы, которые принимают в качестве аргументов логические значений (ложь или истину) и возвращают логическое значение. Как и обычные операторы, они могут быть одноместными (унарными, т.е. принимать один аргумент), двуместными (бинарные, принимают два аргумента), трёхместными и т.д.

Особенностью языка си является то, что в нём нет типа, хранящего булево значение (ложь или истину). В си ложью (логическим нулём) считается целочисленный 0, а любое ненулевое целое будет логической истиной. Например

Логические значения обычно порождаются операторами сравнения (==, !=, >, =. О ператор НЕ (NOT) используется для того, чтобы инвертировать значение аргумента. Т.е., если ему передали истину, то он вернёт ложь, если получил ложь в качестве аргумента, то вернёт истину.

Логический оператор НЕ

X NOT X
1
1

В си отрицание представлено оператором !. Например

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

Логическое И

О ператор И (AND, логическое умножение) возвращает истину тогда и только тогда, когда оба аргумента являются истиной.

Логический оператор И

X Y X AND Y
1
1
1 1 1

В си логическое умножение представлено оператором &&. Например, задача – в кружок военных спейсмаринов допускаются только совершеннолетние граждане мужского пола. То есть, претендентом может стать только тот, для которого одновременно два условия являются истиной

Оператор И может применяться последовательно к нескольким аргументам. Для него действует ассоциативный и коммутативный законы. Усовершенствуем программу, будем также вводить рост:

Также условие могло быть записано

Логическое ИЛИ

О ператор логическое ИЛИ (логическое сложение, OR) истинен тогда, когда истиной является хотя бы один его аргумент.

Логический оператор ИЛИ

X Y X OR Y
1 1
1 1
1 1 1

В си ИЛИ представлен оператором ||. Например, усовершенствуем программу: теперь пол можно вводить как большой, так и маленькой буквой

Как и в случае оператора И, ИЛИ коммутативен и ассоциативен.

Операторы можно перемешивать друг с другом, создавая сложные операторы

Стоит только помнить о том, что оператор отрицания имеет больший приоритет, чем И или ИЛИ, поэтому будет выполняться в первую очередь. Если может случиться ситуация, когда порядок выполнения не ясен, определите его с помощью скобок.

Пример: закон де-Моргана. Чтобы сменить И на ИЛИ (или наоборот), необходимо инвертировать значения всех операндов, заменить И на ИЛИ (или ИЛИ на И) и инвертировать конечный результат. В случае с нашим условием

Рассмотрим сначала кусок

Меняем все значения на обратные

заменяем оператор && на ||

и инвертируем ответ

Как видим, результат тот же. Очевидно, что

Таким образом, изменим условие

Поменяем таким же образом вторую скобку

Теперь можно применить это же правило и для всего выражения

Порядок выполнения логических операторов

Р ассмотрим выражение

где a, b, c, d – логические значения. Всё выражение равно истине тогда и только тогда, когда все операнды истинны. Если хотя бы один из операндов ложь, то остальные уже не важны. Поэтому, для оптимизации работы, вычисление происходит слева направо и останавливается, как только был найден первый операнд, равный нулю.

В си оператор присваивания может возвращать значение. Иногда он используется непосредственно в условии:

В данном случае, оператор malloc не будет выполнен, так как первый операнд a равен 0 (соответственно, всё выражение равно нулю). Таким образом, оператор free попытается очистить память, которую не может очистить (т.к. p продолжит ссылаться на a). Если же мы поменяем a = 1, то всё отработает без проблем.

То же самое происходит и при выполнение ||. Выражение

выполняется слева направо до тех пор, пока не встретит первое ненулевое значение. После этого выполнение останавливается, так как известно, что всё выражение равно истине.

Очевидно, что это касается не только оператора присваивания, но и любого другого вызова функции. Например, в этом случае функции foo будет вызвана, bar нет.

Вывод – не используйте присваивания и вызовов функций (особенно, если они изменяют состояние программы) внутри условий.

Логические операторы

Материал на этой странице устарел, поэтому скрыт из оглавления сайта.

Более новая информация по этой теме находится на странице https://learn.javascript.ru/logical-operators.

Для операций над логическими значениями в JavaScript есть || (ИЛИ), && (И) и ! (НЕ).

Хоть они и называются «логическими», но в JavaScript могут применяться к значениям любого типа и возвращают также значения любого типа.

Оператор ИЛИ выглядит как двойной символ вертикальной черты:

Логическое ИЛИ в классическом программировании работает следующим образом: «если хотя бы один из аргументов true , то возвращает true , иначе – false «. В JavaScript, как мы увидим далее, это не совсем так, но для начала рассмотрим только логические значения.

Получается следующая «таблица результатов»:

Если значение не логического типа – то оно к нему приводится в целях вычислений. Например, число 1 будет воспринято как true , а 0 – как false :

Обычно оператор ИЛИ используется в if , чтобы проверить, выполняется ли хотя бы одно из условий, например:

Можно передать и больше условий:

Короткий цикл вычислений

JavaScript вычисляет несколько ИЛИ слева направо. При этом, чтобы экономить ресурсы, используется так называемый «короткий цикл вычисления».

Допустим, вычисляются несколько ИЛИ подряд: a || b || c || . . Если первый аргумент – true , то результат заведомо будет true (хотя бы одно из значений – true ), и остальные значения игнорируются.

Это особенно заметно, когда выражение, переданное в качестве второго аргумента, имеет сторонний эффект – например, присваивает переменную.

При запуске примера ниже присвоение x не произойдёт:

…А в примере ниже первый аргумент – false , так что ИЛИ попытается вычислить второй, запустив тем самым присваивание:

Условия выбора и сложные логические выражения

Поиск информации в базе данных

Введение

Поиск информации в базе данных может осуществляться несколькими способами:

  1. Перебором записей базы данных. Способ неудобен, если база данных большая и/или с большим количеством полей.
  2. Используя встроенные возможности системы управления базы данных. Данный способ максимально адаптирован к пользователю.

Как правило, при использовании встроенных возможностей СУБД: используется язык SQL (Structured Query Language). Этот язык представляет собой непроцедурный язык, используемый для управления данными реляционных СУБД. Термин «непроцедурный» означает, что на данном языке можно сформулировать, что нужно сделать с данными, но нельзя проинструктировать, как именно это следует сделать. Иными словами, в этом языке отсутствуют алгоритмические конструкции, такие как метки, операторы цикла, условные переходы и др.

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

Основы использования математической логики при работе с СУБД

Условия выбора и простые логические выражения

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

Оно выполняется (вычисляется), но в результате получается не число, а логическое значение: истина (true) или ложь (false). Логическая величина – это всегда ответ на вопрос: истинно ли данное высказывание.

Условие выбора – это условие, по которому выбираются только те записи, которые ему удовлетворяют.

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

= Равно >= больше или равно
не равно
> Больше 740

3. Влажность 100

Отношение «равно» истинно для двух символьных величин, если их длина одинакова и все соответствующие символы совпадают. При этом пробел – это тоже символ.

При сравнении (>, =, квартет

Сравнение между собой дат осуществляется в соответствии с календарной последовательностью.

Примеры сравнения дат:

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

Примеры сравнения времени:

23:05:12 false(так как логический код true = 1, а код false = 0).

Одна величина логического типа – простейшая форма логического выражения.

Условия выбора и сложные логические выражения

Кроме отношений и логических полей используются смысловые связки «И», «ИЛИ», «НЕ». Это знаки логических операций.

Определение:Выражения, содержащие логические операции, будем называтьсложными логическими выражениями.

Логические операции (по убыванию старшинства):

1. Операция отрицания (инверсия), знак операции «НЕ».

2. Операция логического умножения (конъюнкция), знак операции «И».

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

Операция «отрицание» — одноместная операция, так как использует один операнд (одну логическую величину). Операции «логическое умножение» и «логическое сложение» — двухместные операции, так как используют два операнда (две логические величины).

1. Операция отрицания (инверсия), знак операции «НЕ».

Правило:Отрицание изменяет значение логической величины на противоположное: НЕ (истина) = ложь; НЕ (ложь) = истина.

Пример:Пусть надо получить список всех книг, кроме книг Беляева А.Р.

Логическое выражение:НЕ (Автор = «Беляев А.Р.»)

Ход решения:

1) Из базы данных вырезаются все записи, которые удовлетворяют условию (Автор = «Беляев А.Р.»)

Примечание:если необходимо показывать не все столбцы базы данных, то вторым шагом оставляются только нужные столбцы

2. Операция логического умножения (конъюнкция), знак операции «И».

Правило:В результате логического умножения получается истина, если оба операнда истинны.

Пример:Пусть надо найти книги Беляева А.Р., изданные не раньше 1990 года.

Логическое выражение:(Автор = «Беляев А.Р.») И (Год >= 1990)

Ход решения:

1) Из базы данных сначала выбираются все записи, которые удовлетворяют первому условию (Автор = «Беляев А.Р.»)

2) Затем из найденных записей выбираются те записи, которые удовлетворяют второму условию (Год >= 1990)

Примечание:если необходимо показывать не все столбцы базы данных, то третьим шагом оставляются только нужные столбцы

3. Операция логического сложения (дизъюнкция), знак операции «ИЛИ».

Правило:В результате логического сложения получается истина, если значение хотя бы одного операнда истинно.

Пример:Пусть надо получить список всех книг Толстого Л.Н. и Тургенева И.С.

Логическое выражение:(Автор = «Толстой Л.Н.») ИЛИ (Автор = «Тургенев И.С.»)

Ход решения:

1) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Толстой Л.Н.»)

2) Из базы данных выбираются все записи, которые удовлетворяют первому условию (Автор = «Тургенев И.С.»)

3) Полученные результаты первых двух шагов склеиваются (отображаются в единой таблице)

Примечание:если необходимо показывать не все столбцы базы данных, то четвертым шагом оставляются только нужные столбцы

Примечание.

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

Таблицы истинности.

Пусть А и В – это логические операнды (то есть могут принимать значения И или Л). Тогда составим так называемую таблицу истинности.

Логические операторы

В этом уроке описаны логические операторы. JavaScript поддерживает три логических оператора: || (ИЛИ), && (И) и ! (НЕ), которые очень часто используются в условных конструкциях, например if , while или for . Благодаря логическим операторам можно объединять два выражения в одно более сложное.

JavaScript: Табnица истинности

Основными логическими или булевыми операциями, названными в честь одного из математиков — Джорджа Буля (1815-1864), являются:

  • ИЛИ || – логическое сложение (дизъюнкция) – OR;
  • И && – логическое умножение (конъюнкция) – AND;
  • НЕ ! – логическое отрицание (инверсия) – NOT.

Логические операторы работают с операндами так же, как и с булевыми значениями, возвращая true или false , поэтому эти операции можно описать таблицей истинности, в которой полностью описано их поведение:

Табnица истинности дпя логических операторов

X Y X || Y X && Y !X
false false false false true
true false true false false
false true true false true
true true true true false

Из этой таблицы видно, что результатом работы оператора ИЛИ || будет false , только если оба его операнда – false ; результатом оператора И && будет true , только если оба из его операндов – true . Оператор НЕ ! прост – он получает один операнд и возвращает обратное значение.

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

На заметку: Ложными ( false ) значениями являются false , null , undefined , 0 , –0 , NaN и «» (пустя строка). Все другие значения, включая все объекты, являются истинными ( true ).

Логическое И (&&)

Логический оператор И && выполняет логическую операцию конъюнкции двух булевых значений. Конъюнкция – это сложное логическое выражение, которое считается истинным true только в том случае, когда оба его операнда (выражения) являются истинными true , во всех остальных случаях данное сложное выражение ложно false .

Илон Маск рекомендует:  Шаблон сайта зеленая компания HTML, CSS, JavaScripts, 1 страница
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL