Реферат по предмету "Информатика, программирование"


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

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

Курсова робота
З дисципліни «Проблемно-орієнтованімови програмування»
на тему
Транслітерація україномовних текстівлатинськими літерами

Львів-2011
 

Зміст
 
Вступ
1. Огляд літератури
2. Формулювання задачі
3. Алгоритм розв’язання комісії
4. Програмні реалізації алгоритму
5. Інструкція користувачеві програми
6. Контрольні приклади та аналіз результатів їхреалізації
Висновки
Література
Додатки

Вступ
У наші дні комп’ютернітехнології відіграють неабияку роль у житті людства! Вони допомагають йомусправлятись із найрізноманітнішими і найскладнішими завданнями набагато швидшей простіше, ніж це було б потрібно робити без комп’ютера.
Так, він за долі секундиобчислить найскладніші формули, а користувачу потрібно всього-на-всього ввестипотрібні дані! Не потрібно більше величезних архівних шафок – нею слугуєжорсткий диск комп’ютера, на якому дуже легко знайти потрібну інформацію. Амультимедійні плеєри, мобільні телефони роблять наше життя також і цікавішим.
Дуже часто ми пишемоповідомлення на мобільному телефоні своїм друзям, але дехто пише їх незвичайнимспособом – записує українські слова, але літерами з латинської розкладки, томущо таких символів у 1 смс вміщається вдвічі більше! Називаємо таку манеруписання сленгом, а насправді ми використовуємо транслітерацію – одну зкатегорій, яку вивчає мовознавство.
Транслітерація (транс і лат. litera — буква)— механічна передача тексту й окремих слів, які записані однією графічноюсистемою, засобами іншої графічної системи при другорядній ролі звуковоїточності, тобто передача однієї писемності літерами іншої.
Транслітерація відрізняється від транскрипціїтим, що має на меті точну фонетичну або фонологічну передачу звуків. Найкращатранслітерація така, яка дозволяє легко вернутися при потребі до оригінальноїсистеми письма.
 

1. Огляд літератури
програматранслітерація текст графічна
Система транслітеруванняукраїнських текстів з кирилиці на латиницю згідно з узагальненими вимогамиміжнародних стандартів, а також українських науковців має такі властивості:
► нормативність(повна відповідність системи до українського правопису, що може зробити їїневідокремною частиною цього мовного закону)
► безпомилковість(система не вносить у тексти інформаційних помилок)
► системність(побудованість на основі правил, закладених у таблицю транслітерації)
► універсальність(здатність системи вирішувати різноманітні задачі міжнародного обмінюваннятекстовою інформацією)
► літерооснащеність(забезпеченість комп’ютерного варіанту системи потрібним набором латиничнихлітер з діакритиками)
► одномовність(зорієнтованість лише на одну мову – українську)
► традиційність(ураховано традиційні фонетичні та естетичні норми української мови, світові традиції вживання латинської абетки,створення транслітераційних пар, найближчих за вимовою і міжнароднимтранскрибуванням).
► повнота(здатність системи странслітерувати будь-які тексти, зокрема зі скороченнями тачужомовними запозиченнями)
► однозначність (кожнуз однакових українських літер передає тою самою унікальною латинською літерою)
► зворотність(здатність точно відтворювати кириличний текст із странслітерованоголатиничного)
► запрограмовність(придатність до розроблення програмних засобів та комп’ютерного застосовуваннясистеми)
► простота(здатність швидко странслітерувати текст автоматичними засобами чивласноручно).
Вимога до користувачів:безпосередність (не будувати слова через мову-посередника).
Упроекті ДСТУ враховано вимоги міжнародного стандарту ISO 9: 1995(E) щодо створеннянаціонального стандарту міжнародного рівня.
Транслітерування відбуваєтьсязгідно з транслітераційною таблицею, яка складається з транслітераційних пар,де пара – це кирилична літера і відповідна до неї латинична літера, що маютьоднакову чи подібну вимову. Серед 32-х латиничних літер- відповідників є 8 здіакритиками (є-ê, ж-ž, ї-ï, ч-č, ш-š, щ-ŝ,ю-û, я-â) та 24 вибрані з основної латиниці. Добиранню пардопоміг аналіз стандартних систем транслітерування (ISO/R9-1968(Е), ISO9:1995(Е), ГОСТ 7.79-2000 СИБИД, ГОСТ 16876-71, проекту ДСТУ -2002, тачисленних пропозицій щодо модифікації систем.
Усі транслітераційні пари зізгаданих стандартів, які спотворюють українське письмо на латиниці (в-v,г-g, ґ-ġ, и-i, і-ì, х-h), відкинено й замінено наприйнятніші (в-w, г-h, ґ-g, и-y, і-i, х-x).
 
Транслітераційна таблицяНомер Літера кирилиці Літера латиниці 1 а, А a, A 2 б, Б b, B 3 в, В w, W 4 г, Г h, H 5 ґ, ґ g, G 6 д, Д d, D 7 е, Е e, E 8 є, Є ê, Ê 9 ж, Ж ž, Ž 10 з, З z, Z 11 и, И y, Y 12 і, І i, I 13 ї, Ї ï, Ï 14 й, Й j, J 15 к, К k, K 16 л, Л l, L 17 м, М m, M 18 н, Н n, N 19 о, О o, O 20 п, П p, P 21 р, Р r, R 22 с, С s, S 23 т, Т t, T 24 у, У u, U 25 ф, Ф f, F 26 х, Х x, X 27 ц, Ц c, C 28 ч, Ч č, Č 29 ш, Ш š, Š 30 щ, Щ ŝ, Ŝ 31 ю, Ю û, Û 32 я, Я â, Â 33 ь ' 34 ’ (апостроф) ’ (апостроф)
Систему найпростішезреалізувати на сучасному комп’ютері, де в таблиці символів є достатній набірлатиничних літер з діакритиками.
Систему транслітерування порекомендовановживати скрізь, де це можливо, оскільки вона найпростіша, безпомилкова йдотримується українського правопису.
 
2. Формулювання задачі
Дана програма повиннатранслітерувати заданий текст. Також я повинен реалізувати у цій програмівведення тексту з клавіатури або зчитування його із файлу. Для реалізації цієїпрограми я використовую усі можливі оператори мови С, і для читання зклавіатури «пропатчую» систему
Метою розв’язання цієї задачіє запис україномовних слів латинськими літерами. В результаті реалізаціїкористувач повинен отримати транслітерацію потрібного йому тексту. Текст можебути найрізноманітнішим.
3. Програмні реалізаціїалгоритму
 
Характеристика програми:
Назва – Translit.cpp
Розмір – 6,42 КБ
Кількість рядків — 270
Призначення програми:
Дана задача відноситься докласу задач по роботі з базами даних.
Метою розв’язання даноїзадачі є пошук конкретного запису в базі даних, а також редагування бази даних.
Вхідна інформація
Вхідною інформацією дляпрограми є текстовий файл, що містить речення, записані українською мовою
Вхідний файл має назву — input.txt;
Його розмір – 1 Кб
Результуюча інформація
При виконанні програмавиводить слова або речення, записані латинськими буквами. При будь-якій змінібукви чи слова у файлі при перезапуску програми змінюється наш результат.
Структура програми
Заголовні файли:
· stdio.h — стандартний заголовочний файл введення/виведення даних;
· stdlib.h- заголовочний файл стандартної бібліотеки загального призначення;
· string.h- заготовочний файл, що містить функції для роботи з символьними рядками
· conio.h –заголовочний файл, що містить функції для консольного введення/виведення даних
Функції
1.int main (void) – Заголовнафункція програми. Параметрів не має.
2.ktl (char s) — функція, якапризначена для транслітерації тексту, введеного з клавіатури.
3. ktl1(char s) – функція,яка призначена транслітерації тексту, який зчитується із файлу.
Таблиця ідентифікаторів програми
· *fp/*fp1– вказівники з типом FILE, що вказують на файли, з якого читається/в який записуєтьсябаза даних.
· k — змінна типу int, що неодноразово оголошувалась, як локальна змінна в різнихфункціях, в якості лічильників циклу, міток та ін.
· с- зміннатипу char, з якою ми пов’язуємо у програмі зчитані або введені символи.
Середовище реалізації програм
Операційна система – MS-DOS;
Длятранслітерації тексту, введеного з клавіатури, застосував українізаторсередовища UKRDOS_2.
Необхідні допоміжні технічніпристрої – монітор, клавіатура.
Технологія виконання тавідлагодження програм
Для написання програмивикористовувалось середовище програмування BORLAND C. Для відлагодження такомпіляції програми використовувались такі його можливості, як:
· Compile(Alt+F9)– компіляція програми;
· Run(Ctrl+F9)- виконання програми;
· Traceinto(F7) – покрокове виконання програми;

4. Програмні реалізаціїалгоритму
БЛОК-СХЕМА ПРОГРАМИ
/>                  
 


5. Інструкція користувачеві
Користувач повинен запуститипрограму. Після чого на робочому столі з’явиться вікно:
/>
У вікні користувач побачитьпункти меню, після чого він повинен натиснути на одну із клавіш 1,2,3 або 4, ізможе потрапити в один із пунктів. Наприклад користувач натиснув клавішу 1:
/>
На екран виводиться текст,який міститься у файлі, але у нечитабельному вигляді, що спричинененеспівпаданням кодування у Windows XP та у Borland C.
Повернувшись в робоче меню,користувач повинен знову ввести одну із клавіш наприклад користувач натискаєклавішу 2:
/>
Користувачу пропонуєтьсяввести з клавіатури речення українською мовою. Для цього потрібно натиснутиклавішу Right Shift.
Після натискання клавішіEnter на екрані з’явиться транслітерація введеного вище тексту.
Користувач може зновуповернутись у меню програми, і, наприклад, натиснути клавішу 4. На екран будевиведено:
/>

6. Контрольні приклади тааналіз їх реалізації
Для відлагодження таперевірки працездатності програми я використовував такі тестові набори:
1. У файлinput.txt занесено такий текст: «Курсову роботу виконав Гелеш Юрій».
У файл output.txt будевнесено: «Kyrsovy roboty vukonav Helew @rij».
2. З клавіатури введено:«Сесія майже закінчилась!».
Отримаємо результат: «Sesi9maj*e zakin4ulas6!».
За результатами тестів які япроводив можна сказати, що програма працює якісно і швидко та без жодноїпомилки.

Висновок
В результаті роботи надзавданням було сформовано кінцевий продукт – програму: транс літераторукраїномовних текстів латинськими літерами.
В ній реалізовані наступніможливості:
· Можливістьвиконувати транслітерацію, зчитуючи текст із файлу і записуючи його у вихіднийфайл.
· Можливістьвиконувати транслітерацію через ввід тексту з клавіатури.
· Впрограмі реалізовано зручний та зрозумілий інтерфейс.
Дана програма для зчитуваннятексту з клавіатури потребує підключення спеціального драйвера UKRDOS_2.
 

Література
1. Шпак З.Я.- Мова програмування С
2. КерниганБ., Ритчи Д. — Мова програмування Си
3. Інтернет- uk.wikipedia.org/wiki/Транслітерація
4. Інтернет- lp.edu.ua/tc.terminology/TK_translit.htm
5. Інтернет- lukom.org/Pages/Blog.aspx/transliteration

Додаток
Текст програми
#include
#include
#include
#include
char ktl1(char s);
char ktl(char s);
void main(void)
{
m:
clrscr();
printf("\t\t\t Љ“ђ‘Ћ‚ЂђЋЃЋ’Ђ ­ ⥬г:\n\n");
printf("\t\t\"’а ­б«iвҐа жiпгЄа х­®¬®ў­Ёе ⥪бвiў\"\n\n");
printf("\n 1)ђ®Ў®в §д ©« ¬Ё");
printf("\n 2)‚ўҐ¤Ґ­­п §Є« ўi вгаЁ");
printf("\n 3)‚Ёеi¤ §Їа®Ја ¬Ё");
printf("\n4)Џi¤Є §Є Є®аЁбв㢠祢i=)");
printf("\n\n\t‚ўҐ¤iвм­®¬Ґа Їг­Євг ");
int k;
switch(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(inti=0;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;
}
}
char ktl(char s)
{
char res;
switch (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 = '|';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;
}
return res;
}
char ktl1(char s)
{
char res1;
switch(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 '6': res1 = '6';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;
case '!': res1 = '!';break;
default: res1=NULL;
}
return res1;
}


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.

Сейчас смотрят :

Реферат Windows Movie Maker
Реферат Виды хищения
Реферат Экзаменационные билеты и приблизительный перечень вопросов для подготовки к экзамену или зачету по предмету Философия
Реферат Теоретический анализ психологических особенностей манипулятивной установки в профессиональной деятельности менеджера
Реферат Финансовый менеджмент 2 Функциональные обязанности
Реферат Hamlet Essay Research Paper Justifying Hamlets InsanityHamlets
Реферат Функциональные системы в нейрофизиологии
Реферат Charles Lindbergh Essay Research Paper Charles LindberghShortly
Реферат Обращение с огнестрельным оружием
Реферат Нравственное и духовное воспитание современной молодежи
Реферат Учет расчетов по налогам и сборам
Реферат Піднесення і розквіт Київської Русі (кінець X — середина XI ст.)
Реферат Определение спроса на грузовые перевозки и особенности их планирования по видам транспорта
Реферат Технологии выявления навыков руководства
Реферат Расчет комбинированной газо-паротурбинной установки ГПТУ содержащий топку с кипящим слоем