
Лр 1 -
Лабораторная работа № 1. Таблицы решений Цель работы
Целью работы является изучение таблиц решений и спецификация с помощью данного механизма логики вычислительных процессов.
Содержание отчета
Итоговым документом выполнения лабораторной работы является отчет, состоящий из следующих пунктов.
Титульный лист.
Цель работы.
Номер варианта и текст задания.
Решение задачи, представленное с помощью исходной стандартной таблицы.
Решение задачи, представленное с помощью оптимизированной таблицы.
Пример выполнения алгоритма.
Выводы. В выводах объяснить все преобразования, которые были выполнены с исходной таблицей решений.
Наличие первых трех пунктов отчета оценивается в 2 балла, наличие каждого последующего — в 2 балла. Таким образом, максимально получается 10 баллов. Оценивается также и качество выполнения каждого пункта.
Теоретические сведения
Таблицы решений служат для формализованной записи алгоритмов, в которых присутствует много условий и много действий, выбираемых в зависимости от значений комбинаций условий. Комбинации условий описывают какую-либо ситуацию, имеющую место в данный момент. В разных ситуациях требуется выполнять разные действия.
Таблица решений состоит из четырех квадрантов:
|
|
|
|
Верхняя часть таблицы решений (I и II квадранты) определяет условия и состоит из нескольких строк. Каждая строка относится только к одному условию. Первый столбец этой части (квадрант I) представляет собой формулировки условий, а в каждом следующем столбце (квадрант II) указывается комбинация значений этих условий. Все столбцы квадранта II надо пронумеровать.
Нижняя часть таблицы решений (III и IV квадранты) определяет действия, которые требуется выполнить в той или иной ситуации. Она также состоит из нескольких строк, каждая из которых связана с каким-либо одним действием, указанным в первом столбце этой строки (квадрант III). В квадранте IV для каждого действия в зависимости от значений условий отмечаются столбцы, в которых это действие необходимо выполнить. Если в одном столбце можно выполнить несколько действий, то иногда следует ввести приоритет строк для указания порядка выполнения действий или для выбора одного действия из нескольких возможных.
Таблица 1
Стандартная форма таблицы решений
-
1
2
3
. . .
Условие 1
. . .
Условие 2
. . .
. . .
. . .
Условие N
. . .
Действие 1
. . .
Действие 2
. . .
. . .
. . .
Действие К
. . .
Всего М столбцов
Стандартная таблица строится с помощью следующего алгоритма:
Шаг 1. На основе текста задания определяется вид условий (бинарные или иные) и их количество. При выполнении лабораторной работы все условия должны быть бинарными. В верхней части таблицы выписывают все условия, а в нижней – все действия.
Шаг 2. По формуле определяется количество правил (столбцов) таблицы решений M:
,
где li
- количество альтернатив для i-го условия,
N – количество условий.
Если все условия бинарные, т.е. могут
иметь только две альтернативы, то
.
Шаг 3. Заполняются правила (столбцы) в верхней части таблицы. Все столбцы нумеруются. Если таблица решений бинарная и необходимо перебрать все возможные комбинации значений условий, то правила, по сути, являются двоичными числами от нуля до M-1. Полный перебор комбинаций позволяет уверенно контролировать работу алгоритма при любых исходных данных. Для обозначения двоичных чисел можно использовать два произвольных символа, но лучше пары 0/1 или +/-.
Шаг 4. В нижней части таблицы напротив требуемого в данном столбце действия ставится какой-либо знак (например, «+»). Если действие не выполняется, никакой знак не ставится. В одном столбце может быть указано несколько действий. В таких случаях необходимо указать порядок их выполнения (с помощью цифр), если все действия должны быть выполнены, или приоритетность, если должно выполняться только одно действие (например, выполняется действие из строки с меньшим номером).
Шаг 5. В некоторых случаях при полном переборе среди выписанных комбинаций условий в верхней части таблицы встречаются правила, которые не могут существовать в реальности (например, одновременно истинны два таких условия: число нечетное и равно двум). При возникновении такой ситуации необходимо отметить данные столбцы и исключить их из рассмотрения. В выводах это следует прокомментировать.