Англо-русский и русско-английский переводчик

Создание программы на языке объектно-ориентированного программирования С++, реализующей построчный перевод текста (по словам) с английского на русский. Описание алгоритма решения задачи. Основные функции программы, примеры результатов ее работы.

Рубрика Программирование, компьютеры и кибернетика
Вид отчет по практике
Язык русский
Дата добавления 10.04.2016
Размер файла 527,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Федеральное государственное автономное образовательное учреждение высшего профессионального образования

"СИБИРСКИЙ ФЕДЕРАЛЬНЫЙ УНИВЕРСИТЕТ"

Институт математики и фундаментальной информатики

Базовая кафедра вычислительных и информационных технологий

ОТЧЕТ ОБ УЧЕБНОЙ ПРАКТИКЕ

Институт математики и фундаментальной информатики СФУ

"Англо-русский и русско-английский переводчик"

Руководитель И.В. Баженова

Студент Я.А. Рукосуева

Красноярск 2014

Содержание

  • 1. Постановка задачи
  • 2. Описание программы
  • 2.1 Среда разработки программы
  • 2.2 Алгоритм решения задачи
  • 2.2.1 Блок-схема алгоритма
  • 2.2.2 Описание алгоритма решения задачи
  • 2.3 Описание основных функций программы
  • 3. Примеры результатов работы программы
  • Список использованных источников
  • Приложение (листинг программы)

1. Постановка задачи

Целью курсовой работы является создание программы на языке объектно-ориентированного программирования С++, реализующей англо-русский и русско-английский переводчик. Составить программу, которая осуществляет построчный перевод текста (по словам) с английского на русский или, наоборот, в зависимости от того, что выбрал пользователь. Исходными данными для программы являются текст, введенный пользователем с клавиатуры (или исходный файл), два файла-словаря (в одном английское слово, во втором - его значение на русском). Перевод помещается в новый текстовый файл и выводится на экран.

программа алгоритм переводчик русский английский

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

2.1 Среда разработки программы

Программа реализована в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++ с применением библиотек: iostream, fstream, stdlib. h, sstream.

iostream.

iostream - заголовочный файл с классами, функциями и переменными для организации ввода-вывода в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от Input/Output Stream ("поток ввода-вывода"). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки ввода-вывода, вместо этого используется библиотека функций. iostream управляет вводом-выводом. iostream использует объекты cin, cout, cerr и clog для передачи информации в и из стандартных потоков ввода, вывода, ошибок (без буферизации) и ошибок (с буферизацией) соответственно. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён - std.

fstream.

fstream - заголовочный файл из стандартной библиотеки C++, включающий набор классов, методов и функций, которые предоставляют интерфейс для чтения/записи данных из/в файл. Для манипуляции с данными файлов используются объекты, называемые потоками ("stream").

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

stdlib. h.

stdlib. h. - заголовочный файл стандартной библиотеки языка Си, который содержит в себе функции, занимающиеся выделением памяти, контроль процесса выполнения программы, преобразования типов и другие. Заголовок вполне совместим с C++ и известен в нём как cstdlib. Название "stdlib" расшифровывается как "standard library" (стандартная библиотека).

sstream.

sstream - заголовочный файл с классами, функциями и переменными для организации работы со строками, через интерфейс потоков, в языке программирования C++. Он включён в стандартную библиотеку C++. Название образовано от сокращения имени строчного типа данных (англ. string) и англ. stream (поток). В языке C++ и его предшественнике, языке программирования Си, нет встроенной поддержки потоковой работы со строчным типом данных. sstream использует единственный объект sstream для организации работы со строками. Являясь частью стандартной библиотеки C++, эти объекты также являются частью стандартного пространства имён - std.

2.2 Алгоритм решения задачи

2.2.1 Блок-схема алгоритма

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

2.2.2 Описание алгоритма решения задачи

1) Сначала узнаем размер словаря (вызов функции "GetSizeFile ()")

Когда мы убедились, что словари не пусты, пользователь с клавиатуры выбирает тип перевода: с английского языка на русский или с русского на английский. После этого мы открываем файлы словарей "Rus. txt" и "Eng. txt" для чтения и считываем одинаковое ли количество слов в русском и английском словарях в соответствующие массивы Rus и Eng для перевода и закрываем файлы словарей (getEng. close (); getRus. close ();).

2) Открываем файл "Trans. txt" для записи перевода (ofstream putTrans ("Trans. txt");). В зависимости от того, что выбрал пользователь, открываем файл с русским текстом (ifstream getText; getText. open ("Text. txt");), который надо перевести, или с английским (ifstream getText; getText. open ("TextEng. txt");), считываем и выводим на экран текст для перевода.

3) Возвращаемся в начало файла, который переводим. Теперь считываем по одному слову и ищем это слово в массиве соответствующего словаря, который составлен ранее. Если слово найдено, выводим перевод этого слова из второго словаря на экран и записываем его в файл "Trans. txt" (putTrans<<Rus [i] или putTrans<<Eng [i]). Повторяем это в цикле while до тех пор, пока файл для перевода не закончится. Как только файл закончился, закрываем все файлы с помощью getText. close () и putTrans. close ().

2.3 Описание основных функций программы

Функция "GetSizeFile ()" - определение количества слов в словаре.

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

3. Примеры результатов работы программы

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

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

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

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

1. Баранов, С.Н. Программирование на языке С++: учеб. пособие / С.Н. Баранов, И.В. Баранова. - Красноярск: ИПК СФУ, 2010. - 112 с.

2. Глушаков, С.В. Язык программирования С++ / С.В. Глушаков, А.В. Коваль, С.В. Смирнов. - М.: АСТ, 2004. - 500 с.

3. Лафоре, Р. Объектно-ориентированное программирование в С++ / Р. Лафоре. - Спб.: Питер, 2004. - 923 с.

4. Вирт Н. Алгоритмы и структуры данных / Н. Вирт. - М,: Мир, 1989. - 360 с.

5. http://dilet. narod.ru - Общий словарь.

Приложение (листинг программы)

#include <iostream>

#include <fstream>

#include <stdlib. h>

#include <sstream>

using namespace std;

int GetSizeFile ()

{setlocale (LC_ALL,"rus");

int i=0;

string Rus,Eng;

ifstream getEng ("Eng. txt");

ifstream getRus ("Rus. txt");

if (getEng. is_open () && getRus. is_open ())

{

while (! getEng. eof () &&! getRus. eof ())

{

getEng>>Eng;

getRus>>Rus;

i++;

}

}

else

return 0;

return i;

}

int main ()

{

int sizeFile=GetSizeFile ();

if (sizeFile==0)

{

cout<<"Словарь пуст!!!";

exit (0);

}

string * Eng=new string [sizeFile];

string * Rus=new string [sizeFile];

int lang;

cout<<"Английский->Русский - 1\nРусский->Английский - 2\n";

cin>>lang;

string t_Rus,t_Eng;

ifstream getEng ("Eng. txt");

ifstream getRus ("Rus. txt");

int i=0;

if (getEng. is_open () && getRus. is_open ())

{

while (! getEng. eof () &&! getRus. eof ())

{

getEng>>t_Eng;

getRus>>t_Rus;

Rus [i] =t_Rus;

Eng [i] =t_Eng;

i++;

cout<<"";

}

getEng. close ();

getRus. close ();

}

else

{

cout<<"Read file error";

exit (0);

}

string Text;

ofstream putTrans ("Trans. txt");

if (! putTrans. is_open ())

{

cout<<"Ошибка записи файла";

exit (0);

}

ifstream getText;

if (lang==2)

getText. open ("Text. txt");

else getText. open ("TextEng. txt");

if (getText. is_open ())

{

int flag;

while (! getText. eof ())

{

getText>>Text;

flag=0;

for (int i=0; i<sizeFile; i++)

{

if (lang==1)

{

if (Text==Eng [i])

{

cout<<Rus [i] <<" ";

putTrans<<Rus [i] <<" ";

flag=1;

}

}

else

{

if (Text==Rus [i])

{

cout<<Eng [i] <<" ";

putTrans<<Eng [i] <<" ";

flag=1;

}

}

}

if (flag==0)

{

cout<<" ("<<Text<<")";

putTrans<<" ("<<Text<<")";

}

}

getText. close ();

putTrans. close ();

}

else

{

cout<<"Ошибка чтения файла";

exit (0);

}

return 0;

}

Размещено на Allbest.ru


Подобные документы

  • Создание программы, реализующей игру "Линии". Среда разработки программы, описание ее общего вида. Основные алгоритмы программы. Реализация программы в среде разработки Microsoft Visual Studio 2008 на языке объектно-ориентированного программирования С++.

    курсовая работа [639,0 K], добавлен 16.03.2012

  • Лингвистическое обеспечение автоматизированной системы. Алгоритмы сортировки методом прохождения бинарного дерева. Перевод входной строки в инфиксной форме в постфиксную. Конструирование программы-переводчика с английского на русский язык в Delphi.

    курсовая работа [1,2 M], добавлен 18.08.2009

  • Введение в объектно-ориентированное программирование. Постановка задачи. Описание алгоритма решения в псевдокоде (команды в виде текста на русском языке). Исходный текст программы на С. Тестирование программы. Модификация программы. Полиморфизм.

    курсовая работа [294,0 K], добавлен 08.09.2008

  • Характеристика основных принципов объектно-ориентированного программирования. Этапы разработки программы на языке C++, реализующей игру "Морской бой". Выбор языка программирования. Характеристика необходимых классов, наследований, виртуальных методов.

    курсовая работа [657,6 K], добавлен 17.06.2012

  • Разработка программы с использованием принципов объектно-ориентированного программирования на языке высокого уровня С средствами Microsoft Visual Studio 2010. Построение алгоритма реализации. Класс программы, инструкция по использованию программы.

    курсовая работа [1,0 M], добавлен 26.12.2013

  • Разработка программы логической игры в "крестики-нолики" пять в ряд на поле размера 15х15 клеток с применением графики на языке Pascal с использованием объектно-ориентированного программирования. Структура алгоритма программы и описание ее работы.

    курсовая работа [821,5 K], добавлен 13.02.2012

  • Особенности создания программы "Файловый менеджер" в среде объектно-ориентированного программирования Delphi. Назначение и основные функции программы, формулировка задачи. Описание программы, использованные компоненты, интерфейс и порядок применения.

    контрольная работа [1,3 M], добавлен 19.06.2012

  • Последовательность работ при разработке объектно-ориентированных программ. Виды синтаксических анализаторов и способы их применения. Описание алгоритма и анализ результативности работы программы, написанной на языке С, ее константы, переменные и функции.

    курсовая работа [441,7 K], добавлен 03.07.2011

  • Разработка программы тестирования студентов по MS PowerPoint с кодом на языке Delphi. Создание алгоритма для решения функциональных требований задачи. Описание переменных, вспомогательных процедур, входных и выходных данных для реализации программы.

    курсовая работа [1,5 M], добавлен 21.09.2010

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

    курсовая работа [1,2 M], добавлен 04.08.2014

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.