Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа зо.doc
Скачиваний:
105
Добавлен:
01.04.2015
Размер:
1.43 Mб
Скачать

4. Операция «если-то» – логическое следование (импликация)

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

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

Применяемые обозначения:

если А, то В; А влечет В

  • в естественном языке - если ..., то ...; когда …,тогда; коль скоро…,то и т.п.;

  • в алгебре высказываний В; А→ В;

  • в языках программирования – if A then…

Таблица истинности:

A

B

А → B

0

0

1

0

1

1

1

0

0

1

1

1

5. Операция «а тогда и только тогда, когда в» (эквивалентность, равнозначность)

Результат операции эквивалентность истинен только тогда, когда А и В одновременно истинны или одновременно ложны.

Применяемое обозначение: А ↔ В, А ~ В.

Таблица истинности:

A

B

А↔B

0

0

1

0

1

0

1

0

0

1

1

1

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

  1. Действия в скобках

  2. Инверсия ( ¬ )

  3. Конъюнкция ( ˄ )

  4. Дизъюнкция ( ˅ )

  5. Импликация ( → )

  6. Эквивалентность ( ↔ )

Исходные

высказывания

Дизъюнкция

сложение, Или

AB

Конъюнкция

умножение, И

АВ

Импликация

АВ

Эквивалентность

АВ

0

0

0

0

1

1

0

1

1

0

1

0

1

0

1

0

0

0

1

1

1

1

1

1

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

Постройте таблицу истинности для выражения F(A,B) = ¬(A˄B)˅(A˄¬B)

Количество строк = 22 (2 переменных) + 1 (заголовки столбцов) = 5.

Количество столбцов = 2 логические переменные (А, В) + 5 логических операций (() ¬, ˄, ˅, ¬) = 7.

Расставим порядок выполнения операций:

5 3 4 2 1

Построим таблицу:

А

В

0

0

1

0

0

0

1

0

1

0

0

0

0

1

1

0

1

1

0

1

0

1

1

0

0

1

1

0

Прямой, обратный и дополнительный коды

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

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

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

Пример 1.

Числа +510и -510, представленные в прямом четырехразрядном коде, выглядят так:

0

1

0

1

+510


0

1

0

1

- 510


+510= 0.1012; -510= 1.1012.Здесь точка условно отделяет знаковые разряды.

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

  1. Модуль числа перевести в двоичную форму;

  2. Проинвертировать каждый разряд получившегося кода, т.е. заменить единицы нулями, а нули – единицами (записать обратный код числа Обратный коддля отрицательных чисел получается из прямого кода с помощью инверсии, при которой единицы незнаковых разрядов заменяются нулями, а нули заменяются единицами. Например, -510число в обратном коде выглядит так: -510= 1.0102.

  3. К полученному результату обычным образом прибавить единицу.

Данная форма называется дополнительным кодом.

Например, число -510в обратном коде выглядит так: 1.0112.

Для положительных чисел прямой, обратный и дополнительный коды совпадают.

Алгоритм перевода дополнительного кода в десятичное число.

1. Инвертировать дополнительный код

2. Прибавить к полученному коду 1 и получить модуль отрицательного числа:

3. Перевести в десятичное число и приписать знак отрицательного числа.

Пример 2.

Записать дополнительный код числа, интерпретируя его как целое со знаком:

а) 5410; б) -4810.

Решение:

А)54 10=1101102

Прямой код – 0110110, дополнительный – 0110110 (такой же)

Б) -4810 = 1100002

Прямой код (целое со знаком) числа 110000– 1110000

Обратный код – 1001111

Дополнительный код – 1010000

1

0

0

1

1

1

1

+

 

 

 

 

 

 

1

1

0

1

0

0

0

0