русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Логические формулы


Дата добавления: 2015-01-16; просмотров: 2206; Нарушение авторских прав


 

Вспомним некоторые простые факты из математической ло­гики. Те, кто не изучал этой дисциплины, смогут уяснить нуж­ный для дальнейшего материал непосредственно из этого пунк­та.

Перейдите на новый рабочий лист. Дайте ему имя "Логика".

ПРИМЕР 2.7.Логические выражения.Введем в ячейку А1 формулу =7>5. Она вернет значение ИСТИНА. Скопируем содержимое А1 в А2 и исправим в А2 формулу: = 3>5. Эта формула вернет значение ЛОЖЬ. Правые части обеих формул представляют со­бой высказывания, т.е. утверждения, относительно которых можно заключить, верны они или нет. Арифметические форму­лы, которые мы изучали в 2.1, высказываниями не являются: они предписывают, как по исходным данным вычислить значе­ние, и вопрос об их истинности или ложности не имеет смысла.

Рассмотрим другой пример. Введем в ячейку А4 число 2, а в ячейку В4 формулу = А4>3. Формула возвращает значение ЛОЖЬ. Введем в А4 число 6. Формула возвращает значение ИСТИНА. В В4 записан предикат, т.е. высказывание с пере­менными (в данном случае переменная одна). В зависимости от значения переменных предикат может принимать значения ИСТИНА и ЛОЖЬ. В этом примере формула как бы дает ответ на вопрос: "Число (или результат вычислений по формуле), хра­нящееся в ячейке А4, превышает 3?" В зависимости от значения А4 ответ будет ДА (ИСТИНА) или НЕТ (ЛОЖЬ).

Сравнение двух арифметических выражений, содержащих переменные, дает предикат. В формуле = А4>3 ее составные части (А4 и 3) можно считать арифметическими выражениями, только очень простыми. Более сложный пример: = (А4л2-1) > (2*А4+1). В этом выражении скобки можно опустить, потому что арифметические операции имеют более высокий приоритет, чем операции сравнения, но скобки придают формуле наглядность. Операции сравнения сведем в таблицу (рис. 2.3).



 

> >= < <= = о
больше больше или равно меньше меньше или равно равно не равно

Рис. 2.3

 

Обратите внимание, что символ отношения "больше или равно" изображается двумя знаками: > и =. Причина в том, что на клавиатуре нет знака ³.

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

 

Название Обозначение Функция Excel
Отрицание Ø НЕ
Конъюнкция Ù И
Дизъюнкция Ú ИЛИ

Рис. 2.4

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

У логических функций аргументы могут принимать только два значения: ИСТИНА и ЛОЖЬ. Поэтому логические функции можно задать таблицей, где перечислены все возможные значения аргументов и соответствующие им значения функций. Такие таблицы называются таблицами истинности.

Таблица для функции НЕ представлена на рис. 2.5.

 

X НЕ(х)
ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ

Рис. 2.5

Таблица для функций И и ИЛИ имеет вид (рис. 2.6).

 

X Y И (X;Y) ИЛИ(X;Y)
ЛОЖЬ ЛОЖЬ ЛОЖЬ ЛОЖЬ
ЛОЖЬ ИСТИНА ЛОЖЬ ИСТИНА
ИСТИНА ЛОЖЬ ЛОЖЬ ИСТИНА
ИСТИНА ИСТИНА ИСТИНА ИСТИНА

Рис. 2.6

Функция НЕ может иметь только один аргумент, а функции И и ИЛИ могут иметь два и более аргументов.

ПРИМЕР 2.8.

В ячейке А6 (с именем z) записано число. Выяснить, принадлежит ли оно отрезку [2, 5].

Решение. Присвоим ячейке А6 имя z. Введем в А6 число 3. Сначала сконструируем логическое выражение, решающее задачу zÎ[2,5]: (z>2)Ù(z<5). Для того чтобы z принадлежал отрезку [2,5], нужно, чтобы одновременно были истинны два предиката: z > 2 и z < 5 . В ячейке В6 разместим формулу =И(z>=2,z<=5). В В6 получим значение ИСТИНА. Следует предостеречь от неверного решения: формулы =2<=Z<=5. Введите эту формулу в С6 и убедитесь, что она возвращает ЛОЖЬ! Коварство этой, на первый взгляд, такой естественной формулы в том, что Excel ничего не сообщает о ее некорректности.

ПРИМЕР 2.9.

В ячейке А6 (с именем z) записано число. Выяснить, при­надлежит ли оно одному из лучей на числовой оси: (-¥,2) или (5,¥).

Решение. Сконструируем логическое выражение, решающее задачу: z Î (-¥,2)Ú(5, ¥) <=> (z<2)Ú(z>5), где значок и обозначает операцию объединения множеств. Для того чтобы z принадлежал хотя бы одному из лучей, нужно, чтобы был ис­тинным хотя бы один из предикатов: z < 2 или z > 5. В ячейке D6 разместим формулу =ИЛИ(z < 2, z > 5). А6 содержит число 3, поэтому формула возвращает ЛОЖЬ.

Задачу можно было решить иначе с учетом того обстоятель­ства, что на рабочем листе есть формула проверки принадлеж­ности числа z отрезку [2, 5]. Упомянутые два луча составляют на числовой оси дополнение к этому отрезку. Введем в ячейку Е6 формулу =НЕ(В6). Убедитесь, вводя в ячейку А6 различные числа, что формулы в ячейках D6 и Е6 дают идентичные ре­зультаты. Мы воспользовались одним из законов Де Моргана:

Ø (а Ù b) = Øа Ú Øb.

Упражнение 2.6. Убедитесь на примерах, что в арифмети­ческих выражениях ИСТИНА ведет себя как число 1, а ЛОЖЬ как число 0. Убедитесь, что для операций сравнения это невер­но.

Упражнение 2.7. Убедитесь на примерах, что в логических выражениях число 1 ведет себя как ИСТИНА, а число 0 как ЛОЖЬ. Убедитесь, что вместо ИСТИНА можно указывать лю­бое число, отличное от 0 (для знакомых с языком Си в этом нет ничего удивительного).

 

На практике "в чистом виде" логические выражения, как правило, не используются. Логическое выражение служит пер­вым аргументом функции ЕСЛИ:



<== предыдущая лекция | следующая лекция ==>
Числовые функции | ЕСЛИ(лог выражение, значение если истина, значение_если_ложь)


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 5.655 сек.