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» на символы «$%». В начале нечетных строк вывести вопросительный знак. В начале четных строк вывести восклицательный знак.


 

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

36186. Балконы, лоджии и эркеры 23.87 KB
  Устройство балконов лоджий и эркеров повышает комфортность жилых и общественных помещений и в то же время обогащает пластику фасадов зданий. Лоджии в отличие от балконов по боковым сторонам ограждены стенами и могут быть как встроенными в объем здания так и выносными. ОГРАЖДЕНИЯ БАЛКОНОВ Могут выполняться из различных материалов: непрозрачного стекла пластиков древесных материалов волнистой листовой стали на каркасе и т. КОНСТРУКТИВНЫЕ РЕШЕНИЯ Конструктивное решение балконов зависит от схемы опирания балконной плиты консольное...
36187. Стропильные конструкции крыши, висячие и наслонные стропила 199.92 KB
  Основными несущими элементами крыши являются: мауэрлат стропила и обрешетка. Стропила: Висячие стропила. Висячие стропила опираются только на две крайние опоры например лишь на стены здания без промежуточных опор.
36188. Устройство современных кровель, вентилируемых и невентилируемых, инверсионных кровель 350 KB
  защитный слой выполняемый из мелкого гравия или просеянного шлака втопленного в окрасочный слой битума. Совмещенные крыши: а б невентилируемая; в вентилируемая; 1 защитный слой; 2 рулонный ковер; 3 стяжка; 4 термоизоляция; 5 пароизоляция; 6 вентилируемый канал; 7 несущая конструкция; 8 отделочный слой. Пароизоляционный слой в виде одного или двух слоев рубероида или пергамина на мастике предусматривают для защиты теплоизоляции от увлажнения водяными парами проникающими со стороны внутренних помещений. Поверх...
36189. Естественное освещение помещений 36 KB
  По действующим сейчас правилам все помещения предназначенные для длительного пребывания людей должны иметь естественное освещение. Клеффнера увеличение размеров окон свыше 1 10 1 8 площади пола помещения не дает соответствующего повышения средней освещенности горизонтальной поверхности в помещении. Равномерность освещения при северной ориентации помещений достигается при высоко поднятых окнах с перемычками небольшой высоты при светлых стенах и потолках большой площади окон небольшой глубине помещения а также применением занавесей....
36190. Входные узлы, тамбур, двери. Материалы и основные конструкции 19.19 KB
  Двери как створ различаются по материалу изготовления. Это железные деревянные стеклянные пластиковые алюминиевые двери и др. дция двери: Двери делятся на: внутренние или межкомнатные разделяющие комнаты и входные в квартиры для санитарнотехнических узлов наружные входные в здания тамбурные и специальные например запасные выходы звукоизоляционные двери.
36191. Огнестойкость строительных конструкций и классификация степени сгораемости материалов 43.5 KB
  Продолжительность в часах сопротивления строительной конструкции воздействию высокой температуры при пожаре до исчерпания ею несущей и ограждающей способности принято называть пределом огнестойкости. Предел огнестойкости конструкции определяется опытным или расчетным путем.Он измеряется в см и представляет собой размер повреждения конструкции в контрольной зоне в течение 15 мин. В соответствии со СНиП 11280 Противопожарные нормы проектирования зданий и сооружений по сгораемости строительные конструкции делятся на: несгораемые...
36192. Виды систем канализации. Устройство наружных и внутренних канализационных систем 20.42 KB
  Канализация представляет собой комплекс инженерных сооружений и мероприятий предназначенных для следующих целей: приема сточных вод в местах образования и транспортирования их к очистным сооружениям; очистки и обеззараживания сточных вод; утилизации полезных веществ содержащихся в сточных водах и в их осадке; выпуска очищенных вод в водоем. Системы канализации: Под системой канализации принято понимать совместное или разделительное отведение сточных вод. Общесплавными называют системы канализации при которых все сточные воды ...
36193. Двухтрубная система отопления с естественной циркуляцией и нижней разводкой 217.5 KB
  Удаление воздуха осуществляется либо через воздушные краны краны Маевского установленные на радиаторах отопления верхнего этажа либо через воздушную трубу соединяющую подающие стояки с расширительным баком. Преимущества нижней разводки отопления перед верхней разводкой: Меньшие потери теплоты так как магистральные трубопроводы не прокладываются на чердаке. При строительстве можно запускать систему отопления при недостроенных верхних этажах.
36194. Системы вентиляции 73.54 KB
  Результатом плохой вентиляции в помещении может стать: несвежий воздух неприятные запахи из кухни и туалетных комнат повышенная влажность конденсация влаги ощущение недостатка свежего воздуха. Существует два основных типа вентиляции: естественная вентиляция и принудительная вентиляция. Для создания усиления естественной вентиляции в стенах зданий прокладывают специальные вытяжные вентиляционные каналы ведущие в кухню в ванную и туалет.