Смекни!
smekni.com

Создание программы-переводчика текстов с английского на русский язык (стр. 2 из 3)

3. Работа на тему «Польская запись»

3.1 Техническое задание на разработку программы

Перевести входную строку в инфиксной форме в постфиксную.

3.2 Описание программы

Входной язык

Лексемами входного языка в данной работе являются буквы или цифры, т.е. операнды, и связывающие их арифметические действия.

Входными данными являются арифметические выражения.

Форма исходной информации приведена на рисунке 4.

Рисунок 4 – Форма ввода данных для программы «Польская запись»

Внутренний язык

В качестве внутреннего языка для данной работы был выбран Паскаль.

Описание данного языка программирования приведено в первой работе на тему «Бинарные деревья».

Выходной язык

Выходной язык обеспечивает оформление результатов программы в текстовом виде.

Для данной программы выходными данными являетсястрока символов в постфиксной форме записи. Форма выходной информации приведена ниже (рисунок 5).

Рисунок 5 – Форма выходных данных для программы «Польская запись»

3.3 Выводы по работе

В данной работе были изучены алгоритмы перевода выражений в форму, удобную для машинной обработки в виде польской записи, а также был осуществлен на практике алгоритм перевода выражения из инфиксной формы в постфиксную.

Обратная польская запись обладает pядом замечательных свойств, котоpые пpевpащают ее в идеальный пpомежуточный язык пpи тpансляции. Во-пеpвых, вычисление выpажения, записанного в обpатной польской записи, может пpоводиться путем однокpатного пpосмотpа, что является весьма удобным пpи генеpации объектного кода пpогpамм.

Во-втоpых, получение обpатной польской записи из исходного выpажения может осуществляться весьма пpосто на основе пpостого алгоpитма, пpедложенного Дейкстpой, – метод стеков с приоритетами.

Этот метод основан на использовании стека с приоритетами, позволяющего изменить порядок следования знаков операций в выражении так, что получается обратная польская запись. В данной работе был использован именно этот метод, так как он является более удобным для реализации щаной программы.

3.4 Результаты работы программы

Результаты работы программы представлены на рисунке 6. Листинг программы приведен в приложении В.

Рисунок 6 – Результаты работы программы «Польская запись»


4. Работа на тему «Переводчик»

4.1 Техническое задание на разработку программы

Написать программу, при помощи которой можно переводить несложные тексты с английского языка. Программа должна загружать файлы с текстом и словарем из оболочки или путем передачи имен файлов как параметров командной сроки и выдавать файл с переводом.

4.2 Описание программы

Входной язык

Входной язык является диалоговым языком, который позволяет в форме диалога пользователю ввести данные.

Входной язык характеризуется большим разнообразием, изменчивостью, узкой проблемной ориентацией. Недостатки входных языков это необходимость существенной перестройки программной системы при изменении каких-то условий.

Лексемами входного языка в данной работе являются слова английского алфавита, т.е. входными данными является текст на английском языке. Текст может как загружаться из текстового файла, так и вводиться пользователем с клавиатуры. Форма входных данных приведена на рис. 7.

Рисунок 7 – Форма входных данных для программы «Переводчик»

Внутренний язык

В качестве внутреннего языка для данной работы был выбран ObjectPascal, который используется в среде программирования Delphi. Этот язык использует принципы объектно-ориентированного и визуального программирования.

Язык ObjectPascal является одним из высокоразвитых языков объектно-ориентированного программирования. И среди других, например, таких как VisualBasic или VisualC++, отличается простотой программного кода, достаточным количеством литературы по этому языку.

Объектно-ориентированное программирование (ООП) – это методика разработки программ, в основе которой лежит понятие объект. Объект – это некоторая структура, соответствующая объекту реального мира, его поведению. Задача, решаемая с использованием методики ООП, описывается в терминах объектов и операций над ними, а программа при таком подходе представляет собой набор объектов и связей между ними.

По сравнению с традиционными способами программирования ООП обладает рядом преимуществ. Главное из них заключается в том, что эта концепция в наибольшей степени соответствует внутренней логике функционирования операционной системы (ОС) Windows. Программа, состоящая из отдельных объектов, отлично приспособлена к реагированию на события, происходящие в ОС. К другим преимуществам ООП можно отнести большую надежность кода и возможность повторного использования отработанных объектов.

Delphi – это комбинация нескольких важнейших технологий:

· Высокопроизводительный компилятор в машинный код

· Объектно-ориентированная модель компонент

· Визуальное (а, следовательно, и скоростное) построение приложений из программных прототипов

· Масштабируемые средства для построения баз данных

Программирование в Delphi строится на тесном взаимодействии двух процессов:

• процесса конструирования визуального проявления программы (т.е. ее Windows-окна),

• процесса написания кода, придающего элементам этого окна и программе в целом необходимую функциональность.

Основные преимущества среды программирования Delphi:

– Простота языка позволяет быстро его освоить и создавать сложные программы;

– Развитые средства представления структур данных обеспечивают удобство работы, как с числовой, так и с символьной и битовой информацией;

– Объектно-ориентированное программирование (ООП) в визуальной среде.

В процессе построения приложения разработчик выбирает из палитры компонент готовые компоненты как художник, делающий крупные мазки кистью. Еще до компиляции он видит результаты своей работы – после подключения к источнику данных их можно видеть отображенными на форме, можно перемещаться по данным, представлять их в том или ином виде. В этом смысле проектирование в Delphi мало чем отличается от проектирования в интерпретирующей среде, однако после выполнения компиляции мы получаем код, который исполняется в 10–20 раз быстрее, чем тоже самое, сделанное при помощи интерпретатора. Кроме того, компилятор компилятору рознь, в Delphi компиляция производится непосредственно в родной машинный код, в то время как существуют компиляторы, превращающие программу в так называемый p-код, который затем интерпретируется виртуальной p-машиной. Это не может не сказаться на фактическом быстродействии готового приложения.

Основной упор этой модели в Delphi делается на максимальном реиспользовании кода. Это позволяет разработчикам строить приложения весьма быстро из заранее подготовленных объектов, а также дает им возможность создавать свои собственные объекты для среды Delphi. Никаких ограничений по типам объектов, которые могут создавать разработчики, не существует.

Выходной язык

Выходной язык обеспечивает оформление результатов программы в текстовом виде.

Лексемами выходного языка являются слова на русском языке, т.е. для данной программы выходными данными являетсятекст на русском языке. Форма выходных данных приведена ниже (рисунок 8).

Рисунок 8 – Форма выходных данных для программы «Переводчик»

4.3 Выводы по работе

В данной работе были изучены некоторые аспекты конструирования и построения переводчика с английского языка на русский язык.


4.4 Результаты работы программы

В представленной работе был разработан переводчик с английского языка на русский язык. В нем присутствуют функции сохранения перевода и добавления новых слов в словарь.

Результаты работы программы представлены на рисунках 9 и 10. Листинг программы приведен в приложении С.

Рисунок 9 – Главное окно программы «Переводчик»

Рисунок 10 – Окно просмотра словаря программы «Переводчик»


Заключение

Разработанный в ходе выполнения курсового проекта переводчик текстов с английского языка на русский язык является актуальным на сегодняшний день, так как многие пользователи нуждаются в автоматизированном простом и быстром средстве перевода. Нами были приобретение практических навыков в построении переводчиков.

Также были решены задачи, поставленные перед нами. Мы научились разрабатывать собственные алгоритмы для решения этих задач, овладели методами и средствами отладки и тестирования программ.

Разработанная нами программа устойчиво выполняет все свои функции, что делает ее применимой к многим областям деятельности. Но теперь перед нами стоит задача сделать переводчик еще более совершенным и более расширенным.

Список использованных источников

1. Гриз Д. Теория конструирования цифровых компиляторов. М.: Мир, 1980.

2. Ахо А., Ульман Дж. Теория синтаксического анализа перевода и компиляции. М.: Мир, 1978

3. Хантер Р. Проектирование и конструирование компиляторов. М.: Радио, 1984.

4. Молчанов, А.Ю. Системное программное обеспечение. – М.; СПб.; Нижний Новгород: Питер, 2003. – 395 с.

5. Гордеев, А.В. Системное программное обеспечение. – СПб.; М.; Харьков: Питер, 2002. – 736 с.

Приложение А