14722

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

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

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

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

Русский

2013-06-09

128 KB

24 чел.

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


 

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

43584. Роль командної роботи в створенні програмного забезпечення. Загальна характеристика команди розробників ПЗ. Класифікація команд 69.5 KB
  Команда – це не просто група, під якою розуміється об’єднання людей за інтересами. Команда – це група, що діє спільно з метою досягнення певних цілей або результатів, до яких прагне кожна людина з групи. Потенціал команди набагато вищий за потенціал групових або індивідуальних зусиль...
43585. Проект розробки програмного засобу моніторингу реалізації проектів на основі аналізу освоєного обсягу 1.17 MB
  Практична цінність дослідження полягає у створенні сприятливих умов для кращого сприйняття наданої інформації керівником проекту, що заощадить витрати по проекту. В свою чергу, це є основою для підвищення успішності управління проектом.
43586. Лексико-стилистические особенности комментариев пользователей официальных групп СМИ социальной сети «ВКонтакте» 188.69 KB
  Лексикостилистические особенности Интернетсообществ. Ключевые слова: журналистика Интернет коммуникация Интнернетсообщества лексика стилистика комментарий аудитория. Объектом исследования является текстовые сообщения Интернетсообщества. Цель работы комплексное изучение феномена Интернетсообществ с точки зрения лексических и стилистических особенностей.
43587. Развитие наследственного законодательства в Российской Федерации 381 KB
  Наследование характеризуется универсальным правопреемством. Это означает, что права и обязанности умершего выступают, как единое целое и переходят в этой совокупности к наследнику.
43590. Синтез математической модели для расчета газонасыщенности потока (расход жидкости (5-35) м3/сут) по показаниям датчиков прибора «Ультрафлоу» и выбор вида модели с низкой погрешностью 1.02 MB
  В связи с этим возникла необходимость разработки математической модели для расчета газонасыщенности потока по показаниям датчиков прибора «Ультрафлоу».
43591. Безопасность и экологичность проектных решений к дипломному проекту 65.09 KB
  В этом разделе описаны некоторые рекомендации по организации труда при работе с ЭВМ а также требования представленные в СанПиН Опасные и вредные производственные факторы На рабочем месте инженерапрограммиста можно выделить следующие опасные факторы: повышенная или пониженная температура воздуха рабочей зоны; повышенная или пониженная влажность воздуха обычно пониженная; повышенная или пониженная подвижность воздуха скорость воздушного потока может возникнуть переохлаждение или перегрев; повышенный уровень шума на рабочем...
43592. Обучение аппликации соломкой на занятиях изобразительной деятельности с детьми старшего дошкольного возраста 87.09 KB
  В работе с соломкой есть какая то магическая притягательность. Сохранить традиции восстановить недостающее звено в цепи преемственности ремесленного и художественного опыта в какой то мере помогут методические рекомендации поэтому крайнее важно обеспечить методическими рекомендациями по работе с соломкой учреждения дополнительного образования детей. Селивон не раз отмечали в своих трудах что ознакомление дошкольников с таким традиционным видом белорусского...