- •Список требований заказчика
- •Программа-генератор
- •Программа-вычислитель
- •Функциональная спецификация Программа-генератор polgen.Exe
- •Программа-вычислитель polsolve.Exe
- •Проектная спецификация Программа-генератор polgen.Exe
- •Программа-вычислитель polsolve.Exe
- •Эксплуатационная документация к программе-генератору polgen.Exe
- •К программе-вычислителю polsolve.Exe
- •Код программы Программа polgen.Exe Файл maincode.Cpp
- •Программа polsolve.Exe Файл maincode.Cpp
МИНОБРНАУКИ РОССИИ |
|
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики" МГТУ МИРЭА
|
|
__________________________________ИТ_____________________________________ (наименование факультета) |
|
__________________________Прикладная математика____________________________ (наименование кафедры) |
|
КУРСОВОЙ ПРОЕКТ (РАБОТА) |
|
по дисциплине |
|
«Технология создания программного продукта» (наименование дисциплины) |
|
Тема курсового проекта (работы) «Создание программного продукта в виде взаимодействующих модулей (Генератор программ для стековой машины)» (наименование темы)
|
|
Студент группы ИТП-1-10 (учебная группа) |
Небогин К.А. |
Руководитель курсового проекта (работы) должность, звание, ученая степень |
Федотов И.Е. |
Рецензент (при наличии) должность, звание, ученая степень |
Федотов И.Е. |
|
|
Работа представлена к защите |
«__»_______201___ г. |
(подпись студента) |
|
|
|
«Допущен к защите» |
«__»_______201___ г. |
(подпись руководителя) |
|
|
||||||
|
|
|
|||||
МИНОБРНАУКИ РОССИИ |
|
||||||
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования "Московский государственный технический университет радиотехники, электроники и автоматики" МГТУ МИРЭА
|
|
||||||
____________________________________ИТ___________________________________ (наименование факультета) |
|||||||
__________________________Прикладная математика____________________________ (наименование кафедры) |
|||||||
|
Утверждаю |
||||||
|
Заведующий кафедрой______________А.Б. Самохин |
||||||
|
«____» __________201___ г. |
||||||
ЗАДАНИЕ |
|||||||
на выполнение курсового проекта (работы) |
|||||||
по дисциплине «Технология Создания Программного Продукта» |
|||||||
|
|||||||
Студент Небогин К.А. Группа ИТП-1-10 |
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
|
|||||||
Задание на курсовой проект, (работу) выдал |
«___»______201__г. |
Подпись руководителя проекта
|
Ф.И.О. руководителя проекта |
||||
Задание на курсовой проект, (работу) получил |
«___»______201__г. |
Подпись студента – исполнителя проекта |
Ф.И.О. студента - исполнителя проекта |
Список требований заказчика
Требуется разработать программу-генератор и программу-вычислитель для булевых функций. То есть проект должен состоять из двух программ. Рассмотрим каждую по отдельности:
Программа-генератор
Задача генератора – построить выражение в обратной польской нотации для заданной вектора-функции, используя в качестве базиса стрелку Пирса («_»).
При запуске, программе при помощи параметров командной строки передаются имена переменных, которые необходимо использовать для построения выражения.
Входные данные (в stdin): булевая вектор-функция в виде строки, состоящей только из нулей и единиц.
Выходные данные (в stdout): выражение в обратной польской нотации в базисе стрелки Пирса.
Сообщения об ошибках выводятся в поток stderr.
Например:
Polgen.exe x1 x2
Стандартный ввод:
0010
Стандартный вывод:
x2 0 _ 0 _ x1 0 _ _
Программа-вычислитель
Задача вычислителя – принять логическое выражение в польской нотации на входе и на основании заданных значений переменных выполнить выражение.
При запуске, программе при помощи параметров командной строки передаются имена и значения переменных, для которых будет производиться вычисление.
Входные данные (в stdin): логическое выражение в обратной польской нотациив базисе стрелки Пирса.
Выходные данные (в stdout): результат вычислений.
Сообщения об ошибках выводятся в поток stderr.
Например:
Polsolve.exe x1=1 x2=0
Стандартный ввод:
x2 0 _ 0 _ x1 0 _ _
Стандартный вывод:
1
Функциональная спецификация Программа-генератор polgen.Exe
Получение результата, - логического выражения в обратной польской нотации в базисе стрелки Пирса, - будет происходить в несколько этапов:
Обработка введенной пользователем информации, то есть параметров командной строки и вектора-функции.
Проверка корректности ввода состоит в анализе имен переменных, которые должны содержать буквы и цифры. Затем проводится проверка вектора-функции на корректность ввода. После этого сопоставляется количество разрядов в векторе-функции с количеством введенных переменных.
Только в случае успешно пройденной проверки программа переходит к последующим шагам.
С заведомо корректными данными строится логическое выражение СДНФ для заданной вектор-функции. Выражение генерируется и хранится в обратной польской нотации в базисе {&, |, ~}.
Происходит конвертирование СДНФ в логическое выражение со стрелкой Пирса.
Вывод полученного выражения.
Программа-вычислитель polsolve.Exe
Получение результата, - значения выражения при заданных значениях переменных, - также происходит в несколько этапов:
Обработка введенной пользователем информации, то есть параметров командой строки и логического выражения.
Анализируются имена и значения переменных, введенных в качестве параметров командной строки. Затем анализируется введенное выражение в польской нотации. После этого сопоставляются имена переменных в параметрах командной строки и в выражении.
Только в случае успешного прохождения проверки программа переходит к последующим шагам.
В выражении все переменные заменяются на заданные им значения.
Полученное в итоге выражение вычисляется.
Вывод результата.