48231 (608508)

Файл №608508 48231 (Программа для перевода текстов с транслита)48231 (608508)2016-07-30СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Федеральное агентство по образованию Российской Федерации.

Южно-Уральский Государственный Университет.

Кафедра «Информационно – аналитическое обеспечение управления в социальных и экономических системах»

Курсовая работа по дисциплине Программирование на языке высокого уровня

«Программа для перевода текстов с транслита»

Выполнил:

Студент группы ПC-ххх

_______ Студент

“___” ____________ 2005

Проверил:

_______ Препод

“___”____________2005

Челябинск

2005


План


Описание применения

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

2. Актуальность задачи

3. Метод решения

4. Входные и выходные данные

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

1. Общие данные и типы.

2. Список процедур и функций

3. Структура программы.

4. Главная форма

5. Форма «Редактор алфавита»

6. Форма «О программе»

7. Основные алгоритмы

8. Работа с программой, входные и выходные данные

9. Описание тестовых заданий

Приложение



Описание применения


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

Программа для перевода текстов с транслита на русский и обратно. Поддерживается форматирование текста, наиболее популярные системы транслитерации ГОСТ 16876-71, русско-английскую, а также таблицы, задаваемые пользователем. Программа должна иметь функцию перевода символов текста к верхнему и нижнему регистру, функцию подсчета количества символов в тексте. Загрузка текста из буфера обмена может осуществляться по быстрой кнопке.

  1. Актуальность задачи

Перевод текста из кириллицы в транслит используется очень часто. От простейшего создания nickname до разговоров в IRC-каналах. Многие программы не поддерживают кириллицу и приходится вводить какие-либо комментарии на транслите. Также некоторые mp3-плееры не поддерживают кириллицу и теги приходится писать также на транслите. Этот способ кодировки русских букв давно устоялся и есть чёткие правила (хотя есть и варианты) набора букв. Поэтому в данной программе необходимо реализовать загрузки словаря.

  1. Метод решения

Так как программа должна иметь графический и интуитивно понятный интерфейс, то для решения очень подходит DELPHI. Была выбрана версия 7.0. Вся программа была разбита на 3 формы: главная, форма работы со словарями и форма «О программе». Весь интерфейс был разработан на стандартных компонентах и обработчиках событий.

  1. Входные и выходные данные

Входные и выходные параметры могут быть двух типов: словарь и текст для перевода. Словарь – типизированный файл (shortstring). Возможно сохранение и загрузка словаря. Текст – обычный текстовый файл на кириллице или транслите (возможен перевод в обе стороны). Результат также можно сохранять в текстовый файл. Также текст можно вводить с клавиатуры в соответствующие текстовые поля.


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

  1. Общие данные и типы

Алфавит перевода представляет из себя массив переменных типа shortstring с индексами от «А» до «Я». Элементами массива являются символы в транслите соответствующей букве в кириллице.

Array [‘А’..‘Я’] of shortstring.

Также создано множество больших и маленьких букв кириллицы:

al_set : set of char = ['А'..'Я','Й','Ё'];

small_al : set of char = ['а'..'я','й','ё'];

  1. Список процедур и функций

Функция UpCase_R(const ch_in:char):char возвращает символ в верхнем регистре:

Листинг 1. Функция UpCase_R

function UpCase_R(const ch_in:char):char;

var

res:char;

begin

case ch_in of //проверяет является ли параметр ch_in русской буквой и если да

'й': res:= 'Й'; //то заменяет её на аналогичную, но в верхнем регистре.

'ц': res:= 'Ц';

'у': res:= 'У';

'к': res:= 'К';

'е': res:= 'Е';

'н': res:= 'Н';

'г': res:= 'Г';

'ш': res:= 'Ш';

'щ': res:= 'Щ';

'з': res:= 'З';

'х': res:= 'Х';

'ъ': res:= 'Ъ';

'ф': res:= 'Ф';

'ы': res:= 'Ы';

'в': res:= 'В';

'а': res:= 'А';

'п': res:= 'П';

'р': res:= 'Р';

'о': res:= 'О';

'л': res:= 'Л';

'д': res:= 'Д';

'ж': res:= 'Ж';

'э': res:= 'Э';

'я': res:= 'Я';

'ч': res:= 'Ч';

'с': res:= 'С';

'м': res:= 'М';

'и': res:= 'И';

'т': res:= 'Т';

'ь': res:= 'Ь';

'б': res:= 'Б';

'ю': res:= 'Ю';

'ё': res:= 'Ё';

else

begin

if not(ch_in in al_set) then

res:= UpCase(ch_in)

else

res:= ch_in;

end;

end;

UpCase_R:= res;

end;

Функция downcase (const ch_in:char):char возвращает символ в нижнем регистре:

Листинг 2. Функция downcase.

function downcase(ch_in:char):char;

var

res:char;

Begin

case ch_in of // проверяет является ли параметр ch_in русской или латинской

'Й': res:= 'й'; // буквой и если да, то возвращает соответствующую букву

'Ц': res:= 'ц'; // но в верхнем регистре.

'У': res:= 'у';

'К': res:= 'к';

'Е': res:= 'е';

'Н': res:= 'н';

'Г': res:= 'г';

'Ш': res:= 'ш';

'Щ': res:= 'щ';

'З': res:= 'з';

'Х': res:= 'х';

'Ъ': res:= 'ъ';

'Ф': res:= 'ф';

'Ы': res:= 'ы';

'В': res:= 'в';

'А': res:= 'а';

'П': res:= 'п';

'Р': res:= 'р';

'О': res:= 'о';

'Л': res:= 'л';

'Д': res:= 'д';

'Ж': res:= 'ж';

'Э': res:= 'э';

'Я': res:= 'я';

'Ч': res:= 'ч';

'С': res:= 'с';

'М': res:= 'м';

'И': res:= 'и';

'Т': res:= 'т';

'Ь': res:= 'ь';

'Б': res:= 'б';

'Ю': res:= 'ю';

'Ё': res:= 'ё';

'Q': res:= 'q';

'W': res:= 'w';

'E': res:= 'e';

'R': res:= 'r';

'T': res:= 't';

'Y': res:= 'y';

'U': res:= 'u';

'I': res:= 'i';

'O': res:= 'o';

'P': res:= 'p';

'A': res:= 'a';

'S': res:= 's';

'D': res:= 'd';

'F': res:= 'f';

'G': res:= 'g';

'H': res:= 'h';

'J': res:= 'j';

'K': res:= 'k';

'L': res:= 'l';

'Z': res:= 'z';

'X': res:= 'x';

'C': res:= 'c';

'V': res:= 'v';

'B': res:= 'b';

'N': res:= 'n';

'M': res:= 'm';

else

res:= ch_in;

end;

Downcase:= res;

End;

  1. Структура программы

Программа состоит из трех частей:

  • Главной формы (модуль unit_main)

Рис 1. Главная форма

  • Формы «О программе» (модуль unit_about)

рис 2. Форма «О программе»

  • Формы работы со словарями (модуль unit_slov)

рис 3. Форма «Редактор алфавита»

Главная форма загружается автоматически и другие формы вызываются из нее. При выборе меню «Перевод -> Редактор алфавита» вызывается форма работы с алфавитом, а при выборе «Справка -> О программе» вызывается форма «О программе».

  1. Главная форма

Предназначена для загрузки, сохранения, редактирования и перевода текстов.

Содержит следующие компоненты:

  • TMemo – 2шт

  • TPanel – 2 шт.;

  • TMainMenu;

  • TStatusBar;

  • TLabel – 4 шт.

  • TOpenDialog

  • TSaveDialog

  • TmainMenu

  • TimageList

  • TactionList

  • TtoolBar (ToolButton – 7 шт.)

Всё расположено так, как указано на рисунке 1.

Два TLabel указывают на направление перевода в полях, ещё два – на количество символов в областях ввода данных. Два диалога (TOpenDialog и TSaveDialog) для сохранения и загрузки исходного или итогового текста. TMemo для ввода (и отображения) текущих данных для перевода. TMainMenu для главного меню и кнопки (ToolButton) для управления программой (для управления полями ввода и словарём).

Главное меню основной формы:

    • Меню «Файл»

рис. 4. Главное меню. Пункт «Файл»

    • Меню «Правка»

рис. 5. Главное меню. Пункт «Правка»

    • Меню «Перевод»

рис. 6. Главное меню. Пункт «Перевод»

    • Меню «Справка»

рис. 7. Главное меню. Пункт «Справка»

Для каждого пункта меню используются клавиши быстрого доступа (свойство ShortCut) и пиктограммы(элементы ImageList). Обработка выбора каждого пункта меню производится в Action’ах компонента ActionList.

Обработчики событий главной формы:

При создании формы загружается стандартный ГОСТ’овский словарь перевода из кириллицы в транслит и обнуляется текст выводящий количество символов в полях.

Листинг 3. «Обработчик события создания главной формы»

procedure TMainForm.FormCreate(Sender: TObject);

begin

Count_1.Caption:= 'Символов: 0';

Count_2.Caption:= 'Символов: 0';

b_jo:= 'jo';

alph['А']:= 'a';

alph['Б']:= 'b';

alph['В']:= 'v';

alph['Г']:= 'g';

alph['Д']:= 'd';

alph['Е']:= 'e';

alph['Ж']:= 'zh';

alph['З']:= 'z';

alph['И']:= 'i';

alph['Й']:= 'jj';

alph['К']:= 'k';

alph['Л']:= 'l';

alph['М']:= 'm';

alph['Н']:= 'n';

alph['О']:= 'o';

alph['П']:= 'p';

alph['Р']:= 'r';

alph['С']:= 's';

alph['Т']:= 't';

alph['У']:= 'u';

alph['Ф']:= 'f';

alph['Х']:= 'kh';

alph['Ц']:= 'c';

alph['Ч']:= 'ch';

alph['Ш']:= 'sh';

alph['Щ']:= 'shh';

alph['Ъ']:= '''''';

alph['Ы']:= 'y';

alph['Ь']:= '''';

alph['Э']:= 'eh';

alph['Ю']:= 'ju';

alph['Я']:= 'ja';

end;

Обработчики событий для кнопок:

    • Кнопка (редактировать алфавит), событие acAlphEdit

Листинг 4. «Обработчик события нажатия на кнопку Редактировать алфавит»

procedure TMainForm.acAlphEditExecute(Sender: TObject);

begin

SlovarForm.show;

end;

  • Кнопка (Открыть фаил в окно кириллици) acCyrOpen

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

Листинг 5. «Обработчик события нажатия на кнопку Открыть»

procedure TMainForm.acCyrOpenExecute(Sender: TObject);

begin

if openDialog.execute then

try

memCyr.lines.LoadFromFile(OpenDialog.FileName);

except

showmessage('Неверный формат фаила!!!');

end;

end;

  • Кнопка (Сохранить текст из окна кириллици) acSaveCyr

Выполняет диалог SaveDialog и сохраняет поле memCyr в файл.

Листинг 6. «Обработчик события нажатия на кнопку Сохранить»

procedure TMainForm.acSaveCyrExecute(Sender: TObject);

begin

if openDialog.execute then

memCyr.lines.SaveToFile(OpenDialog.FileName);

end;

  • Кнопка (перевести с кириллици в латиницу) acCyrToLat

Очищает поле memLat и заносит в него текст переведенный в транслит. Данный алгоритм будет рассмотрен в части «Основные алгоритмы»

Коды обработки событий нажатия кнопок сохранения и загрузки для memLat (поле ввода латиници) идентичны приведенным выша, за исключением входного и выходного полей (memLat)

Процедуры обработки событий главного меню:

  • Меню «Файл»

    • «Открыть фаил в окно кириллици»

acCyrOpen

    • «Открыть фаил в окно латиници»

acLatOpen

    • «Сохранить текст из окна кириллици»

acSaveCyr

    • «Сохранить текст из окна латиници»

acSaveLat

    • «Выход»

Закрывает главную форму.

Листинг 8. «Обработчик главного меню Файл -> Выход»

procedure TMainForm.N4Click(Sender: TObject);

begin

MainForm.Close;

end;

  • Меню «Правка»

Содержит стандартные функции управления буфером обмена и редактирования текста.

    • «Отменить CTRL+Z» acUndo

Отменяет изменения в текущем (активном) поле для ввода

Листинг 9. «Обработчик главного меню Правка -> Отменить»

procedure TMainForm. acUndoExecute(Sender: TObject);

Характеристики

Тип файла
Документ
Размер
6,65 Mb
Тип материала
Учебное заведение
Неизвестно

Тип файла документ

Документы такого типа открываются такими программами, как Microsoft Office Word на компьютерах Windows, Apple Pages на компьютерах Mac, Open Office - бесплатная альтернатива на различных платформах, в том числе Linux. Наиболее простым и современным решением будут Google документы, так как открываются онлайн без скачивания прямо в браузере на любой платформе. Существуют российские качественные аналоги, например от Яндекса.

Будьте внимательны на мобильных устройствах, так как там используются упрощённый функционал даже в официальном приложении от Microsoft, поэтому для просмотра скачивайте PDF-версию. А если нужно редактировать файл, то используйте оригинальный файл.

Файлы такого типа обычно разбиты на страницы, а текст может быть форматированным (жирный, курсив, выбор шрифта, таблицы и т.п.), а также в него можно добавлять изображения. Формат идеально подходит для рефератов, докладов и РПЗ курсовых проектов, которые необходимо распечатать. Кстати перед печатью также сохраняйте файл в PDF, так как принтер может начудить со шрифтами.

Список файлов курсовой работы

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее