14722

Таблицы решений

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторная работа № 3. Таблицы решений Цель работы Целью работы является изучение таблиц решений и спецификация с помощью данного механизма логики вычислительных процессов. Содержание отчета Итоговым документом выполнения лабораторной работы является отчет с

Русский

2013-06-09

128 KB

15 чел.

Лабораторная работа № 3. Таблицы решений

Цель работы

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

Содержание отчета

Итоговым документом выполнения лабораторной работы является отчет, состоящий из следующих пунктов.

  1.  Титульный лист.
  2.  Цель работы.
  3.  Текст задания.
  4.  Решение задачи, представленное с помощью общей таблицы.
  5.  Решение задачи, представленное с помощью оптимизированной таблицы.
  6.  Выводы.

Теоретические сведения

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

Верхняя часть таблицы решений определяет условия, в которых требуется выполнять некоторые действия. Первый  столбец  этой  части представляет собой список переменных или условий, а в каждом следующем столбце указывается комбинация значений этих условий. Нижняя часть таблицы решений определяет действия, которые требуется выполнить в той или иной ситуации, определяемой в верхней части таблицы решений. Она также состоит из нескольких строк, каждая из которых связана с каким-либо одним конкретным действием, указанным в первом поле этой строки. В остальных  полях каждой строки указывается порядок следования данного действия в процессе реакции на соответствующую комбинацию условий. Конкретные обозначения в ячейках таблицы могут быть разными, но практически наиболее часто встречаются варианты использования «+» и «-» для бинарных условий, конкретных значений для не бинарных условий и десятичных чисел для указании порядка следования действия.

Таблица

Стандартная форма таблицы решений

Условие 1

. . .

Условие 2

. . .

. . .

. . .

Условие N

. . .

Действие 1

. . .

Действие 2

. . .

. . .

. . .

Действие К

. . .

Стандартная таблица строится с помощью следующего алгоритма.

Шаг 1. Определяется количество правил (колонок) таблицы решений:

,

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

Шаг 2. В верхней части таблицы перечисляются все анализируемые  условия, в нижней – все возможные действия.

Шаг 3. Для последнего условия во всей строке таблицы проставляются альтернативные значения.

Шаг 4. Для очередного условия (снизу вверх) альтернативные значения проставляются в  соответствии с периодом чередования значений предыдущего условия.

Шаг 5. В каждой колонке  таблицы  ставится  “+”  напротив  требуемого действия.

Пример табличной спецификации логики процесса

Рассмотрим пример описания процесса с помощью таблицы решений. Предположим, что Интернет-провайдер N использует следующую дисперсию льгот на свои услуги.

  •  абоненты,  пользующиеся услугами системы более 5 лет, получают скидку 20%;
  •  абоненты, регулярно оплачивающие счета, получают скидку 10%;
  •  абоненты,  для  которых  объем  оказанных  им услуг превышает 100000, получают скидку 15%.

Таблица

Стандартная форма таблицы решений

1

2

3

4

5

6

7

8

Стаж пользования > = 5 лет

+

+

+

+

-

-

-

-

Регулярность оплаты

+

+

-

-

+

+

-

-

Объем услуг > = 100 000

+

-

+

-

+

-

+

-

45%

1

30%

1

35%

1

20%

1

25%

1

10%

1

15%

1

0%

1

В рассмотренном  примере  каждому  правилу соответствует одно и только одно действие. В некоторых случаях это может  быть  не  так. Модифицируем исходные правила определения размера скидки.  Предположим,  что пользователь со стажем более 5 лет лишается скидки на 20%  в случае, если он нерегулярно производит оплату счетов.   – модифицированная таблица решений,  правила (колонки) 3 и 7,  4 и 8  предполагают одни и те же действия. Говорят, что правила 3 и 7, 4 и 8 безразличны к значению условия 1. Такие колонки таблицы могут быть объединены.

Таблица

Модифицированная таблица решений

1

2

3

4

5

6

7

8

Стаж пользования > = 5 лет

+

+

+

+

-

-

-

-

Регулярность оплаты

+

+

-

-

+

+

-

-

Объем услуг > = 100 000

+

-

+

-

+

-

+

-

45%

1

30%

1

25%

1

10%

1

15%

1

1

0%

1

1

Объединение колонок  таблицы решений выполняется с помощью следующего алгоритма.

Шаг 1. Производится поиск пары правил (колонок) для которых:

  •  определено одно и то же действие;
  •  значения условий совпадают, за исключением одного и только одного условия, для которого значения различны.

Шаг 2. Выбранная пара правил заменяется на одно.  В строке условия, значения которого различны, ставится символ «*».

Шаг 3. Шаг 1 и Шаг 2 повторяются до тех пор, пока не будут произведены все возможные объединения.

Результат применения алгоритма приведен в  . Колонки 3 и 7, 4 и 8 объединены, в качестве значения условия, к которому правила безразличны (стаж пользования), проставлен символ «*».

Таблица

Таблица решений с объединенными колонками

1

2

3/7

4/8

5

6

Стаж пользования > = 5 лет

+

+

*

*

-

-

Регулярность оплаты

+

+

-

-

+

+

Объем услуг > = 100 000

+

-

+

-

+

-

45%

+

30%

+

25%

+

10%

+

15%

+

0%

+

Варианты заданий

  1.  Дан текстовый файл. Распечатать его, заменив символами «-» заглавные латинские символы четных строк и на символы «_» строчные русские буквы каждой 3-ей строки. В начале каждой пятой строки вывести восклицательный знак.
  2.  Дан текстовый файл. Распечатать его, заменив символы «a» на символы «@», символы «ab» на символы «$%» и символы «abc» на символы «&*#». В начале каждой второй строки вывести восклицательный знак.
  3.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго функция возвращает разность аргументов, если второй меньше нуля и сумму – если больше. Если оба аргумента четные и первый больше второго функция возвращает произведение аргументов, если второй меньше нуля и удвоенное произведение – если больше.
  4.  Дан текстовый файл. Распечатать его, заменив символы «c» на символы «@», символы «cd» на символы «$%» и символы «cde» на символы «&*#». В начале каждой четвертой строки вывести восклицательный знак.
  5.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго функция возвращает произведение аргументов, если второй меньше нуля и удвоенное произведение – если больше. Если оба аргумента четные и первый больше второго на единицу функция возвращает второй аргумент, если первый больше второго на двойку – удвоенный второй аргумент, если больше более чем на двойку – утроенный второй аргумент.
  6.  Дан текстовый файл. Распечатать его, заменив символы «s» на символы «@», символы «sb» на символы «$%». В начале четных строк вывести вопросительный знак. В начале нечетных строк производить звуковой сигнал.
  7.  Описать одноместную функцию от целочисленного аргумента. Если аргумент меньше нуля, функция возвращает ноль. При четном аргументе функция его удваивает. Нечетный аргумент функция возводит в куб. Если аргумент равен 13, функция возвращает 99. Если аргумент равен 14 – 100.
  8.  Дан текстовый файл. Распечатать его, заменив в четных строках символы «y» на символы «@», в каждой четвертой строке символы «yb» на символы «$%», в каждой шестой строке символы «ybz» на символы «$%!».
  9.  Описать работу системы выращивания культур. Для корейской моркови на 1, 3, 7 и 10-е сутки роста план выращивания предусматривает поддержание в течении 8 часов температуры 24 градуса, из них первые 8 часов с освещением, а затем понижение температуры до 18 градусов на остальное время суток. Кроме того, может потребоваться внесение удобрений в середине дня, чтобы поддержать заданное значение кислотности в 65%. В остальные дни план предусматривает выращивание без дополнительного освещения, с уровнем кислотности в 50% и температурой 20 градусов.
  10.  Дан текстовый файл. Распечатать его, заменив в четных строках символы «f» на символы «@», в каждой четвертой строке символы «ft» на символы «$%». В начале четных строк вывести знак «*».
  11.  Описать работу системы выращивания культур. Для фасоли на 3, 5, 7 и 15-е сутки роста план выращивания предусматривает поддержание в течение 16 часов температуру 23 градуса, из них первые 14 часов с освещением, а затем понижение температуры до 16 градусов на остальное время суток. Кроме того, может потребоваться внесение удобрений в середине дня, чтобы поддержать заданное значение кислотности в 70%.  В остальные дни план предусматривает выращивание без дополнительного освещения, с уровнем кислотности в 50% и температурой 20 градусов.
  12.  Дан текстовый файл. Распечатать его, заменив в нечетных строках символы «n» на символы «@», в каждой четвертой строке символы «nb» на символы «$%». В начале четных строк вывести восклицательный знак, в начале каждой четвертой строки – вопросительный знак.
  13.  Описать работу домашнего устройства управления микроклиматом. При работе в неавтоматическом режиме он держит постоянную температуру воздуха равную 20 градусов. В автоматическом режиме, выходные дни круглосуточно, а в будние дни между 20:00 и 8:00 он поддерживает постоянную температуру в 22 градуса. В будние дни между 8:00 и 20:00 сохраняет температуру 15 градусов.
  14.  Описать работу домашнего устройства управления микроклиматом. При работе в неавтоматическом режиме он держит постоянную влажность воздуха равную 50%. В автоматическом режиме, в выходные дни круглосуточно, а в будние дни между 20:00 и 8:00 он поддерживает постоянную влажность воздуха 30%. В будние дни между 8:00 и 20:00 сохраняет влажность воздуха 10%.
  15.  Дан текстовый файл. Распечатать его, заменив в нечетных строках символы «z» на символы «@», в каждой третьей строке символы «zb» на символы «$%», в каждой пятой строке символы «zbm» на символы «$%!».
  16.  Описать работу домашнего устройства управления микроклиматом. При работе в неавтоматическом режиме он держит постоянный уровень освещения равный 75%. В автоматическом режиме, в выходные дни круглосуточно, а в будние дни между 20:00 и 8:00 он поддерживает постоянный уровень освещения 70%. В будние дни между 8:00 и 20:00 сохраняет уровень освещения 5%.
  17.  Описать работу системы выращивания культур. Для баклажана на 2, 4, 6 и 9-е сутки роста план выращивания предусматривает поддержание в течении 12 часов температуры 25 градуса, из них первые 10 часов с освещением, а затем понижение температуры до 20 градусов на остальное время суток. Кроме того, может потребоваться внесение удобрений в середине дня, чтобы поддержать заданное значение кислотности в 50%.  В остальные дни план предусматривает выращивание без дополнительного освещения, с уровнем кислотности в 50% и температурой 20 градусов.
  18.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго функция возвращает первый аргумент, умноженный на четыре. Если оба аргумента четные и первый больше второго функция возвращает разность аргументов, если второй меньше нуля и сумму – если больше.
  19.  Описать действия робота. Если в пределах одного метра по направлению движения робота нет препятствий, робот устанавливает скорость 4 км/ч, если в пределах полуметра нет препятствий, устанавливается скорость 2.5 км/ч. При появлении препятствия происходит сканирование его размера для определения направления его объезда. Если правая часть препятствия относительно нормали движения меньше левой и справа отсутствуют новые препятствия, робот движется направо, иначе налево. При этом при изменении движения он уменьшает скорость до 1 км/ч и включает сигнал поворота.
  20.  Дан текстовый файл. Распечатать его, заменив в четных строках символы «a» на символы «@», в каждой четвертой строке символы «ab» на символы «$%». В начале четных строк вывести знак «*».
  21.  Описать действия робота. Если в пределах одного метра по направлению движения робота нет препятствий, робот устанавливает скорость 4 км/ч, если в пределах полуметра нет препятствий, устанавливается скорость 2.5 км/ч. При появлении препятствия происходит сканирование его размера для определения направления его объезда. Если правая часть препятствия относительно нормали движения меньше левой и справа отсутствуют новые препятствия, робот движется направо, иначе налево. Если и справа и слева от препятствия существуют новые препятствия, робот движется назад до  последней точки, в которой он осуществлял поворот для объезда предыдущего препятствия и пытается его обогнуть с другой стороны.
  22.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает минус один. При первом четном аргументе и втором нечетном аргументе функция возвращает минус два. При первом нечетном аргументе и втором четном аргументе функция возвращает минус три. Если оба аргумента нечетные и первый больше второго функция возвращает первый аргумент, умноженный на два. Если оба аргумента четные и первый больше второго функция возвращает второй аргумент, умноженный на три.
  23.  Описать действия робота. Если в пределах одного метра по направлению движения робота нет препятствий, робот устанавливает скорость 4 км/ч, если в пределах полуметра нет препятствий, устанавливается скорость 2.5 км/ч. При появлении препятствия происходит сканирование его размера для определения направления его объезда. Если правая часть препятствия относительно нормали движения меньше левой и справа отсутствуют новые препятствия, робот движется направо, иначе налево. Если препятствие меньше 10 сантиметров по высоте, робот его перешагивает.
  24.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго на единицу функция возвращает второй аргумент, если первый больше второго на двойку – удвоенный второй аргумент, если больше более чем на двойку – утроенный второй аргумент. Если оба аргумента четные и первый больше второго функция возвращает разность аргументов, если второй меньше нуля и сумму – если больше.
  25.  Описать одноместную функцию от целочисленного аргумента. Если аргумент меньше нуля, функция возвращает ноль. При четном аргументе функция его утраивает. Нечетный аргумент функция возводит в куб. Если аргумент равен 10, функция возвращает 99. Если аргумент равен 11 – 100.
  26.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго функция возвращает первый аргумент. Если оба аргумента четные и первый больше второго функция возвращает второй аргумент.
  27.  Дан текстовый файл. Распечатать его, заменив символы «b» на символы «@», символы «bc» на символы «$%» и символы «bcd» на символы «&*#». В начале каждой третьей строки вывести восклицательный знак.
  28.  Описать двуместную функцию от целочисленных аргументов. Если аргументы меньше нуля, функция возвращает ноль. При первом четном аргументе и втором нечетном аргументе функция возвращает минус один. При первом нечетном аргументе и втором четном аргументе функция возвращает минус два. Если оба аргумента нечетные и первый больше второго функция возвращает разность аргументов, если второй меньше нуля и сумму – если больше. Если оба аргумента четные и первый больше второго функция возвращает второй аргумент, умноженный на три.
  29.  Описать одноместную функцию от целочисленного аргумента. Если аргумент меньше нуля, функция возвращает ноль. При четном аргументе функция его удваивает. Нечетный аргумент функция возводит в квадрат. Если аргумент равен 3, функция возвращает 99. Если аргумент равен 4 – 100.
  30.  Дан текстовый файл. Распечатать его, заменив символы «h» на символы «@», символы «hb» на символы «$%». В начале нечетных строк вывести вопросительный знак. В начале четных строк вывести восклицательный знак.


 

А также другие работы, которые могут Вас заинтересовать

41673. Ознакомление со средой Autocad 2010 3.14 MB
  Интерфейс начальной настройки utoCD 2010 Ранние версии начиная с utoCD 2002 по utoCD 2008 включительно представляло интерфейс рабочего пространства в классическом виде которое представлено на рис. Рисунок 2 – Классический вид рабочего окна utoCD 2010 Предлагается рассмотреть вид классического интерфейса окна программы. 3 приведена верхняя часть окна Рисунок 3 – Строка заголовка строка меню панель быстрого вызова Рисунок 4 – Окно работы с файлом Данное окно вызывается нажатием на после чего выпадает окно представленное на...
41674. Исследование типовых звеньев 193.53 KB
  3 Контрольные вопросы: Что такое передаточная функция Что такое переходная характеристика Что такое импульсная разгонная характеристика Как параметры каждого типового звена влияют на переходные характеристики системы Назовите основные типовые динамические звенья их передаточные и переходные функции. Что такое характеристическое уравнение Что такое нули и полюса передаточной функции Как их найти Какие показатели качества САР можно определить по переходной характеристике Таблица 1.3 Контрольные вопросы: Что такое передаточная...
41675. ФАКТОРНОЕ ИССЛЕДОВАНИЕ ПРОИЗВОДИТЕЛЬНОСТИ ГРУЗОВОГО АВТОМОБИЛЬНОГО ТРАНСПОРТНОГО СРЕДСТВА 60.28 KB
  Исходные данные: Грузоподъемность автомобиля q т Время в наряде Т ч Коэффициент использования грузоподъемсти γ Коэффициент использования пробега β Время постоя под загрузкойразгрузкой t зрч Техническая скорость Vт км ч 10 8 08 09 02 45 Расчетные формулы: Расчет суточной производительности автомобиля Q в тоннах и P в тоннокилометрах производится по следующим формулам: где: Tн– время работы автомобиля в наряде; vт – средняя техническая cкорость движения автомобиля км ч; qн номинальная...
41676. Исследование однофазного трансформатора 228.47 KB
  Методическое указание Самара Самарский государственный технический университет 2008 Печатается по решению Редакционноиздательского совета СамГТУ УДК621 313 Исследование однофазного трансформатора: метод. Содержат практические рекомендации по экспериментальным методам определения основных характеристик однофазного трансформатора по обработке опытных данных и оформлению отчетов а также контрольные вопросы. Такое изменение или трансформация переменного тока...
41677. Основы работы в MS Excel 192.46 KB
  Знакомство с приложением MS Excel. Приобретение элементарных навыков работы в среде пакета. Ввод и редактирования данных. Основные принципы ввода и редактирования данных изложены во многих книгах по основам работы в MS Excel [3]. Рассмотрим работу в среде пакета на конкретном примере.
41678. Исследование источника дискретной информации 165.5 KB
  А при изпользлвании кода Хаффмена избыточность уменьшилась до 0,51%, из этого следует что избыточность при кодировании этим методом уменьшилась в 16 раз. А при использовании кода Шеннона – Фано избыточность уменьшилась всего в 5,5 раз. Исходя из полученных значений, в нашем случае эффективнее использовать методику кодирования Хаффмена.
41679. Возможности текстового редактора WORD для работы с документами 193.87 KB
  Создание электронной подписи документа и проверка ее подлинности В разделе справка текстового редактора – в окне поиск – наберите ключевые слова цифровая подпись документа и найдите статью Цифровые подписи и сертификаты в которой вы сможете узнать – что такое цифровая подпись что собой представляет сертификат подписи и центр сертификации что обеспечивает цифровая подпись. Для дополнительного чтения Получение цифрового сертификата от центра сертификации или партнера Майкрософт Если предполагается обмениваться документами...
41680. Режимы течения 43.45 KB
  Изменение уровня воды в баке м h 003 002 003 003 2. Температура воды С Т 23 23 23 23 4. Кинематический коэффициент вязкости воды см с v = 17. Объем воды поступившей в бак за время t см3 W = Bh 0000252 0000168 0000252 0000168 6.
41681. Цифровой осциллограф, генераторы сигналов, блок питания и вольтметр универсальный 5.65 MB
  Осциллограф конструктивно выполнен в виде платы расширения ПЭВМ и вставляется в любой из свободных слотов PCIшины материнской платы. Внешний вид осциллографа представлен на рисунке 1.1 – Внешний вид осциллографа BORDO На внешней панели осциллографа имеются три стандартных разъема типа СР50. ПЗВМ управляет всеми режимами работы осциллографа осуществляет считывание информации из буферного ОЗУ ее обработку и передачу в видеопамять ПЭВМ для наблюдения на экране монитора.