Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TSPP.doc
Скачиваний:
7
Добавлен:
19.09.2019
Размер:
146.43 Кб
Скачать

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Московский государственный технический университет радиотехники,

электроники и автоматики"

МГТУ МИРЭА

__________________________________ИТ_____________________________________

(наименование факультета)

__________________________Прикладная математика____________________________

(наименование кафедры)

КУРСОВОЙ ПРОЕКТ (РАБОТА)

по дисциплине

«Технология создания программного продукта»

(наименование дисциплины)

Тема курсового проекта (работы) «Создание программного продукта в виде взаимодействующих модулей (Генератор программ для стековой машины)»

(наименование темы)

Студент группы ИТП-1-10

(учебная группа)

Небогин К.А.

Руководитель курсового проекта (работы)

должность, звание, ученая степень

Федотов И.Е.

Рецензент (при наличии)

должность, звание, ученая степень

Федотов И.Е.

Работа представлена к защите

«__»_______201___ г.

(подпись студента)

«Допущен к защите»

«__»_______201___ г.

(подпись руководителя)

МИНОБРНАУКИ РОССИИ

Федеральное государственное бюджетное образовательное учреждение

высшего профессионального образования

"Московский государственный технический университет радиотехники,

электроники и автоматики"

МГТУ МИРЭА

____________________________________ИТ___________________________________

(наименование факультета)

__________________________Прикладная математика____________________________

(наименование кафедры)

Утверждаю

Заведующий

кафедрой______________А.Б. Самохин

«____» __________201___ г.

ЗАДАНИЕ

на выполнение курсового проекта (работы)

по дисциплине «Технология Создания Программного Продукта»

Студент Небогин К.А. Группа ИТП-1-10

  1. Тема Создание программного продукта в виде взаимодействующих модулей (Генератор программ для стековой машины)

  1. Исходные данные:

    1. Перечень вопросов, подлежащих разработке, и обязательного графического материала:

  1. Срок представления к защите курсового проекта (работы): до «___» _______201_ г.

Задание на курсовой

проект, (работу) выдал

«___»______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

Получение результата, - логического выражения в обратной польской нотации в базисе стрелки Пирса, - будет происходить в несколько этапов:

          1. Обработка введенной пользователем информации, то есть параметров командной строки и вектора-функции.

Проверка корректности ввода состоит в анализе имен переменных, которые должны содержать буквы и цифры. Затем проводится проверка вектора-функции на корректность ввода. После этого сопоставляется количество разрядов в векторе-функции с количеством введенных переменных.

Только в случае успешно пройденной проверки программа переходит к последующим шагам.

          1. С заведомо корректными данными строится логическое выражение СДНФ для заданной вектор-функции. Выражение генерируется и хранится в обратной польской нотации в базисе {&, |, ~}.

          2. Происходит конвертирование СДНФ в логическое выражение со стрелкой Пирса.

          3. Вывод полученного выражения.

Программа-вычислитель polsolve.Exe

Получение результата, - значения выражения при заданных значениях переменных, - также происходит в несколько этапов:

  1. Обработка введенной пользователем информации, то есть параметров командой строки и логического выражения.

Анализируются имена и значения переменных, введенных в качестве параметров командной строки. Затем анализируется введенное выражение в польской нотации. После этого сопоставляются имена переменных в параметрах командной строки и в выражении.

Только в случае успешного прохождения проверки программа переходит к последующим шагам.

  1. В выражении все переменные заменяются на заданные им значения.

  2. Полученное в итоге выражение вычисляется.

  3. Вывод результата.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]