Автор работы: Пользователь скрыл имя, 21 Июля 2015 в 12:25, курсовая работа
Спроектировать и программно реализовать транслятор с естественного языка на язык программирования - Limbo. Транслятор написан на языке программирования – С#.
Разработанная программа должна считывать определенные конструкции естественного языка, распознавать их и преобразовывать в аналогичные конструкции языка Limbo с учетом особенностей построения этих конструкции в языке программирования. После преобразования всех конструкций, программа должна вывести на экран полученный код на языке Limbo.
1 ПОСТАНОВКА ЗАДАЧИ 3
2 АНАЛИЗ ТЕКСТА НА ЕСТЕСТВЕННОМ ЯЗЫКЕ 4
2.1 Пример текста на естественном языке………………………………………4
2.2 Пошаговый разбор текста на естественном языке………………………….4
3 ОПИСАНИЕ ВЫБРАННОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ………….6
3.1 История выбранного языка…………………………………………………..6
3.2 Особенности выбранного языка……………………………………………..6
3.3 Основные конструкции выбранного языка…………………………………7
4 ПРИМЕР ТРАНСЛЯЦИИ ИСХОДНОГО ТЕКСТА………………….……....8
4.1 Исходный текст……………………………………………………………….8
4.2 Транслированный текст………………………………………………………8
5 АЛГОРИТМ РАЗРАБОТАННОЙ ПРОГРАММЫ 10
5.1 Блок-схема……………………………………………………………………10
5.2 Словесный алгоритм…………………………………………………….…..11
6 КОД ПРОГРАММЫ…………………………………………………………...12
7 ПРИМЕР РАБОТЫ РАЗРАБОТАННОЙ ПРОГРАММЫ…...……………...25
СПИСОК ЛИТЕРАТУРЫ 28
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Волгоградский государственный технический университет»
Камышинский технологический институт (филиал)
федерального государственного бюджетного образовательного учреждения высшего профессионального образования
«Волгоградский государственный технический университет»
Факультет |
Информационных технологий | |
Кафедра |
Автоматизированные системы обработки информации | |
и управления» |
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
к курсовой работе
по дисциплине Лингвистическое и программное .
обеспечение систем
на тему Разработка программного обеспечения для реализации переводчика с естественного языка на язык программирования (вариант № 17)
Студент Четвериков Сергей Александрович__ _______________
Группа ____КВТ-121_______________
Руководитель работы ___________________________
(подпись и дата
подписания) (инициалы и фамилия)
Члены комиссии:
________________________ __________________
(подпись и дата подписания) (инициалы и фамилия)
________________________ __________________
(подпись и дата подписания) (инициалы и фамилия)
________________________ __________________
(подпись и дата подписания) (инициалы и фамилия)
Нормоконтролер ___________________________
(подпись и дата
подписания)
(инициалы и фамилия)
Камышин 2015
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Волгоградский государственный технический университет»
Камышинский технологический институт (филиал)
федерального государственного бюджетного образовательного учреждения высшего профессионального образования
«Волгоградский государственный технический университет»
Факультет |
Информационных технологий | |
Направление |
230100.62 «Информатика и вычислительная техника» | |
Кафедра |
Автоматизированные системы обработки информации | |
и управления» | ||
Дисциплина |
Лингвистическое и программное обеспечение систем |
УТВЕРЖДАЮ:
Зав. кафедрой АСОИУ
_____________ И. В. Степанченко
«___» _____________ 2015 г.
Студент Четвериков Сергей Александрович
Группа___КВТ-121______________
1. Тема: _ Разработка программного обеспечения для реализации переводчика с естественного языка на язык программирования (вариант № 12)
Утверждено приказом от «_____» ______________ 2015 г. № _________
2. Срок представления работы (проекта) к защите «_9_»__июня__2015 г.
3. Содержание расчетно-
4. Перечень графического
5. Дата выдачи задания «_12_» __февраля__ 2015 г.
Руководитель проекта (работы)______________________
подпись, дата инициалы и фамилия
Задание принял к исполнению____________________
подпись, дата
СОДЕРЖАНИЕ
Лист
| ||||||||||
КР 230100. 17. Д. ПЗ | ||||||||||
Изм. |
Лист |
№ докум. |
Подп. |
Дата | ||||||
Разраб. |
Четвериков С.А. |
Разработка программного обеспечения для реализации переводчика с естественного языка на язык программирования (вариант № 12) |
Лит. |
Лист |
Листов | |||||
Пров. |
Харитонов И.М. |
У |
2 |
28 | ||||||
КТИ ВолгГТУ | ||||||||||
Н.контр. |
Харитонов И.М. |
|||||||||
Утв. |
Степанченко И.В. |
Спроектировать и программно реализовать транслятор с естественного языка на язык программирования - Limbo. Транслятор написан на языке программирования – С#.
Разработанная программа должна считывать определенные конструкции естественного языка, распознавать их и преобразовывать в аналогичные конструкции языка Limbo с учетом особенностей построения этих конструкции в языке программирования. После преобразования всех конструкций, программа должна вывести на экран полученный код на языке Limbo.
Задачи, которые должна решать разработанная программа:
- считывание текста из файла;
- поиск в тексте заданных конструкций на естественном языке;
- распознавание конструкций на естественном языке;
- преобразование конструкций на естественном языке в конструкции языка Limbo, в соответствии с правилами этого языка программирования;
- вывод на экран преобразованного кода на языке Limbo.
В соответствии с заданием, разрабатываемая программа должна искать в тексте следующие конструкции на естественном языке:
- ввод;
- присвоить;
- цикл;
- начало цикла;
- конец цикла;
- инкремент;
- декремент;
- равно;
- плюс;
- минус;
- больше;
- меньше;
- если;
- начало если;
- конец если;
- вывод.
начало программы
ввод целой X
ввод вещественной Y
ввод вещественной Z
X присвоить 1
Y присвоить 0
Z присвоить 3,5
цикл по X от 1 до 3 шаг 1
начало цикла
инкремент Z
Y равно Y плюс Z
конец цикла
если Y меньше 10
начало если
X присвоить 1
конец если
если Y больше 10
начало если
X присвоить 2
конец если
вывод X
вывод Y
конец программы
2.2 Пошаговый разбор текста на естественном языке
Пошагово рассмотрим как разработанная программа должна анализировать предлагаемый текст.
1) «ввод целой X» - объявление переменной X как целочисленной переменной;
2) «ввод дробной Y» - объявление переменной Y как переменной вещественного типа;
3) «ввод двойной Z» - объявление переменной Z как переменной вещественного типа с двойной точностью;
4) «X присвоить 1» - присвоение переменной X целого значения равного 1;
5) «Y присвоить 0» - присвоение переменной Y целого значения равного 0;
6) «Z присвоить 3,5» - присвоение переменной Z вещественного значения равного 3,5;
7) «цикл по X от 1 до 3 шаг 1» - объявление цикла по переменной X, начиная с 1 и заканчивая 3, с шагом 1;
8) «начало цикла» - начало тела цикла;
9) «инкремент Z» - увеличение значения переменной Z на 1;
10) «Y равно Y плюс Z» - сложение значений переменных Y и Z, с записью полученного результата в переменную Y;
11) «конец цикла» - конец тела цикла;
12) «если Y меньше 10» - проверка условия для переменной Y;
13) «начало если» - начало тела выполнения условия;
14) «X присвоить 1» - присвоение переменной X целого значения равного 1;
15) «конец если» - конец тела выполнения условия;
16) «если Y больше 10» - проверка условия для переменной Y;
17) «начало если» - начало тела выполнения условия;
18) «X присвоить 2» - присвоение переменной X целого значения равного 2;
19) «конец если» - конец тела выполнения условия;
20) «если Y больше 10 то X равно 2» - проверка условия для переменной Y, если оно выполняется, то присвоение переменной X значения 2;
21) «вывод X» - вывод на экран значение переменной X;
22) «вывод Y» - вывод на экран значение переменной Y.
3 ОПИСАНИЕ ВЫБРАННОГО ЯЗЫКА ПРОГРАММИРОВАНИЯ
3.1 История выбранного языка
3.2 Особенности выбранного языка
3.3 Основные конструкции выбранного языка
Основные конструкции языка Icon, а также способ их представления показаны в таблице.
Таблица – Основные конструкции языка Icon
Описание конструкции |
Естественный язык |
Язык Icon |
объявление переменной |
ввод |
X: int; |
присвоение значения |
присвоить |
X=1; |
объявление цикла |
цикл |
for (X=1; X < 3; X+1) { } |
начало тела цикла |
начало цикла | |
конец тела цикла |
конец цикла | |
увеличение на 1 |
инкремент |
Z++; |
уменьшение на 1 |
декремент |
Z--; |
знак равенства |
равно |
= |
знак сложения |
плюс |
+ |
знак вычитания |
минус |
- |
знак больше |
больше |
> |
знак меньше |
меньше |
< |
объявление условия |
если |
If (Y>10 ) { } |
начало тела условия |
начало если | |
конец тела условия |
конец если | |
вывод данных |
вывод |
sys->print( X) |