14722

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

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

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

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

Русский

2013-06-09

128 KB

16 чел.

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


 

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

40041. Создание отчета в режимах Автоотчет и Мастер отчетов. Редактирование отчета в режиме Конструктор 160.5 KB
  Создание отчета в режимах Автоотчет и Мастер отчетов.Редактирование отчета в режиме Конструктор Цель работы: получение навыков конструирования отчетов в режимах автоотчета и мастера отчетов. На экране появится окно режимов создания нового отчета представленное на рис. Окно режимов создания отчета Выбрать режим Автоотчет: ленточный и в качестве источника данных таблицу Список.
40042. Молодежный центр как субъект организации досуга молодежи 299.5 KB
  Современные проблемы организации молодежного досуга. Анализ деятельности культурно – досуговых центров по организации досуга молодежи «Молодежного центра Жаштык» и «Продюсерского центра». Принципы и формы организации досуговой деятельности...
40043. Создание надежной системы защиты предприятия 2.73 MB
  Целью данного проекта является создание надежной системы защиты предприятия, функционирование которой направлено на защиту деятельности сотрудников, информационных и материальных ценностей от внутренних и внешних угроз.
40044. Влияние газовой промышлености на окружающую среду 111 KB
  Геологический метод является начальным методом разведки. Этот метод заключается в том, что геологи выезжают участок, который нужно исследовать и проводят там все необходимые работы, которые включают в себя...
40045. Знакомство с приложением PowerPoint. Создание слайдов. Вставка в слайды различных объектов 136 KB
  Установить для заголовка размер шрифта 60 пт цвет красный. Установить для заголовка тень желтую с помощью кнопки Тень на панели инструментов Рисование. Установить для подзаголовка размер шрифта 40 пт цвет синий тень голубую. Установить фон слайда белый мрамор с помощью команды Формат Фон вкладка Текстура.
40046. Приложение MICROSOFT INTERNET EXPLORER 107 KB
  Сохраните открытую страничку в своей папке: выполните команду Файл Сохранить как; в окне Сохранение вебстраницы откройте или создайте папку ФамилияГруппа; в поле Имя файла введите его название например Студенческая_жизнь; в поле Тип файла выберите Вебстраница полностью и нажмите кнопку Сохранить. Откройте в программе Проводник свою папку и проанализируйте размер трех созданных в ней файлов. Сохраните найденную информацию в файле Об образовании поместив его в собственную папку...
40047. Расчёт и исследование технологической системы разгрузки космического зеркала менисковой формы с переменной толщиной мениска вдоль радиального направления 14.64 MB
  Исследование особенностей технологической системы разгрузки космического астрономического зеркала с целью обеспечения разгруженного состояния зеркала в процессе его контроля и обеспечению технологических условий с условиями эксплуатации зеркала в космическом пространстве...
40048. Комплекс технических мероприятий по эксплуатации и наладке устройства ЭСПУ электроавтоматики и электропривода согласно исходным данным 1.82 MB
  Целью дипломного проекта является приобретение навыков при эксплуатации электронных систем программного управления и выполнения наладочных операций на каждом этапе наладки электронных узлов, а также обеспечение надёжности работы электронных систем программного управления (ЭСПУ)...
40049. Робота з функціями в мові С 290.5 KB
  Программа прошла тестирование: в результате выполнения тестов программа выдала ожидаемые результаты. Программа – работоспособна.