Вычисление логических функций.
Изучение логических формул удобнее всего осуществлять на примере функций двух переменных.Рассмотрим логические функции f двух переменных Х1, Х2: f5=Х1 V Х2 - дизъюнкцию, f6=Х1 Λ Х2 – конъюнкцию и , - отрицание (инверсию) этих переменных. С их помощью можно получить более сложные функции: эквивалентность - f7=Х1 ~ Х2 , импликацию - f8 = Х1 Х2 , функцию Пирса - f9= Х1 Х2, функцию Шеффера- f10 = Х1/Х2 а также функцию сложение по модулю два- f11 = Х1 Х2. Воспользуемся известными логическими тождествами [1]:
f7 = Х1 ~ Х2 = ( VX2) Λ ( X1 V ); (1)
f8 = Х1 Х2 = VX2; (2)
f9 = Х1 Х2 = ; (3)
f10 = Х1/ Х2 = ; (4)
f11 = Х1 Х2 = = (5)
Предполагаемые результаты вычислений представим в виде таблицы 1.
Таблица 1. Функции 2-х логических переменных
A | B | C | D | E | F | G | H | I | J | K | L | M |
Х1 | Х2 | f5 | f6 | VX2 | X1V | f7 | f8 | f9 | f10 | f11 | ||
При вычислении логических функций по формулам (1) - (5) удобно работать с двумя приложениями одновременно: текстовым редактором Word (куда заносятся результаты) и электронной таблицей Еxcel (в которой осуществляются вычисления).
В электронной таблице Excel имеются мастер-функции, позволяющие вычислять логические операции [2]. Синтаксис этих операций (как они записываются в формульной строке) выглядит следующим образом:
=ЕСЛИ(И(Х1;Х2);1;0)- вычисление конъюнкции 2-х переменных,
=ЕСЛИ(ИЛИ(Х1;Х2);1;0)- вычисление дизъюнкции 2-х переменных,
=ЕСЛИ(НЕ(Х1);1;0)- вычисление инверсии 1-й переменной.
Если логическое выражение принимает истинное значение, то результату присваивается значение 1, а если ложное - то 0.
Цельработы состоит в том, чтобы получить численные значения функций f7 - f11 через конъюнкцию, дизъюнкцию и отрицание, а результаты представить в виде таблицы 1. Для этого напишем программу на языке макрокоманд. Так как любая программа требует отладки, будем проводить её посредствам сравнения получающихся в процессе написания программы результатов с образцами, представленными в виде рисунков.
1. Включение компьютера и вход в систему. Результат выполнения представлен на рисунке 1.
Рис. 1.
2. Запуск программы Microsoft Excel.
Параметры: - рабочий стол. Результат выполнения представлен на рисунке 2.
Рис. 2.
3. Выбор активного листа.
Параметры: - лист: «Лист1». Результат выполнения представлен на рисунке 3.
Рис. 3.
4. Форматирование ширины столбца.
Параметры: - диапазон: A÷M; - ширина: 10.
Результат выполнения представлен на рисунке 4.
Рис. 4.
5. Занесение заголовка в ячейку.
Параметры: - ячейка: A1, B1, C1, D1, E1, F1, G1, H1, I1, J1, K1, L1, M1; - данные: «X1», «X2», «f5», «f6», « », « », « V X2», «X1 V », «f7», «f8», «f9», «f10», «f11». Результат выполнения частично представлен на рисунке 5.
Рис. 5.
6. Занесение целых чисел в ячейку.
Параметры: - ячейка: A2÷A5; - данные: «Таблица1.Столбец А». Результат выполнения частично представлен на рисунке 6.
Рис. 6.
7. Занесение целых чисел в ячейку.
Параметры: - ячейка: B2÷B5; - данные: «Таблица1.Столбец B». Результат выполнения частично представлен на рисунке 7.
Рис. 7.
8. Автозаполнение - формула.
Параметры: - ячейка: C2; - данные: «=ЕСЛИ(ИЛИ(A2;B2);1;0)» - конечная ячейка: C5. Результат выполнения представлен на рисунке 8. Рис. 8.
9. Автозаполнение - формула.
Параметры: - ячейка: D2; - данные: «=ЕСЛИ(И(A2;B2);1;0)» - конечная ячейка: D5. Результат выполнения представлен на рисунке 9. Рис. 9.
10. Автозаполнение - формула.
Параметры: - ячейка: E2; - данные: «=ЕСЛИ(НЕ(A2);1;0)» - конечная ячейка: E5. Результат выполнения представлен на рисунке 10. Рис. 10.
11. Автозаполнение - формула.
Параметры: - ячейка: F2; - данные: «=ЕСЛИ(НЕ(B2);1;0)» - конечная ячейка: F5. Результат выполнения представлен на рисунке 11. Рис. 11.
12. Автозаполнение - формула.
Параметры: - ячейка: G2; - данные: «=ЕСЛИ(ИЛИ(E2;B2);1;0)» - конечная ячейка: G5. Результат выполнения представлен на рисунке 12. Рис. 12.
13. Автозаполнение - формула.
Параметры: - ячейка: H2; - данные: «=ЕСЛИ(ИЛИ(A2;F2);1;0)» - конечная ячейка: H5. Результат выполнения представлен на рисунке 13. Рис. 13.
14. Автозаполнение - формула.
Параметры: - ячейка: I2; - данные: «=ЕСЛИ(И(G2;H2);1;0)» - конечная ячейка: I5. Результат выполнения представлен на рисунке 14. Рис. 14.
15. Автозаполнение - формула.
Параметры: - ячейка: J2; - данные: «=G2» - конечная ячейка: J5. Результат выполнения представлен на рисунке 15. Рис. 15.
16. Автозаполнение - формула.
Параметры: - ячейка: K2; - данные: «=ЕСЛИ(НЕ(C2);1;0)» - конечная ячейка: K5. Результат выполнения представлен на рисунке 16. Рис. 16.
17. Автозаполнение - формула.
Параметры: - ячейка: L2; - данные: «=ЕСЛИ(НЕ(D2);1;0)» - конечная ячейка: L5. Результат выполнения представлен на рисунке 17. Рис. 17.
18. Автозаполнение - формула.
Параметры: - ячейка: M2; - данные: «=ЕСЛИ(НЕ(I2);1;0)» - конечная ячейка: M5. Результат выполнения представлен на рисунке 18.
Рис. 18.
Лабораторная работа 8