ТОЖДЕСТВА (ЗАКОНЫ), ОПРЕДЕЛЯЮЩИЕ ОПЕРАЦИИ

advertisement
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
Основы дискретной математики и математической
логики. Системы счисления. Типы данных
Содержание
Сведенья из дискретной математики .......................................................................................1
Законы (тождества)Булевой алгебры логики......................................................................1
ТАБЛИЦЫ КЭЛИ ОСНОВНЫХ БУЛЕВЫХ БИНАРНЫХ ОПЕРАЦИЙ ...........................1
Примеры применения логических операций ..........................................................................3
Синтаксис языка запросов YANDEX ..................................................................................3
Синтаксис языка запросов RAMBLER ................................................................................3
Системы счисления ...................................................................................................................4
Позиционные системы счисления ...........................................................................................5
Типы данных ..............................................................................................................................6
Целые типы ............................................................................................................................6
Вещественные типы ..............................................................................................................7
Некоторые другиее типы ......................................................................................................7
Типы в базах данных ( Access) .............................................................................................7
Сведенья из дискретной математики
Законы (тождества)Булевой алгебры логики










идемпотентностей a a=a, a a=a;
коммутативностей a b=b a, a b=b a;
ассоциативностей a (b c)=(a b) c, a (b c)=(a b) c;
дистрибутивностей a (b c)=a b a c; a b c=(a b) (a c);
двойного отрицания  a=a;
де-Моргана  a  b= (a b),  a b= (a b);
склеивания a b a  b=a, (a b) (a b)=a;
поглощения a a b=a, a (a b)=a;
законы нуля (лжи) a 0=a, a 0=0, a  a=0;
законы единицы (истины) a 1=1, a 1=a, a  a=1
ТАБЛИЦЫ КЭЛИ ОСНОВНЫХ БУЛЕВЫХ БИНАРНЫХ ОПЕРАЦИЙ
 f1(x1,x2)=x1&x2=x1x2=x1*x2=x1x2=x1 x2
(конъюнкция, and, и)
0001
 f6(x1,x2)=x1 x2x1 x2=x1 x2
(неравнозначность, исключающее или, xor, сложение по модулю 2)
0110
1
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
 f7(x1,x2)=x1@x2= x1+x2= x1x2
(дизъюнкция, or, или)
0111
 f8(x1,x2)=  x1 x2=x1 x2
(функция Вебба)
1000
 f9(x1,x2)=x1  x2x1 x2=x1  x2=x1 x2
(эквивалентность)
1001
 fE(x1,x2)=f14(x1,x2)=x1  x2=x1 x2
(несовместность, штрих Шеффера)
1110
Таблица истинности
X1 X2
f1
f6
f7
f8
f9
fE
0
0
0
0
0
1
1
1
0
1
0
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
1
0
1
0
1
0
Суперпозицией функцийf1, ..., fm называется функция f, полученная с помощью
подстановок этих функций друг в друга и переименования переменных, а формулой
называется выражение, описывающее эту суперпозицию.
Пусть дано множество (конечное или бесконечное) исходных функций  ={f1, ..., fm}.
Символы переменных х1, ..., хn, ... и констант 0 и 1считают формулами глубины 0. Любая
формула имеет глубину k+1, если она имеет вид fi(F1, ..., Fnl), где fО S , ni ≈ количество
аргументов fi, а F1, ..., Fnl ≈ формулы, максимальная из глубин которых равна k.
Знак функции (операции) может быть записан перед операндами (префиксная или прямая
польская запись). Знак бинарной операции или функции часто записывают между
операндами ≈ такая нотация называется инфиксной. Наконец, для удобства
программирования используют и обратную польскую (или постфиксную) запись, при
которой знак функции или операции располагается после списка операндов. Этот вариант
2
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
записи позволяет обходиться вообще без скобок, что бывает удобно при трансляции
выражений.
Примеры различной записи одной и той же формулы:
1) and(x, or(y, z)); 2) x(y z) или x and (y or z); 3)xy z  
Примеры применения логических операций
Синтаксис языка запросов YANDEX
Синтаксис Что означает оператор
Пример запроса
пробел или
логическое И (в пределах предложения)
&
лечебная физкультура
логическое И (в пределах документа)
рецепты && (плавленый сыр)
|
логическое ИЛИ
фото | фотография | снимок |
фотоизображение
+
обязательное наличие слова в найденном документе
(работает также в применении к стоп-словам)
+быть или +не быть
()
группирование слов
(технология | изготовление)
(сыра | творога)
~
бинарный оператор И НЕ (в пределах предложения)
банки ~ закон
бинарный оператор И НЕ (в пределах документа)
путеводитель по парижу ~~
(агентство | тур)
расстояние в словах (-назад +вперед)
поставщики /2 кофе
музыкальное /(-2 4) образование
вакансии ~ /+1 студентов
поиск фразы
"красная шапочка"
(эквивалентно красная /+1
шапочка)
расстояние в предложениях (-назад +вперед)
банк && /1 налоги
&&
~~ или /(n m)
""
&&/(n m)
Синтаксис языка запросов RAMBLER
Операторы
Два запроса, соединенные оператором AND (логическое И) образуют сложный запрос, которому
удовлетворяют только те документы, которые одновременно удовлетворяют обоим этим запросам. Иными
словами, по запросу 'собака AND кошка' найдутся только те документы, которые содержат и слово
'собака', и слово 'кошка'.
Сложному запросу, состоящему из двух запросов, соединенных оператором OR (логическое ИЛИ)
удовлетворяют все документы, удовлетворяющие хотя бы одному из этих двух запросов. По запросу
'собака OR кошка' найдутся документы, в которых есть хотя бы одно из слов 'собака' или 'кошка' (либо
оба эти слова вместе).
Оператор NOT (логическое И-НЕ) образует запрос, которому отвечают документы, удовлетворяющие левой
части запроса и не удовлетворяющие правой. Так, результатом поиска по запросу 'собака NOT кошка'
будут все документы, в которых есть слово 'собака' и нет слова 'кошка'.
Если оператор явно не указан, используется оператор по умолчанию AND: находятся только документы,
содержащие все слова запроса. Так, запрос 'информация технологии кредит' будет истолкован как
3
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
'информация AND технологии AND кредит'. На странице Расширенного поиска оператор по умолчанию
можно заменить на OR (Искать слова запроса: хотя бы одно).
Операторы AND и OR имеют сокращенные обозначения:
Оператор
AND
OR
Сокращенное обозначение
&
|
Запрос из нескольких слов, перемежающихся операторами, будет истолкован в соответствии с их
приоритетом. Операторы AND и NOT традиционно имеют более высокий приоритет, поэтому запрос из
нескольких слов при обработке сначала группируется по операторам AND и NOT, и лишь потом по
операторам OR. Изменить порядок группировки можно использованием скобок.
Кавычки
Для поиска цитат можно использовать двойные кавычки. Слова запроса, заключенного в двойные кавычки,
ищутся в документах именно в том порядке и в тех формах, в которых они встретились в запросе.
Таким образом, двойные кавычки можно использовать и просто для поиска слова в заданной форме (по
умолчанию слова находятся во всех формах). Например, запросу 'самолет "заправился" посадка'
удовлетворяет документ, содержащий текст '... самолет совершил посадку и заправился ...', и не
удовлетворяет документ, содержащий '.. самолет совершил посадку, чтобы заправиться ...'.
Скобки
При построении запросов иногда возникает необходимость объединения слов запроса в группы, которые
будут аргументами некоторого оператора. Такие группы заключаются в скобки.
Часть запроса, заключенная в скобки, сама является запросом, и на нее распространяются правила языка
построения запросов. Использование скобок позволяет строить вложенные запросы и передавать их
операторам в качестве аргументов, а также перекрывать приоритеты операторов, принятые по умолчанию.
Если запрос без скобок 'машина самолет | аэродром' эквивалентен запросу 'машина AND самолет OR
аэродром' и, в соответствии с приоритетами операторов, означает "найти документы, содержащие либо
слова 'машина' и 'самолет', либо слово аэродром, то запрос со скобками 'машина (самолет | аэродром)'
равносилен запросу 'машина AND (самолет OR аэродром)', что означает "найти документы, содержащие
слово 'машина' и одно из слов 'самолет' или 'аэродром'".
Системы счисления
Историческая справка
Известно несколько систем счисления, сложившихся исторически. Десять пальцев рук
– вот тот первоначальный аппарат для счета, которым человек пользовался, начиная с
доисторических времен. Появилась десятичная система, вероятно, в Индии. Выбор
графических изображений для цифр, разумеется, не принципиален, но имеет и
определенный смысл.
Так, единица создает лишь один угол, тройка - три, пятерка - пять и т.п.
нуль не образует никакого угла, поэтому он не имеет никакого содержания.
4
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
Довольно широкое распространение имела и имеет двенадцатеричная система. Ее
происхождение связано, несомненно, тоже со счетом на пальцах, а именно, так как четыре
пальца руки (кроме большого) имеют в совокупности 12 фаланг, то по этим фалангам,
перебирая их по очереди большим пальцем, и ведут счет от 1 до 12. Затем 12 принимается
за единицу следующего разряда и т. д. Несомненные остатки двенадцатеричной системы
счисления имеются в англоязычных странах – в системе мер (например, 1 фут = 12
дюймам).
В древнем Вавилоне, культура которого, в том числе и математическая, была довольно
высока, существовала весьма сложная шестидесятиричная система. Эта система, как и
двенадцатеричная, в какой-то степени сохранилась и до наших дней (например, в делении
часа на 60 минут, а минуты – на 60 секунд и в аналогичной системе измерения углов:
градус = 60 минутам, 1 минута = 60 секундам
У ряда африканских племен была распространена пятеричная система счисления.
Связь этой системы со строением человеческой руки – первоначальной «счетной
машины» – достаточно очевидна.
У ацтеков и майя – народов, населявших в течение многих столетий обширные области
американского континента и создавших там высокую культуру, была принята
двадцатеричная система, очевидно по количеству пальцев на руках и ногах. Та же
двадцатеричная система была принята и у кельтов, населявших Западную Европу, начиная
со второго тысячелетия до нашей эры. Некоторые следы двадцатеричной системы: во
французской денежной системе: основная денежная единица – франк – делится на 20 су.
Двоичная, восьмеричная и шестнадцатеричная системы счисления появились в
широком употреблении с появлением первых промышленно выпускаемых ЭВМ (ENIAC в
США – 1949г., МЭСМ в СССР – 1951г.), работавших в двоичном коде. В СССР была
выпущена единственная в мире ЭВМ, работавшая в троичном коде – «Сетунь»,
разработанная под руководством Николая Брусенцова (1958г., всего выпущено 50 шт).
Позиционные системы счисления
Система счисления называется позиционной, если число в ней представлено в виде:
A  a k 1 p k 1  a k 2 p k 2  ...  a 2 p 2  a 1 p  a 0
(1)
, где A – само число в p-ой системе счисления,
a k 1 - базисный коэффициент k-ого разряда числа,
p – основание системы счисления.
Слагаемые в формуле (1) называются разрядами числа, а само число записывается в
сокращенной форме, в виде последовательности значений базисных коэффициентах при
всех разрядах, начиная со старшего, отличного от нуля разряда. В нижнем индексе
указывается основание системы счисления (у десятичной системы оно опускается).
Например:
10012
201120 3
77718
19 F 8 A16
5
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
Экономичность системы счисления – тот запас чисел, которые можно записать заранее
заданного количества знаков.
Пример. Чтобы в десятичной системе записать 1000 чисел ( от 0 до 999) необходимо 30
знаков (по 10 цифр для каждого из трех разрядов: единиц, десятков и сотен). В двоичной
системе с помощью 30 знаков (возьмем 15 «нулей» и 15 «единиц») можно записать все
возможные 15-разрядные двоичные числа. Если их перевести для сравнения в десятичную
систему, то получится запас чисел в 32768: от 0 до 32767 ( (215  1) . Таким образом,
двоичная система более экономична, чем десятичная. Однако самой экономичной
является троичная система счисления. Проверим на нашем примере. 30 выделенных нам
знаков используем таким образом: возьмем 10 нулей, 10 единиц и 10 двоек. Таким
образом, имеем возможность записывать 10-разрядные троичные числа от 0 до (310  1) .
Получаем запас чисел (в десятичном сравнении) 59049.
Но главное преимущество троичного представления чисел перед принятым в
современных компьютерах двоичным представлением состоит в том, что с тремя цифрами
возможен натуральный код чисел со знаком, а с двумя невозможен.
Задача:
На планете Земля люди пишут 5*5=25, на планете Х эта же запись выглядит 5*5=31, а на
планете Y – 5*5=41. Сколько палые люди проживают на этих планетах?
Типы данных
В информатике все данные требуют для себя определенные ресурсы (память) и позволяют
оперировать только с ограниченным диапазоном значений (не так как в математике: от
минус бесконечности до плюс бесконечности). Поэтому все переменные (и константы) в
информатике должны быть отнесены к одному из принятых в используемой
вычислительной среде типу. В разных средах типы данных обозначаются по разному, но
имеют примерно одинаковый смысл. Поэтому их можно разделить на следующие
категории:
1. Простые типы, для хранения чисел ( целых и вещественных) и логических значений (0
и 1)
2. Строковые типы, для хранения последовательностей символов
3. Указательные типы для косвенного обращения к переменным заданных типов
4. Объектные типы, для операций с объектами
5. Пользовательские типы, для объединения под одним именем данных разных типов
6. Вариантные типы, для хранения в одной переменной данных разных типов.
Среда DELPHI характеризуется одним из самых больших разнообразий типов данных.
Рассмотрим только некоторые, наиболее употребительные для инженерных расчетов в
двух средах.
Целые типы
Тип (Delphi) Тип (VBA) Диапазон значений
Объем
Shortint
-
-128-127
8 бит, со знаком
Smallint
Integer
-32 768-32 767
16 бит, со знаком
Long
-2 147 483 648-2 147 483
647
32 бит, со знаком
Byte
0-255
8 бит, без знака
Longint
Byte
6
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
Word
-
16 бит, без знака
0-65 535
Вещественные типы
Тип(Delphi)
Тип(VBA) Порог
Real
-
2.9E-39
Количество
Максимальное
значащих
значение
цифр
1.7Е38
11-12
Single
Single
1.5E-45
3.4Е38
7-8
4
Double
Double
5.0E-324
1.7Е308
15-16
8
Extended
-
3.4E-4932
1.IE4932
19-20
10
Comp
-
1.0
9.2Е18
19-20
8
9.2Е14
15 в целой
части + 4 в
дробной
8
Currency
Currency
0.0001
Объем
(байт)
6
Некоторые другиее типы
Тип (Delphi) Тип (VBA) Диапазон значений
Объем (байт)
Char
-
1 символ
1
String
String
Строка символов
~2 млрд. VBA, неогр. Delphi
Boolean
Boolean
True или False
2 в VBA, 1 в Delphi
Date
Date
С 01.01.100 по 12.31.9999 8
Pointer
Object
Ссылка на объект (VBA),
на любую переменную
(Delphi)
4
Variant
Variant
Динамически изменяется
под тип
16
Типы в базах данных ( Access)
Тип данных
Текстовый
Использование
Алфавитно-цифровые данные (до 255 символов)
Числовой
Различные числовые данные (имеет несколько форматов: целое, длинное
целое, с плавающей точкой, диапазоны аналогичны рассмотренным выше)
Дата|Время
Дата или время в одном из предлагаемых Access форматов (с 01.01.100 по
12.31.9999)
Денежный
Денежные суммы с точностью до 15 знаков в целой и до 4 знаков в
дробной части
Счетчик
Уникальное длинное целое, создаваемое Access для каждой новой записи.
Значения полей типа счетчика обновлять нельзя
7
А.А.Хамухин. Информатика для направления «Нефтегазовое дело». Лекция 4. Семестр 1
Логический
Логические данные, имеющие значения Истина или Ложь
Объект OLE
Объект (картинки, диаграммы и другие объекты OLE из приложений
Windows), связанный или внедренный в таблицу Access
MEMO
Для хранения комментариев; до 65535 символов
Гиперссылка
Строка, состоящая из букв и цифр и представляющая адрес URL
Мастер
подстановок
Позволяет формировать для нужного поля список значений, который
может содержать данные другой таблицы или запроса, либо состоять из
фиксированного набора значений, что облегчает ввод данных и
обеспечивает их достоверность.
8
Download