Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Транслитерация кириллицы

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Проект программы, позволяющей переводить текст из русских букв в текст, который состоит из латинского алфавита с возможностью изменять исходный словарь для перевода. Определение структуры, содержащей в себе массивы для алфавита. Инструкция пользователя.
Краткое сожержание материала:

Размещено на

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

ГОУ ВПО «Уральский государственный технический университет - УПИ имени первого Президента России Б.Н. Ельцина»

Кафедра автоматики и информационных технологий

Транслитерация кириллицы

Пояснительная записка к курсовой работе

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

Руководитель

Трофимов С.П.

доцент, к. ф.-м. н.

Студент

Путинцев А.В.

гр. Р-28031

2009

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ

ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

ИНСТРУКЦИЯ ПРОГРАММИСТА

ТЕСТИРОВАНИЕ

ЗАКЛЮЧЕНИЕ

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

ПРИЛОЖЕНИЕ

ВВЕДЕНИЕ

В данной курсовой работе требуется написать программу, на языке программирования Си, под названием «Транслитерация кириллицы».

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

ОБЗОР ПРЕДМЕТНОЙ ОБЛАСТИ

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

Например:

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

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

Классификация транслитерации (по строгости представления):

Строгая

Замена каждого знака исходного текста только одним знаком другой письменности (а>a, б>b, в>v…).

Ослабленная

Замена некоторых знаков исходного текста сочетаниями двух или более знаков другой письменности (ж>zh, ч>ch, я>ya…).

Расширенная

Представление некоторых сочетаний знаков исходного текста особым образом (ый>y).

На практике транслитерация применяется ограниченно, большей частью в сфере формальной обработки данных (например, при составлении в единой письменности каталога библиотеки из книг на разных языках). Для воспроизведения же в русском тексте иностранных имен и названий предпочтение в большинстве случаев отдается так называемой практической транскрипции, учитывающей не только письменную форму исходных слов, но и их произношение, а также исторические соображения. В чистом виде транслитерация применяется для немногих языков: таковы, например, системы передачи кириллицей китайских и японских слов (см. статьи «Система Палладия» и «Система Поливанова», соответственно). Транслитерация получила широкое распространение в SMS в эпоху нерусифицированных сотовых телефонов. Широко используется вместо кириллицы при работе на нерусифицированных компьютерах. Очень небольшое количество программ и сайтов (например, Яндекс) предлагают виртуальную русскоязычную клавиатуру, которой удобно пользоваться только слепым методом.

транслитерация кириллица программа алфавит

ИНСТРУКЦИЯ ПОЛЬЗОВАТЕЛЯ

Программа представляет собой архив, содержащий в себе: TR.EXE (сама программа), slovar.txt (словарь) и test.txt (необходим для проведения тестирования).

Перед запуском программы необходимо создать файл с расширением *.txt. В нем написать русский текст, который необходимо латинизировать. Далее пользователь должен запустить программу через командную строку, где требуется ввести название исходного файла, содержащий русский текст (пример: tr.exe mytext.txt). В программе предусмотрена возможность провести тест. Запуск можно осуществить с помощью параметра `-t', который передается через командную строку (пример: tr.exe -t). Замечание: тест возможен, если присутствует файл test.txt.

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

ИНСТРУКЦИЯ ПРОГРАММИСТА

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

Функция void hello(); отвечает за приветствие. Ничего не получает и не возвращает никаких данных.

Функция void test(); необходима для теста. Ничего не получает и не возвращает.

Функция char *trans(char *t_rus); отвечает за транслитерацию. Получает указатель на русский текст и возвращает переведенный.

Функция void readsl(char *namesl); для чтения данных из словаря. Получает имя исходного файла и ничего не возвращает.

Функция char *read_tr(char *inputf); для чтения данных из файла с русским текстом. Возвращает *read_tr.

Функция void savetext(char *text); получает данные для сохраняемого текста. Ничего не возвращает.

Функция void add(char *ins_s, char **str, int n); отвечает за добавление подстроки. Получает указатель на eng,двойной на строку и данные о позиции, где осуществляется добавление. Ничего не возвращает.

Функция void delet(char **str, int n, int N); отвечает за удаление подстроки. Получает строку, позицию и strlen(rus). Ничего не возвращает.

Функция void change(char *rus, char *eng, char **et); осуществляет замену символов с использованием функций add и delet. Получает значения из структуры, а также данные о тексте, где необходимо произвести замену. Ничего не возвращает.

Функция long file_size(FILE *stream); необходима для вычисления размеров входного файла.

ТЕСТИРОВАНИЕ

В файле input.txt:

Однажды, в студеную зимнюю пору,

Я из лесу вышел; был сильный мороз.

Гляжу, поднимается медленно в гору

Лошадка, везущая хворосту воз.

И, шествуя важно, в спокойствии чинном,

Лошадку ведет под уздцы мужичок

В больших сапогах, в полушубке овчинном,

В больших рукавицах... а сам с ноготок!

В файле trans.txt:

Odnazhdy, v studenuyu zimnyuyu poru,

Ya iz lesu vyshel; byl sil'nyjj moroz.

Glyazhu, podnimaetsya medlenno v goru

Loshadka, vezusсhaya khvorostu voz.

I, shestvuya vazhno, v spokojjstvii chinnom,

Loshadku vedet pod uzdcy muzhichok

V bol'shikh sapogakh, v polushubke ovchinnom,

V bol'shikh rukavicakh... a sam s nogotok!

ЗАКЛЮЧЕНИЕ

В ходе данной курсовой работы была выполнена задача написания программы на языке высокого уровня Си по теме «Транслитерация кириллицы».

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

БИБЛИОГРАФИЧЕСКИЙ СПИСОК

Керниган Б.В., Ричи Д. Язык программирования Си М.: Санкт-Петербург 2004, 351с

Громов Ю.Ю.,Татаренко С.И. Программирование на языке СИ: Учебное пособие. -Тамбов,1995.- 169 с.

http://ru.wikipedia.org/wiki/

http://www.codenet.ru/

ПРИЛОЖЕНИЕ

#include <stdio.h>

#include <conio.h>

#include <alloc.h>

#include <string.h>

#include <dos.h>

#include <stdlib.h>

#define stop while(!kbhit())

struct slov_elem //Структура словаря

{

char rus[100],eng[100];

};

slov_elem *slov; //Массив элементов(словарь)

int numword=0; //Количество элементов словаря

void hello();

void test();

char *trans(char *t_rus);

void readsl(char *namesl);

char *read_tr(char *inputf);

void savetext(char *text);

void add(char *ins_s, char **str, int n);

void delet(char **str, int n, int N);

void change(char *rus, char *eng, char **et);

long file_size(FILE *stream);

void hello()

{

printf("Программа для транслитераций.\nВозможные действия:\n\

1. Запустить через командную строку, и ввести название файла.\n\

...
Другие файлы:

Славянская письменность
Руны как гипотетическая письменность, существовавшая у древних славян до их крещения и создания кириллицы и глаголицы. Черты и резы как вид письменнос...

История происхождения кириллицы и глаголицы
Основные виды письма: пиктограмма (картинное письмо); идеограмма (знаки, обозначающие отдельное слово); слоговое и звуковое письмо. История происхожде...

Тайнопись кириллицы
Древняя история постепенно выдает свои секреты. Одна из многовековых загадок – славянская азбука, созданная братьями Кириллом и Мефодием в 863 году, п...

Происхождение кириллицы и глаголицы

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