Manni lotindan krilga o’tkazib beruvchi dasturni ishlab chiqish
O‘ZBEKISTON RESBUPLIKASI OLIY TA'LIM FAN VA INNOVATSIYALAR VAZIRLIGI SHAROF RASHIDOV NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI INTELLEKTUAL TIZIMLAR VA KOMPYUTER TEXNOLOGIYALARI FAKULTETI Dasturiy Injiniring yo‘nalishi ______________________ fanidan KURS ISHI MAVZU: Manni lotindan krilga o’tkazib beruvchi dasturni ishlab chiqish . Bajardi: ___ -bosqich “_______________” guruhi talabasi Rahbar: _______________________________ (F. I. O.) Reja:
I. Kirish II. Asosiy qism 2.1 C++ tilida dasturni tuzish va uning bosqichlari 2.2 Dasturni ishlatib ko’rish va xatolar ustida ishlash 2.3 Dasturni takomillashtirish, qo’shimcha imkoniyatlar qo’shish 2.4 Mavjud saytlar haqida ma’lumot III. Xulosa IV. Foydalanilgan adabiyotlar Kirish 1
Lotin yozuvidan kirill yozuviga o‘tkazish dasturi turli sabablarga ko‘ra zarur bo‘lishi mumkin. Bu dastur ayniqsa lingvistik va madaniy manbalarni saqlash, o‘qitish, tadqiqot va hujjatlashtirish kabi sohalarda juda muhimdir. Quyida bu dasturning foydalanish sohalari va afzalliklari haqida batafsil ma’lumot beraman. Texnologik Integratsiya Zamonaviy texnologiyalar, masalan, veb-saytlar, mobil ilovalar va kompyuter dasturlari, ko‘p hollarda lotin yozuvidan foydalanadi. Lotin yozuvidan kirill yozuviga o‘tkazish dasturi orqali, bu texnologiyalarni kirill yozuviga moslashtirish mumkin. Bu, o‘z navbatida, internetdagi kontentni kirill yozuvidagi foydalanuvchilar uchun ham oson va tushunarli qiladi. Axborot Texnologiyalari va Media Axborot texnologiyalari va media sohasida, kontentni turli yozuv tizimlarida taqdim qilish zarur bo‘lishi mumkin. Lotin yozuvidan kirill yozuviga o‘tkazish dasturi orqali, turli tillardagi veb-saytlar, bloglar, ijtimoiy tarmoqlar va axborot resurslari uchun kontent yaratish va taqdim etish mumkin. Bu esa, o‘z navbatida, auditoriyaning kengayishiga va ma’lumotlarning keng tarqalishiga yordam beradi. 2
C++ tilida ham lotin yozuvini kirill yozuviga o‘giruvchi dasturni yaratish mumkin. Quyidagi bosqichlar bo‘yicha dasturni yaratishni ko‘rib chiqamiz. Dasturni yaratish uchun kerakli vositalar 1. Kompilyator: C++ kodni kompilyatsiya qilish uchun kompilyator (GCC, Clang, Visual Studio) kerak bo‘ladi. 2. Tekst muharriri: Kod yozish uchun tekst muharriri (Visual Studio Code, CLion, Notepad++). Dasturni yaratish bosqichlari 1. Boshlash: - Yangi papka yaratib, unga dastur faylini saqlang. Masalan, converter.cpp. 2. Latindan Kirillga o‘girish qoidalarini tayyorlash: - Har bir harf va harf birikmalarining o‘girish qoidalarini sozlash. - Masalan, а -> a, б -> b, ш -> sh va h.k. 3. Kod yozish: #include <iostream> #include <unordered_map> #include <string> #include <vector> #include <algorithm> using namespace std; 3
unordered_map<string, string> rules = { {"a", " а "}, {"b", " б "}, {"v", " в "}, {"g", " г "}, {"d", " д "}, {"e", " е "}, {"yo", " ё "}, {"j", " ж "}, {"z", " з "}, {"i", " и "}, {"y", " й "}, {"k", " к "}, {"l", " л "}, {"m", " м "}, {"n", " н "}, {"o", " о "}, {"p", " п "}, {"r", " р "}, {"s", " с "}, {"t", " т "}, {"u", " у "}, {"f", " ф "}, {"x", " х "}, {"ch", " ч "}, {"sh", " ш "}, {"ya", " я "}, {"yu", " ю "}, {"q", " қ "}, {"h", " ҳ "}, {"ng", " нг "}, {"g'", " ғ "}, {"o'", " ў "}, // Corrected to use single quotes }; string latin_to_cyrillic(const string& text) { string result; size_t i = 0; vector<pair<string, string>> sorted_rules(rules.begin(), rules.end()); sort(sorted_rules.begin(), sorted_rules.end(), [](const pair<string, string>& a, const pair<string, string>& b) { return a.first.size() > b.first.size(); }); while (i < text.size()) { bool matched = false; for (const auto& rule : sorted_rules) { if (text.substr(i, rule.first.size()) == rule.first) { result += rule.second; i += rule.first.size(); matched = true; break; } } if (!matched) { 4