Полнота таблицы решений
Полнота таблицы решений
Одним из преимуществ ТР является то, что они дают возможность систематически проверить каждую комбинацию значений и условий так, чтобы быть уверенным, что не пропущена ни одна из них.
Для того, чтобы учесть полная ТР или нет, нужно подсчитать кол-во столбцов.
23=8 (2-возможных варианта, 3-условия)
ТР с правилом иначе охватывает все правила, но может не рассмотреть случай из правильных.
Двусмысленность ТР
Использование (-) может приводить к двусмысленности.
Если входные данные отвечают YNYY, то подойдут оба столбца.
Если одни правила приводят к разным действиям, то такая двусмысленность называется противоречием.
Можно переделать (избавиться от двусмысленности).
Y1 | X | X |
Y2 | X | X |
Y3 | X | X |
Y4 | X | X |
Двусмысленность в таком виде – избыточность.
Виды
¨ таблицы с ограниченным входом
¨ таблицы с расширенным входом (условия не только yes-no)
Преобразование ТР
- Прямое программирование
- Метод ключа
- Метод маски
- Метод ветвления
if
C1=Y Ù C3=Y ® Y1,Y2
C1=Y Ù C3=N ® Y1
fi
“-“ – слишком громоздко.
- Кодируем Y®1 N®0 (yes – 1 , no – 0)
По входным данным строим ключ:
Key:=C1+C2*2+C3*4
Запишем программу на ЯЛС.
D1
D2: Y1Y2
D3: Y1
2 – ни одно из условий не выполняется
6 – выполняется лето
Чтобы определить все ключи, нужно расшифровать все “-“
- Метод маски
Нужно построить 2 предварительных таблицы:
1) Таблица “-“, состоит из 1 и 0. На месте “-“ – 0
2) Таблица YES. На месте Y стоят 1.
Таблица “-“
1 | 1 | 1 | 1 | 1 |
0 | 0 | 1 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
Таблица YES
1 | 1 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 | 0 |
Выбор действия:
1) Формируем ключ
NYY® key = 5
0 1 1 011
будний день отпуск лето
0+1+4=5
2) Выполняем & с очередным столбцом таблицы ‘-‘
1ст. 011 & 101 = 001
2ст. 011 & 111 = 011
3) Сравниваем со столбцом таблицы YES
Лекция "3 Теория объектов" также может быть Вам полезна.
Если совпадает, то совершаем действие, связанное с этим столбцом.
Если не совпадает, то проверяем следующий столбец.
- Метод ветвлений
Условия проверяются по очереди. На каждом очередном шаге выбирается столбец с большим числом ”-“
Проверяем условие C1
Таблица решений – более общий способ описания логики, чем любая блок-схема.