Транслітерація україномовних текстів латинськими літерами

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    107,87 Кб
  • Опубликовано:
    2013-01-19
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Транслітерація україномовних текстів латинськими літерами

Міністерство освіти і науки України

Національний університет «Львівська політехніка»

Кафедра автоматизованих систем управління

КУРСОВА РОБОТА

З дисципліни “Проблемно-орієнтовані мови програмування”

на тему

Транслітерація україномовних текстів латинськими літерами

Львів-2010

Завдання на курсову роботу з дисципліни “Проблемно-орієнтовані мови програмування”

Прізвище, ім’я студента: Гелеш Юрій

Група: КН-10

Тема курсової роботи Транслітерація україномовних текстів латинськими літерами

Спеціальна частина завдання:

1.   В огляді літератури ознайомитись з нормами транслітерації і вибрати один із найбільш популярних способів.

2.      Текст, що обробляється, може бути введений з клавіатури або зчитаний з файлу.

3.   Результат виконання також повинен виводитися або на екран, або записуватись у файл.

4.   Середовище функціонування програми - MS DOS.

5.      Термін завершення роботи - 6 червня 2010р.

 

Зміст

Вступ

Огляд літератури

Формулювання задачі

Алгоритм розв’язання комісії

Програмні реалізації алгоритму

Інструкція користувачеві програми

Контрольні приклади та аналіз результатів їх реалізації

Висновки

Література

Додатки

Додаток 1. Текст програми

Вступ

У наші дні комп’ютерні технології відіграють неабияку роль у житті людства! Вони допомагають йому справлятись із найрізноманітнішими і найскладнішими завданнями набагато швидше й простіше, ніж це було б потрібно робити без комп’ютера.

Так, він за долі секунди обчислить найскладніші формули, а користувачу потрібно всього-на-всього ввести потрібні дані! Не потрібно більше величезних архівних шафок - нею слугує жорсткий диск комп’ютера, на якому дуже легко знайти потрібну інформацію. А мультимедійні плеєри, мобільні телефонии роблять наше життя також і цікавішим.

Дуже часто ми пишемо повідомлення на мобільному телефоні своїм друзям, але дехто пише їх незвичайним способом - записує українські слова, але літерами з латинської розкладки, тому що таких символів у 1 смс вміщається вдвічі більше! Називаємо таку манеру писання сленгом, а насправді ми використовуємо транслітерацію - одну з категорій, яку вивчає мовознавство.

Транслітерація (транс і лат. <#"601922.files/image001.gif">

У вікні користувач побачить пункти меню, після чого він повинен натиснути на одну із клавіш 1,2,3 або 4, і зможе потрапити в один із пунктів. Наприклад користувач натиснув клавішу 1:

На екран виводиться текст, який міститься у файлі, але у нечитабельному вигляді, що спричинене неспівпаданням кодування у Windows XP та у Borland C.

Повернувшись в робоче меню, користувач повинен знову ввести одну із клавіш наприклад користувач натискає клавішу 2:


Користувачу пропонується ввести з клавіатури речення українською мовою. Для цього потрібно натиснути клавішу Right Shift.

Після натискання клавіші Enter на екрані з’явиться транслітерація введеного вище тексту.

Користувач може знову повернутись у меню програми, і, наприклад, натиснути клавішу 4. На екран буде виведено:

.Контрольні приклади та аналіз їх реалізації

Для відлагодження та перевірки працездатності програми я використовував такі тестові набори:

1.  У файл input.txt занесено такий текст: «Курсову роботу виконав Гелеш Юрій».

У файл output.txt буде внесено: «Kyrsovy roboty vukonav Helew @rij».

. З клавіатури введено: «Сесія майже закінчилась!».

Отримаємо результат: «Sesi9 maj*e zakin4ulas6!».

За результатами тестів які я проводив можна сказати, що програма працює якісно і швидко та без жодної помилки.

Висновок

В результаті роботи над завданням було сформовано кінцевий продукт - програму: транс літератор україномовних текстів латинськими літерами.

В ній реалізовані наступні можливості:

·  Можливість виконувати транслітерацію, зчитуючи текст із файла і записуючи його у вихідний файл.

·        Можливість виконувати транслітерацію через ввід тексту з клавіатури.

·        В програмі реалізовано зручний та зрозумілий інтерфейс.

Дана програма для зчитування тексту з клавіатури потребує підключення спеціального драйвера UKRDOS_2.

Література

1.   Шпак З.Я. - Мова програмування С

2.      Керниган Б., Ритчи Д. - Мова програмування Си

.        Інтернет - http://uk.wikipedia.org/wiki/Транслітерація

.        Інтернет - http://lp.edu.ua/tc.terminology/TK_translit.htm

.        Інтернет - http://lukom.org/Pages/Blog.aspx/transliteration

Додаток 1

Текст програми

#include<stdio.h>

#include<conio.h>

#include<string.h>

{ :();("\t\t\t Љ“ђ‘Ћ‚Ђ ђЋЃЋ’Ђ ­ ⥬г:\n\n");("\t\t\"’а ­б«iвҐа жiп гЄа х­®¬®ў­Ёе ⥪бвiў\"\n\n");("\n 1)ђ®Ў®в § д ©« ¬Ё");("\n 2)‚ўҐ¤Ґ­­п § Є« ўi вгаЁ");("\n 3)‚Ёеi¤ § Їа®Ја ¬Ё");("\n 4)Џi¤Є §Є Є®аЁбв㢠祢i=)");("\n\n\t‚ўҐ¤iвм ­®¬Ґа Їг­Євг ");k;(k=getch()){

          case '1': clrscr();

                    char c,res1;

                    FILE *fp,*fp1;

                    if((fp=fopen("E:\\input.txt","r"))==NULL)

                    {

                    puts("‚еi¤­Ё© д ©« ­Ґ §­ ©¤Ґ­®");getch();

                    exit(1);

                    }

                    if((fp1=fopen("E:\\output.txt","w"))==NULL)

                    {

                    puts("ERROR");getch();

                    exit(1);

                    }

                    puts("’ҐЄбв, й® ¬iбвЁўбп г д ©«i\n");

                    rewind(fp);

                    while(!feof(fp))

                    {

                    c=fgetc(fp);

                    putc(c,stdout);

                    res1=ktl1(c);

                    fputc(res1,fp1);

                    }

                    fclose(fp1);

                    fclose(fp);

                    getch();

                    goto m;

                    break;

          case '2':

                    clrscr();

          printf("‚ўҐ¤iвм аҐзҐ­­п гЄа. «iвҐа ¬Ё: ");

          char x[256];

          gets(x);

          for(int i=0;i<strlen(x);i++){

                    x[i]=ktl(x[i]);

          }

          printf("\n’а ­б«iвҐа жiп: %s",x);

          getch();

          goto m;

          break;

          case '3': exit(0);

          case '4': clrscr();

          puts("\n\t„«п а®Ў®вЁ § д ©« ¬Ё Ї®ваiЎ­® бЇҐаиг г Є®аҐ­i ¤ЁбЄ ‘ бвў®аЁвЁ");

          puts("д ©« § i¬Ґ­Ґ¬ include.txt, ўЁеi¤­Ё© д ©« Ўг¤Ґ б⢮७® Їа®Ја ¬®о");

          puts(" ўв®¬ вЁз­®. ЏаЁ ўўҐ¤Ґ­­i ⥪бвг i§ Є« ўi вгаЁ ­ вЁб­гвЁ Right Shift.");

          getch();

          break;

}

}ktl(char s)

{res;(s) {

         case '0': res = '0';break;

         case '1': res = '1';break;

         case '2': res = '2';break;

         case '3': res = '3';break;

         case '4': res = '4';break;

         case '5': res = '5';break;

         case '6': res = '6';break;

         case '7': res = '7';break;

         case '8': res = '8';break;

         case '9': res = '9';break;

         case 'Ђ': res = 'A';break;

         case 'Ѓ': res = 'B';break;

         case '‚': res = 'V';break;

         case 'ѓ': res = 'H';break;

         case '„': res = 'D';break;

         case '…': res = 'E';break;

         case 'т': res = 'р';break;

         case '†': res = '*';break;

         case '‡': res = 'Z';break;

         case 'I': res = 'I';break;

         case '‰': res = 'J';break;

         case 'Љ': res = 'K';break;

         case '‹': res = 'L';break;

         case 'Њ': res = 'M';break;

         case 'Ќ': res = 'N';break;

         case 'Ћ': res = 'O';break;

         case 'Џ': res = 'P';break;

         case 'ђ': res = 'R';break;

         case '‘': res = 'S';break;

         case '’': res = 'T';break;

         case '“': res = 'Y';break;

         case '”': res = 'F';break;

         case '•': res = 'X';break;

         case '-': res = 'C';break;

         case '-': res = '4';break;

         case '˜': res = 'W';break;

         case '™': res = '#';break;

         case 'ћ': res = '@';break;

         case 'џ': res = '9';break;

         case ' ': res = 'a';break;

         case 'Ў': res = 'b';break;

         case 'ў': res = 'v';break;

         case 'Ј': res = 'h';break;

         case '¤': res = 'd';break;

         case 'Ґ': res = 'e';break;

         case 'у': res = 'с';break;

         case '¦': res = '*';break;

         case '§': res = 'z';break;

         case 'Ё': res = 'u';break;

         case 'i': res = 'i';break;

         case 'х': res = '|';break;

         case '©': res = 'j';break;

         case 'Є': res = 'k';break;

         case '«': res = 'l';break;

         case '¬': res = 'm';break;

         case '­': res = 'n';break;

         case '®': res = 'o';break;

         case 'Ї': res = 'p';break;

         case 'а': res = 'r';break;

         case 'б': res = 's';break;

         case 'в': res = 't';break;

         case 'г': res = 'y';break;

         case 'д': res = 'f';break;

         case 'е': res = 'x';break;

         case 'ж': res = 'c';break;

         case 'з': res = '4';break;

         case 'и': res = 'w';break;

         case 'й': res = '#';break;

         case 'м': res = '6';break;

         case 'о': res = '@';break;

         case 'п': res = '9';break;

         case ' ': res = ' ';break;

         case ',': res = ',';break;

         case '.': res = '.';break;

         case '-': res = '-';break;

         case ':': res = ':';break;

         case ';': res = ';';break;

         case '?': res = '?';break;

         case '!': res = '!';break;

        

         default: res = NULL;

}res;

}ktl1(char s)

{res1;(s){

         case '0': res1 = '0';break;

         case '1': res1 = '1';break;

         case '2': res1 = '2';break;

         case '3': res1 = '3';break;

         case '4': res1 = '4';break;

         case '5': res1 = '5';break;

         case '7': res1 = '7';break;

         case '8': res1 = '8';break;

         case '9': res1 = '9';break;

         case 'А': res1 = 'A';break;

         case 'Б': res1 = 'B';break;

         case 'В': res1 = 'V';break;

         case 'Г': res1 = 'H';break;

         case 'Д': res1 = 'D';break;

         case 'Е': res1 = 'E';break;

         case 'Є': res1 = 'Ё';break;

         case 'Ж': res1 = '*';break;

         case 'З': res1 = 'Z';break;

         case 'І': res1 = 'I';break;

         case 'Ї': res1 = '|';break;

         case 'Й': res1 = 'J';break;

         case 'К': res1 = 'K';break;

         case 'Л': res1 = 'L';break;

         case 'М': res1 = 'M';break;

         case 'Н': res1 = 'N';break;

         case 'О': res1 = 'O';break;

         case 'П': res1 = 'P';break;

         case 'Р': res1 = 'R';break;

         case 'С': res1 = 'S';break;

         case 'Т': res1 = 'T';break;

         case 'У': res1 = 'Y';break;

         case 'Ф': res1 = 'F';break;

         case 'Х': res1 = 'X';break;

         case 'Ц': res1 = 'C';break;

         case 'Ч': res1 = '4';break;

         case 'Ш': res1 = 'W';break;

         case 'Щ': res1 = '#';break;

         case 'Ю': res1 = '@';break;

         case 'Я': res1 = '9';break;

         case 'а': res1 = 'a';break;        

         case 'б': res1 = 'b';break;

         case 'в': res1 = 'v';break;

         case 'г': res1 = 'h';break;

         case 'д': res1 = 'd';break;

         case 'е': res1 = 'e';break;

         case 'є': res1 = 'ё';break;

         case 'ж': res1 = '*';break;

         case 'з': res1 = 'z';break;

         case 'и': res1 = 'u';break;

         case 'і': res1 = 'i';break;

         case 'ї': res1 = '|';break;

         case 'й': res1 = 'j';break;

         case 'к': res1 = 'k';break;

         case 'л': res1 = 'l';break;

         case 'м': res1 = 'm';break;

         case 'н': res1 = 'n';break;

         case 'о': res1 = 'o';break;

         case 'п': res1 = 'p';break;

         case 'р': res1 = 'r';break;

         case 'с': res1 = 's';break;

         case 'т': res1 = 't';break;

         case 'у': res1 = 'y';break;

         case 'ф': res1 = 'f';break;

         case 'х': res1 = 'x';break;

         case 'ц': res1 = 'c';break;

         case 'ч': res1 = '4';break;

         case 'ш': res1 = 'w';break;

         case 'щ': res1 = '#';break;

         case 'ь': res1 = '6';break;

         case 'ю': res1 = 'ў';break;

         case 'я': res1 = '9';break;

         case ' ': res1 = ' ';break;

         case ',': res1 = ',';break;

         case '.': res1 = '.';break;

         case '-': res1 = '-';break;

         case ':': res1 = ':';break;

         case '?': res1 = '?';break;

         case '!': res1 = '!';break;: res1=NULL;

}res1;

}

Похожие работы на - Транслітерація україномовних текстів латинськими літерами

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!