̳í³ñòåðñòâî îñâ³òè ³ íàóêè Óêðà¿íè
Êóðñîâà ðîáîòà
Ç äèñöèïë³íè "Ïðîáëåìíî-îð³ºíòîâàí³ ìîâè ïðîãðàìóâàííÿ"
íà òåìó
Òðàíñë³òåðàö³ÿ óêðà¿íîìîâíèõ òåêñò³â ëàòèíñüêèìè ë³òåðàìè
Ëüâ³â-2011
Çì³ñò
Âñòóï
1. Îãëÿä ë³òåðàòóðè
2. Ôîðìóëþâàííÿ çàäà÷³
3. Àëãîðèòì ðîçâ’ÿçàííÿ êîì³ñ³¿
4. Ïðîãðàìí³ ðåàë³çàö³¿ àëãîðèòìó
5. ²íñòðóêö³ÿ êîðèñòóâà÷åâ³ ïðîãðàìè
6. Êîíòðîëüí³ ïðèêëàäè òà àíàë³ç ðåçóëüòàò³â ¿õ ðåàë³çàö³¿
Âèñíîâêè
˳òåðàòóðà
Äîäàòêè
Âñòóï
Ó íàø³ äí³ êîìï’þòåðí³ òåõíîëî㳿 â³ä³ãðàþòü íåàáèÿêó ðîëü ó æèòò³ ëþäñòâà! Âîíè äîïîìàãàþòü éîìó ñïðàâëÿòèñü ³ç íàéð³çíîìàí³òí³øèìè ³ íàéñêëàäí³øèìè çàâäàííÿìè íàáàãàòî øâèäøå é ïðîñò³øå, í³æ öå áóëî á ïîòð³áíî ðîáèòè áåç êîìï’þòåðà.
Òàê, â³í çà äîë³ ñåêóíäè îá÷èñëèòü íàéñêëàäí³ø³ ôîðìóëè, à êîðèñòóâà÷ó ïîòð³áíî âñüîãî-íà-âñüîãî ââåñòè ïîòð³áí³ äàí³! Íå ïîòð³áíî á³ëüøå âåëè÷åçíèõ àðõ³âíèõ øàôîê – íåþ ñëóãóº æîðñòêèé äèñê êîìï’þòåðà, íà ÿêîìó äóæå ëåãêî çíàéòè ïîòð³áíó ³íôîðìàö³þ. À ìóëüòèìåä³éí³ ïëåºðè, ìîá³ëüí³ òåëåôîíè ðîáëÿòü íàøå æèòòÿ òàêîæ ³ ö³êàâ³øèì.
Äóæå ÷àñòî ìè ïèøåìî ïîâ³äîìëåííÿ íà ìîá³ëüíîìó òåëåôîí³ ñâî¿ì äðóçÿì, àëå äåõòî ïèøå ¿õ íåçâè÷àéíèì ñïîñîáîì – çàïèñóº óêðà¿íñüê³ ñëîâà, àëå ë³òåðàìè ç ëàòèíñüêî¿ ðîçêëàäêè, òîìó ùî òàêèõ ñèìâîë³â ó 1 ñìñ âì³ùàºòüñÿ âäâ³÷³ á³ëüøå! Íàçèâàºìî òàêó ìàíåðó ïèñàííÿ ñëåíãîì, à íàñïðàâä³ ìè âèêîðèñòîâóºìî òðàíñë³òåðàö³þ – îäíó ç êàòåãîð³é, ÿêó âèâ÷ຠìîâîçíàâñòâî.
Òðàíñë³òåðàö³ÿ
(òðàíñ ³ ëàò. litera — áóêâà) — ìåõàí³÷íà ïåðåäà÷à òåêñòó é îêðåìèõ ñë³â, ÿê³ çàïèñàí³ îäí³ºþ ãðàô³÷íîþ ñèñòåìîþ, çàñîáàìè ³íøî¿ ãðàô³÷íî¿ ñèñòåìè ïðè äðóãîðÿäí³é ðîë³ çâóêîâî¿ òî÷íîñò³, òîáòî ïåðåäà÷à îäí³º¿ ïèñåìíîñò³ ë³òåðàìè ³íøî¿.
Òðàíñë³òåðàö³ÿ â³äð³çíÿºòüñÿ â³ä òðàíñêðèïö³¿ òèì, ùî ìຠíà ìåò³ òî÷íó ôîíåòè÷íó àáî ôîíîëîã³÷íó ïåðåäà÷ó çâóê³â. Íàéêðàùà òðàíñë³òåðàö³ÿ òàêà, ÿêà äîçâîëÿº ëåãêî âåðíóòèñÿ ïðè ïîòðåá³ äî îðèã³íàëüíî¿ ñèñòåìè ïèñüìà.
1. Îãëÿä ë³òåðàòóðè
ïðîãðàìà òðàíñë³òåðàö³ÿ òåêñò ãðàô³÷íà
Ñèñòåìà òðàíñë³òåðóâàííÿ óêðà¿íñüêèõ òåêñò³â ç êèðèëèö³ íà ëàòèíèöþ çã³äíî ç óçàãàëüíåíèìè âèìîãàìè ì³æíàðîäíèõ ñòàíäàðò³â, à òàêîæ óêðà¿íñüêèõ íàóêîâö³â ìຠòàê³ âëàñòèâîñò³:
► íîðìàòèâí³ñòü
(ïîâíà â³äïîâ³äí³ñòü ñèñòåìè äî óêðà¿íñüêîãî ïðàâîïèñó, ùî ìîæå çðîáèòè ¿¿ íåâ³äîêðåìíîþ ÷àñòèíîþ öüîãî ìîâíîãî çàêîíó)
► áåçïîìèëêîâ³ñòü
(ñèñòåìà íå âíîñèòü ó òåêñòè ³íôîðìàö³éíèõ ïîìèëîê)
► ñèñòåìí³ñòü
(ïîáóäîâàí³ñòü íà îñíîâ³ ïðàâèë, çàêëàäåíèõ ó òàáëèöþ òðàíñë³òåðàö³¿)
► óí³âåðñàëüí³ñòü
(çäàòí³ñòü ñèñòåìè âèð³øóâàòè ð³çíîìàí³òí³ çàäà÷³ ì³æíàðîäíîãî îáì³íþâàííÿ òåêñòîâîþ ³íôîðìàö³ºþ)
► ë³òåðîîñíàùåí³ñòü
(çàáåçïå÷åí³ñòü êîìï’þòåðíîãî âàð³àíòó ñèñòåìè ïîòð³áíèì íàáîðîì ëàòèíè÷íèõ ë³òåð ç ä³àêðèòèêàìè)
► îäíîìîâí³ñòü
(çîð³ºíòîâàí³ñòü ëèøå íà îäíó ìîâó – óêðà¿íñüêó)
► òðàäèö³éí³ñòü
(óðàõîâàíî òðàäèö³éí³ ôîíåòè÷í³ òà åñòåòè÷í³ íîðìè óêðà¿íñüêî¿ ìîâè, ñâ³òîâ³ òðàäèö³¿ âæèâàííÿ ëàòèíñüêî¿ àáåòêè, ñòâîðåííÿ òðàíñë³òåðàö³éíèõ ïàð, íàéáëèæ÷èõ çà âèìîâîþ ³ ì³æíàðîäíèì òðàíñêðèáóâàííÿì).
► ïîâíîòà
(çäàòí³ñòü ñèñòåìè ñòðàíñë³òåðóâàòè áóäü-ÿê³ òåêñòè, çîêðåìà ç³ ñêîðî÷åííÿìè òà ÷óæîìîâíèìè çàïîçè÷åííÿìè)
► îäíîçíà÷í³ñòü
(êîæíó ç îäíàêîâèõ óêðà¿íñüêèõ ë³òåð ïåðåäຠòîþ ñàìîþ óí³êàëüíîþ ëàòèíñüêîþ ë³òåðîþ)
► çâîðîòí³ñòü
(çäàòí³ñòü òî÷íî â³äòâîðþâàòè êèðèëè÷íèé òåêñò ³ç ñòðàíñë³òåðîâàíîãî ëàòèíè÷íîãî)
► çàïðîãðàìîâí³ñòü
(ïðèäàòí³ñòü äî ðîçðîáëåííÿ ïðîãðàìíèõ çàñîá³â òà êîìï’þòåðíîãî çàñòîñîâóâàííÿ ñèñòåìè)
► ïðîñòîòà
(çäàòí³ñòü øâèäêî ñòðàíñë³òåðóâàòè òåêñò àâòîìàòè÷íèìè çàñîáàìè ÷è âëàñíîðó÷íî).
Âèìîãà äî êîðèñòóâà÷³â: áåçïîñåðåäí³ñòü
(íå áóäóâàòè ñëîâà ÷åðåç ìîâó-ïîñåðåäíèêà).
Ó ïðîåêò³ ÄÑÒÓ âðàõîâàíî âèìîãè ì³æíàðîäíîãî ñòàíäàðòó ISO 9: 1995(E) ùîäî ñòâîðåííÿ íàö³îíàëüíîãî ñòàíäàðòó ì³æíàðîäíîãî ð³âíÿ.
Òðàíñë³òåðóâàííÿ â³äáóâàºòüñÿ çã³äíî ç òðàíñë³òåðàö³éíîþ òàáëèöåþ, ÿêà ñêëàäàºòüñÿ ç òðàíñë³òåðàö³éíèõ ïàð, äå ïàðà – öå êèðèëè÷íà ë³òåðà ³ â³äïîâ³äíà äî íå¿ ëàòèíè÷íà ë³òåðà, ùî ìàþòü îäíàêîâó ÷è ïîä³áíó âèìîâó. Ñåðåä 32-õ ëàòèíè÷íèõ ë³òåð- â³äïîâ³äíèê³â º 8 ç ä³àêðèòèêàìè (º-ê, æ-ž, ¿-ï, ÷-č, ø-š, ù-ŝ, þ-û, ÿ-â)
òà 24 âèáðàí³ ç îñíîâíî¿ ëàòèíèö³. Äîáèðàííþ ïàð äîïîì³ã àíàë³ç ñòàíäàðòíèõ ñèñòåì òðàíñë³òåðóâàííÿ (ISO/R9-1968(Å), ISO 9: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) - âèêîíàííÿ ïðîãðàìè;
· Trace into(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. Ç êëàâ³àòóðè ââåäåíî: «Ñåñ³ÿ ìàéæå çàê³í÷èëàñü!».
Îòðèìàºìî ðåçóëüòàò: «Sesi9 maj*e zakin4ulas6!».
Çà ðåçóëüòàòàìè òåñò³â ÿê³ ÿ ïðîâîäèâ ìîæíà ñêàçàòè, ùî ïðîãðàìà ïðàöþº ÿê³ñíî ³ øâèäêî òà áåç æîäíî¿ ïîìèëêè.
Âèñíîâîê
 ðåçóëüòàò³ ðîáîòè íàä çàâäàííÿì áóëî ñôîðìîâàíî ê³íöåâèé ïðîäóêò – ïðîãðàìó: òðàíñ ë³òåðàòîð óêðà¿íîìîâíèõ òåêñò³â ëàòèíñüêèìè ë³òåðàìè.
 í³é ðåàë³çîâàí³ íàñòóïí³ ìîæëèâîñò³:
· Ìîæëèâ³ñòü âèêîíóâàòè òðàíñë³òåðàö³þ, ç÷èòóþ÷è òåêñò ³ç ôàéëó ³ çàïèñóþ÷è éîãî ó âèõ³äíèé ôàéë.
· Ìîæëèâ³ñòü âèêîíóâàòè òðàíñë³òåðàö³þ ÷åðåç ââ³ä òåêñòó ç êëàâ³àòóðè.
·  ïðîãðàì³ ðåàë³çîâàíî çðó÷íèé òà çðîçóì³ëèé ³íòåðôåéñ.
Äàíà ïðîãðàìà äëÿ ç÷èòóâàííÿ òåêñòó ç êëàâ³àòóðè ïîòðåáóº ï³äêëþ÷åííÿ ñïåö³àëüíîãî äðàéâåðà UKRDOS_2.
˳òåðàòóðà
1. Øïàê Ç.ß. - Ìîâà ïðîãðàìóâàííÿ Ñ
2. Êåðíèãàí Á., Ðèò÷è Ä. - Ìîâà ïðîãðàìóâàííÿ Ñè
3. ²íòåðíåò - http://uk.wikipedia.org/wiki/Òðàíñë³òåðàö³ÿ
4. ²íòåðíåò - http://lp.edu.ua/tc.terminology/TK_translit.htm
5. ²íòåðíåò - http://lukom.org/Pages/Blog.aspx/transliteration
Äîäàòîê
Òåêñò ïðîãðàìè
#include<stdio.h>
#include<conio.h>
#include<string.h>
#include<stdlib.h>
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("\n 4)�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(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;
}
}
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;
}
|