KNOWLEDGE HYPERMARKET


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

Гипермаркет знаний>>Информатика>>Информатика 9 класс>>Информатика: Условия выбора и сложные логические выражения



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


Основные темы параграфа:

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



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

Рассмотрим еще одну группу высказываний (табл. 3.5) и их логические значения.


Таблица 3.5. Высказывания и их логические значения

Высказывание
Значение
                                       БД «Факультативы»
1. Русанов занимается геологией. Истина
2. Шляпина посещает факультативы. Истина
                                       БД «Успеваемость»
3. У Аликина по физике то ли 4, то ли 5. Истина
4. У Галкиной по алгебре не двойка. Истина
                                      БД «Погода»
5. 15 марта 2004 года были осадки. Истина
6. 17 марта 2004 года влажность была меньше 100% Ложь
                                     БД «Домашняя библиотека»
7. В библиотеке есть книги Беляева А.Р., изданные не ранее 1990 года. Истина
8. В библиотеке есть книги Толстого Л.Н. или Тургенева И.С. Истина


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

Вот как записываются соответствующие логические выражения:

1. ФАМИЛИЯ="Русанов" и ГЕОЛОГИЯ
2. ФАМИЛИЯ="Шляпина" и (ЦВЕТОВОДСТВО или ГЕОЛОГИЯ или ТАНЦЫ)
3. УЧЕНИК="Аликин Петр" и (ФИЗИКА=4 или ФИЗИКА=5)
4. не АЛГЕБРА=2 и Ученик="Галкина Нина"
5. ДАТА=15/03/04 и (ОСАДКИ="дождь" или ОСАДКИ="снег").
6. ДАТА=17/03/04 и ВЛАЖНОСТЬ<100
7. АВТОР= "Беляев А.Р." и ГОД>=1990
8. АВТОР= "Толстой Л.Н." или АВТОР=" Тургенев И.С."

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

Познакомимся с тремя логическими операциями:

• операция логического умножения (конъюнкция); знак операции «и»;
• операция логического сложения (дизъюнкция); знак операции «или»;
• операция отрицания; знак операции «не».

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

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


Логическое умножение (и)

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

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

.выбрать НАЗВАНИЕ, ГОД, ПОЛКА где АВТОР= "Беляев А.Р." и ГОД>=1990

Формирование справки происходит в такой последовательности: сначала вырезаются и склеиваются в одну таблицу все строки, удовлетворяющие первому отношению: АВТОР=Беляев А.Р. Получается следующее:

НОМЕР
АВТОР
НАЗВАНИЕ
ГОД
ПОЛКА
0001
Беляев А.Р.
Человек-амфибия
1987
5
0005
Беляев А.Р. Звезда КЭЦ
1990
5
0008
Беляев А.Р. Избранное
1994
7

Затем из этой таблицы вырезаются строки, удовлетворяющие второму отношению: ГОД>=1990. Получаем:

НОМЕР АВТОР НАЗВАНИЕ        
ГОД 
ПОЛКА
0005
Беляев А.Р. Звезда КЭЦ          
1990 5
0008
Беляев А.Р. Избранное 1994 7

И наконец, вырезаются столбцы, указанные в списке полей команды. На экран выведется справка:

НАЗВАНИЕ ГОД ПОЛКА
Звезда КЭЦ 1990 5
Избранное 1994 7


Логическое сложение (или)

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

Пусть, например, мы хотим получить список всех книг Толстого Л.Н. и Тургенева И.С. Запрос на выборку пишется так:

.выбрать где АВТОР="Толстой Л.Н." или АВТОР="Тургенев И.С."

В этом случае строки, удовлетворяющие условиям АВТОР="Толстой Л. Н." или АВТОР="Тургенев И. С.", вырезаются одновременно из исходной таблицы. После их склеивания получаем:

НОМЕР АВТОР НАЗВАНИЕ ГОД ПОЛКА
0003 Тургенев И.С. Повести и рассказы 1982 1
0007 Толстой Л.Н. Повести и рассказы 1986 1


Отрицание

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

Отрицание — одноместная операция. Это значит, что она применяется к одному логическому операнду.

Например, требуется получить список всех книг, кроме книг Беляева. Запрос такой:

.выбрать АВТОР, НАЗВАНИЕ где не АВТОР="Беляев А.Р."

В этом случае вырезаются все строки, в которых значение поля АВТОР не равно «Беляев А.Р.». Строки склеиваются, а из полученной таблицы вырезаются столбцы АВТОР и НАЗВАНИЕ. После их склеивания получим справку:

АВТОР НАЗВАНИЕ
Кервуд Д. Бродяги севера
Тургенев И.С. Повести и рассказы
Олеша Ю.К. Избранное
Тынянов Ю.Н. Кюхля
Толстой Л.Н. Повести и рассказы

Табл. 3.6 иллюстрирует результаты всех вариантов выполнения трех логических операций. Такую таблицу называют таблицей истинности. В ней буквами А и В обозначены логические операнды. Логическая величина «истина» обозначена буквой И, логическая величина «ложь» — буквой Л.


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

А Б А и Б А или Б не А
И И И И Л
И Л Л И Л
Л И Л И И
Л Л Л Л И


Приоритеты логических операций

Если в сложном логическом выражении имеется несколько логических операций, то возникает вопрос, в каком порядке их выполнит компьютер. Это касается выражений под номерами 2, 3, 4, 5 в приведенном выше примере.

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

отрицание (не);
конъюнкция (и);
дизъюнкция (или).


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

Ниже приведены два логических выражения для БД «Домашняя библиотека», отличающиеся только скобками. Цифры над знаками логических операций указывают на последовательность их выполнения.

                   1                    3                    2
(ГОД=1987 или ГОД=1986) и (ПОЛКА=5 или ПОЛКА=1)

                   2                    1                    3
ГОД=1987 или ГОД=1986 и ПОЛКА=5 или ПОЛКА=1

Первое выражение будет истинным для записей с номерами 1, 4, 7. Второе истинно для записей с номерами 1, 3, 4, 6,7. Постарайтесь понять, почему.


Коротко о главном

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

Существуют три основные логические операции: отрицание (не); логическое умножение — конъюнкция (и); логическое сложение — дизъюнкция (или).

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

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


Вопросы и задания

1. Какие логические операция употребляются в сложных логических выражениях? Сформулируйте правила их выполнения.
2. Как определяется порядок выполнения логических операций в сложных выражениях?
3. Пусть а, b, с — логические величины, которые имеют следующие значения: а = истина, b = ложь, с = истина. Определите результаты вычисления следующих логических выражений:
а и b;                   а и b или с;           (а или b) и (с или b);
а или b;               а или b и с;           не (а или b) и (с или b);
не а или b;          не а или b и с;      не (а и b и с).

4. Напишите команды выборки с использованием сложных логических выражений:
• определить все даты до 17 марта, когда температура была выше нуля градусов;
• определить фамилии всех учеников, которые посещают танцы, но не посещают факультатив по геологии;
• получить список всех отличников по гуманитарным дисциплинам;
• определить полку, на которой стоит книга Толстого Л.Н. «Повести и рассказы»;
• определить фамилии авторов книг с названием «Повести и рассказы», выпущенных до 1985 года;
• получить инвентарные номера всех книг, стоящих на пятой и седьмой полках;
• получить фамилии авторов и названия книг, выпущенных в период с 1985 по 1990 год;
• получить инвентарные номера всех книг, стоящих ниже пятой полки и изданных после 1990 года.



И. Семакин, Л. Залогова, С. Русаков, Л. Шестакова, Информатика, 9 класс
Отослано читателями из интернет-сайтов


Открытый урок информатики, школьный план, рефераты информатики, всё школьнику для выполнения домашнего задания, скачать информатику 9 класс


Содержание урока
1236084776 kr.jpg конспект урока                       
1236084776 kr.jpg опорный каркас  
1236084776 kr.jpg презентация урока
1236084776 kr.jpg акселеративные методы 
1236084776 kr.jpg интерактивные технологии 

Практика
1236084776 kr.jpg задачи и упражнения 
1236084776 kr.jpg самопроверка
1236084776 kr.jpg практикумы, тренинги, кейсы, квесты
1236084776 kr.jpg домашние задания
1236084776 kr.jpg дискуссионные вопросы
1236084776 kr.jpg риторические вопросы от учеников

Иллюстрации
1236084776 kr.jpg аудио-, видеоклипы и мультимедиа 
1236084776 kr.jpg фотографии, картинки 
1236084776 kr.jpg графики, таблицы, схемы
1236084776 kr.jpg юмор, анекдоты, приколы, комиксы
1236084776 kr.jpg притчи, поговорки, кроссворды, цитаты

Дополнения
1236084776 kr.jpg рефераты
1236084776 kr.jpg статьи 
1236084776 kr.jpg фишки для любознательных 
1236084776 kr.jpg шпаргалки 
1236084776 kr.jpg учебники основные и дополнительные
1236084776 kr.jpg словарь терминов                          
1236084776 kr.jpg прочие 

Совершенствование учебников и уроков
1236084776 kr.jpg исправление ошибок в учебнике
1236084776 kr.jpg обновление фрагмента в учебнике 
1236084776 kr.jpg элементы новаторства на уроке 
1236084776 kr.jpg замена устаревших знаний новыми 

Только для учителей
1236084776 kr.jpg идеальные уроки 
1236084776 kr.jpg календарный план на год  
1236084776 kr.jpg методические рекомендации  
1236084776 kr.jpg программы
1236084776 kr.jpg обсуждения


Интегрированные уроки


Если у вас есть исправления или предложения к данному уроку, напишите нам.

Если вы хотите увидеть другие корректировки и пожелания к урокам, смотрите здесь - Образовательный форум.