Моделирование
и формализация 235
Ml &М2 = 0
MvM2
= 1;
II &I3 = 0
Пу13_=
1;
F2 &F3 = О
F2yF3_=
1;
Mi &I1 = 0 Ml У II = 1;
М2 &F2 = О
М2vF2
= 1;
13 &F3 = О J3vF3 = 1.
Полученные девять логических условий должны быть одно-
временно
истинны, т. е. должно быть истинно составное выска-
зывание,
в котором логически перемножаются все исходные
логические условия:
(Ml v M2) & (/2 v 13) & (F2 v F3) & (Ш v М2) & (77 v 7з) &
&
(F2wJ3)
& (M7v77) & (M2vF2) & (I3vJ3) =1.
Задача, таким образом, свелась к определению всех возмож-
ных комбинаций исходных данных, то есть Ml, M2, II, 13, F2,
F3, при которых логическое выражение истинно.
Компьютерная
модель.
Таким образом, задача сводится к
перебору всех возможных комбинаций логических аргументов
и
определению значений логического выражения для каждой
такой
комбинации. Это можно реализовать с помощью вло-
женных циклов со счетчиком, в каждом из которых рассматри-
ваются два значения аргументов:
True
и
False.
Однако в цикле со счетчиком переменная Счетчик должна
быть обязательно числового типа, логические значения она
принимать
не может. Поэтому необходимо использовать число-
вую форму представления логических значений, логическому
значению
False
соответствует число 0, а логическому значению
True
соответствует -1.
Перебор вариантов
будем
осуществлять с помощью вложен-
ных циклов, а для того чтобы таблицы истинности выводились
программой в привычном виде, необходимо при выводе их на
печать перед аргументами и функцией ставить
знак
«-».
Ml
^??щА
Решение
логической задачи
Поместить на форму кнопку и создать событийную процеду-
ру, определяющую истинность логического выражения и пе-
чатающую на форме значения логических аргументов, при
которых истинность достигается:
Private
For
For
For
For
Ml
M2
11
13
Sub
= -1
= -1
= -1
-
-1
cmdl
To
To
To
To
ClickO
0
0
0
0