
- •Кафедра «Информационные системы и технологии» методические указания к лабораторным работам
- •230100.62 «Информатика и вычислительная техника»
- •Рабочая программа обсуждена на заседании кафедры
- •Дерево родства
- •1. Использование специального пакета программного обеспечения Fuzzy logic в среде matlab.
- •2. Исследование способов формирования нечетких множеств и выполнение операций над ними.
- •3. Моделирование системы нечеткого логического вывода.
- •Содержание отчета
- •Список литературы
- •Оглавление
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Саратовский государственный технический университет имени Гагарина Ю.А.»
Кафедра «Информационные системы и технологии» методические указания к лабораторным работам
по дисциплине
Б.2.2.1. «Математическая логика и теория алгоритмов»
направления подготовки
230100.62 «Информатика и вычислительная техника»
Квалификация (степень) – бакалавр
Специальное звание – бакалавр-инженер
форма обучения – очная
курс – 1
семестр –2
зачетных единиц –7
часов в неделю – 6
академических часов – 108
в том числе:
лекции –36
коллоквиум – нет
практические занятия – 36
лабораторные занятия – 36
самостоятельная работа –144
зачет – нет
экзамен – 2 семестр
РГР – 2 семестр
курсовая работа – нет
курсовой проект – нет
Рабочая программа обсуждена на заседании кафедры
«27» августа 2012 года, протокол № 1
Зав. кафедрой _____________/ Сытник А.А /
Рабочая программа утверждена на заседании
УМКС/УМКН
«27» августа 2012 года, протокол № 1
Председатель УМКС/УМКН _______/______________/
Саратов 2012
Лабораторная работа № 1. (2 часа)
Тема: Приложения алгебры высказываний. Функции алгебры высказываний. Построение таблиц истинности с использованием Microsoft Office Excel 2007. Изучение логических функции формул с помощью Microsoft Excel, составление таблицы истинности на примере формул от пяти переменных.
Задание.
Исходная формула имеет вид:
(1)
Требуется составить таблицу истинности средствами Microsoft Excel.
Для выполнения задания необходимо, исходную формулу предварительно упростить таким образом, чтобы в ней содержались только логические функции, имеющиеся в Excel: И, ЛОЖЬ, НЕ, ИЛИ, ИСТИНА.
Варианты заданий.
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
ЛОГИЧЕСКИЕ ФУНКЦИИ
И Возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА.
ЛОЖЬ Возвращает логическое значение ЛОЖЬ.
НЕ Меняет на противоположное логическое значение своего аргумента.
ИЛИ Возвращает ИСТИНА, если хотя бы один аргумент имеет значение ИСТИНА.
ИСТИНА Возвращает логическое значение ИСТИНА.
Лабораторная работа № 2. (2 часа)
Тема: Приложения алгебры высказываний. Функции алгебры высказываний. Построение таблиц истинности для одной из заданных функции с использованием Microsoft Visual Studio 2008. Получение представления о программной реализации функций алгебры высказываний и структуре построения таблиц истинности.
Задание.
Написать программу на языке программирования C выполняющую вывод на экран таблицу истинности для одной из заданных функции (1-10). В программе обязательно должны быть реализованы функции, вычисляющие значения основных функций алгебры высказываний: отрицания, конъюнкции, дизъюнкции, импликации, эквивалентности, сложения по модулю 2.
Возможный вариант решения:
1. Описать функции, выполняющие вычисления функций алгебры высказываний: отрицания, конъюнкции, дизъюнкции, импликации, эквивалентности, сложения по модулю 2.
Определить порядок следования функций в заданной формуле (1-10) с учётом имеющихся в ней скобок.
Создать структуру, хранящую промежуточные значения переменных и операций (например, 2-мерный массив).
Последовательно выполнить функций в заданной формуле (1-10), заполняя соответствующие элементы структуры полученными значениями, используя функции, созданные на шаге 1.
Вывести на экран полученный результат (таблицу истинности для одной из заданных формул).
Формат ввода: формула (1-10) задаётся внутри программы
Формат вывода: таблица истинности (на экран)
Лабораторная работа № 3. (6 часов)
Тема: Приложения алгебры высказываний. Функции алгебры высказываний. Построение таблиц истинности любой функции с использованием Microsoft Visual Studio 2008. Получение представления о программной реализации функций алгебры высказываний и структуре построения таблиц истинности.
Задание.
Написать программу на языке программирования C выполняющую вывод на экран таблицу истинности для любой функции, удовлетворяющей некоторым ограничениям.
Используя, созданную в Лабораторной работе №2 программу, необходимо дополнить её функциями, для вывода таблиц истинности следующих функций:
1. функция должна содержать только операции: отрицание, конъюнкции, дизъюнкции;
2. функция не должна содержать скобок;
3. число переменных в функции может быть произвольным;
4. ввод функции осуществляется пользователем с клавиатуры.
Возможный вариант решения:
Описать функции, выполняющие вычисления функций алгебры высказываний: отрицания, конъюнкции, дизъюнкции, импликации, эквивалентности, сложения по модулю 2.
Выполнить чтение, введённой с клавиатуры строки, посчитать количество в ней различных переменных.
Создать структуру, хранящую промежуточные значения переменных и операций (например, 2-мерный массив), с учётом количества переменных, подсчитанном на шаге 2.
Организовать цикл по всем возможным комбинациям значений, для имеющихся в формуле переменных.
Организовать циклы по введённой строке последовательно обрабатывающие функции отрицания, конъюнкции и дизъюнкции (в соответствии с приоритетом данных операций).
При обработке соответствующей операции заменить в строке переменные, участвующие в операции и знак операции на значение, вычисленное с помощью функций, созданных на шаге 1.
Вывести на экран полученный результат.
Формат ввода: функция с произвольным числом переменных
(ввод с клавиатуры).
Формат вывода: таблица истинности (на экран)
Лабораторная работа № 4. (2 часа)
Тема: Приложения алгебры высказываний. Функции алгебры высказываний. Определение СКНФ и СДНФ с использованием Microsoft Visual Studio 2008.
Задание.
В программу, созданную в Лабораторной работе №3 необходимо добавить функции производящие вычисления совершенной конъюнктивной нормальной формы (СКНФ) и совершенной дизъюнктивной нормальной формы (СДНФ) заданных формул (1-10).
Требования к введённым функции аналогичны требованиям в Лабораторной работе №3:
1. функция должна содержать только операции: отрицание, конъюнкции, дизъюнкции;
2. функция не должна содержать скобок;
3. число переменных в функции может быть произвольным;
4. ввод функции осуществляется пользователем с клавиатуры.
Совершенная конъюнктивная нормальная форма (СКНФ) определяется следующим образом:
f(x1,...,xn ) = & x1 1 ... xn n ,
(1,...,n)
f (1,...,n) = 0
где
i
{0,1}, xi0
=
xi,
xi1
= xi
(i = 1,...,n).
Совершенная дизъюнктивная нормальная форма (СДНФ) определяется следующим образом:
f(x1,...,xn ) = x11 &...&xmm & f(1,...,m, xm+1,...,xn),
(1,...,m)
где i {0,1}, xi0 = xi, xi1 = xi (i = 1,...,m).
Возможный вариант решения:
Имеется результат работы программы из Лабораторной работы №3 в виде таблицы истинности для введённой формулы.
Для построения СКНФ и СДНФ применяются правила построения соответствующих форм по таблице истинности:
СКНФ: для каждого набора переменных, при котором функция равна 1, записывается произведение, в котором с отрицанием берутся переменные, имеющие значение «0».
СДНФ: для каждого набора переменных, при котором функция равна 0, записывается сумма, в которой с отрицанием берутся переменные, имеющие значение 1.
Организуется цикл по значениям функции на каждом конкретном наборе переменных с целью поиска значений, удовлетворяющих требованиям построения СКНФ и СДНФ соответственно.
При нахождении необходимого значения производится добавление к выводящейся на экран строке соответствующей скобки, содержащей все переменные, если необходимо отрицанием.
После окончания цикла по всем возможным значениям функции, осуществляется вывод на экран полученной строки.
Формат ввода: функция с произвольным числом переменных (ввод с клавиатуры)
Формат вывода: СКНФ и СДНФ функции (на экран)
Лабораторная работа №5. (4 часа)
Тема: Методы поиска цели в ПРОЛОГ-программах. Изучение интерфейса и синтаксиса языка логического программирования Пролог в среде TURBO PROLOG. Структура программы. Создание базы знаний. Составление простейших программы на Прологе.
Структура логической программы
Пример 1. Программа «Родство».
Рассмотрены два варианта блока goal: вне текста программы и внутри текста программы (внешние и внутренние цели).