Zahiriddin muhammad bobur nomidagi andijon davlat universiteti




Download 0.87 Mb.
bet8/10
Sana10.04.2023
Hajmi0.87 Mb.
#50154
1   2   3   4   5   6   7   8   9   10
Bog'liq
Raximova Sanobar
893429, Ijtimoiy pedagogik texnalogiyasi strukturasi va mazmuni, Sheriyatda petik uslub va ijodiy individuallik, TOʻPLAMLAR USTIDA AMALLAR, SHAXSIY ISH REJA yangi. X. Maxmudov (3), 1-Internet ma`lum, Mustaqillik yillarida ijrochilik (1), АндДУ 1-сонли баён ижроси, Ochiq dars 2021 Pilla chuvish sexida hosil boladigan chiqindilar, 1.Ахборот ва унинг ахамияти, АСТРОФИЗИКА, Xakimova Gulchiroy, Kurs ishi titul yangi, Turgunova Madina
pyinstaller --onefile -w KirilLot.py buyrug'ini kiritamiz. Bajarilayotgan amallar ro'yxatini ko'rsatadi.

Dist papkasida dastur fayli hosil bo'ladi. Bu fayldan boshqa python o'rnatilmagan kompyuterlarga o'tkazib foydalanish mumkin.

3. Ishni modullarni bog'lash va dastur oynasini yaratish.
from tkinter import *# tkinter moduuliga bog'laymiz
from tkinter.filedialog import *
oyna=Tk() #Oyna yaratib olamiz.
oyna.title("Kiril-Lot dasturi")#dastur sarlavhasi;
oyna.geometry("860x400")#oyna o'lchamlari;
oyna.configure(bg="dodger blue")#fon rangi.
Dasturda matn yozish va tahrirlash uchun bitta Text vidjetini joylashtirib olamiz. Dastur oynasiga matn joylashtirish uchun Label dan foydalanamiz.
Label(oyna, text="Matnni kirildan lotinga va lotindan kirilga o'tkazishingiz mumkin.",bg="dodger blue").place(x=20, y=10)#Label vidjeti;
scrollbar = Scrollbar(oyna)#Scrollbar vidjeti;
scrollbar.pack(side=RIGHT, fill=Y)
matn=Text(oyna, height=20, width=100)#Text vidjetini yaratish.
matn.place(x=20, y=30)
matn.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=matn.yview)
Matndagi harflarni almashtirish uchun 2 ta funksiya yaratib olamiz.
#Kirildan lotinga o'tkazish funksiyasi.
def lotinga():
s=matn.get(1.0,END)
for i in range(len(kiril)):#list uzunligiga mos sikl yaratamiz
s=s.replace(kiril[i],lot[i])#replace orqali matnni almashtirib chiqaramiz
matn.delete(1.0,END)#oldingi matnni o'chirib tashlaymiz
matn.insert(END,s)#yangi matnni joylashtiramiz
#Lotindan kirilga o'tkazish funksiyasi.
def kirilga():
s=matn.get(1.0,END)
for i in range(len(kiril)):
s=s.replace(lot[i],kiril[i])
matn.delete(1.0,END)
matn.insert(END,s)
Dasturimizga matnni saqlash va fayldan ochish imkoniyatini ham qo'shamiz.
def ochish():#fayldan ochish funksiyasini yaratamiz
fayl=askopenfilename(filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")])#ochish dialog oynasini hosil qilamiz
if not fayl:
return
matn.delete(1.0,END)
with open(fayl,"r") as faylga:#fayl o'zgaruvchisi orqali fayllga bog'laymiz
mtn=faylga.read()#fayldan matnni o'qish olish
matn.insert(END,mtn)#fayldagi ma'lumotni Text vidjetiga yozamiz
#Matnni xotiraga saqlash.
def saqlash():#faylga saqlash funksiyasini yaratamiz
fayl=asksaveasfilename(defaultextension="txt",filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")],)#saqlash dialog oynasini hosil qilamiz
if not fayl:
return
with open(fayl,"w",encoding="utf-8") as fayldan:#faylni ochamiz
mtn=matn.get(1.0,END)
fayldan.write(mtn)#faylga ma'lumot yoziladi
Button vidjeti yordamida 4ta boshqarish tugmalarini joylashtiramiz.
Button(oyna, text="Fayldan ochish", command=ochish).place(x=40, y=360)
Button(oyna, text="Faylga saqlash", command=saqlash).place(x=150, y=360)
Button(oyna, text="Kirildan lotinga o'tkazish", command=lotinga).place(x=290, y=360)
Button(oyna, text="Lotindan kirilga o'tkazish", command=kirilga).place(x=450, y=360)
va oyna.mainloop()-dastur oynasini ekranga chiqaramiz.
Dasturimiz tayyor. Dasturning to'liq kodi:
from tkinter import *#tkinter modulini bog'lab olamiz
from tkinter.filedialog import *
oyna=Tk() #Oyna yaratib olamiz.
oyna.title("Kiril-Lot dasturi")#Oyna sarlavhasi
oyna.geometry("860x400")#Oyna o'lchamlari
oyna.configure(bg="dodger blue")#dastur fon rangi
Label(oyna, text="Matnni kirildan lotinga va lotindan kirilga o'tkazishingiz mumkin.",bg="dodger blue").place(x=20, y=10)#label yordamida oynada matn chiqaramiz
scrollbar = Scrollbar(oyna)#ko'p qatorli matnni ko'rish uchun scrollbar joylashtiramiz
scrollbar.pack(side=RIGHT, fill=Y)
matn=Text(oyna, height=20, width=100)#matn kiritish va tahrirlash maydoni hosil qilamiz
matn.place(x=20, y=30)#matn maydoni kordinatalari
matn.config(yscrollcommand=scrollbar.set)
scrollbar.config(command=matn.yview)
#Kiril harflar listini yaratib olamiz.
kiril=["ю","Ю","я","Я","ё","Ё","ш","Ш","ч","Ч","ў","Ў",
"қ","Қ","ғ","Ғ","ц","Ц","й","Й","у","У","к","К",
"е","Е","н","Н","г","Г","щ","Щ","з","З","х","Х",
"э","Э","ж","Ж","д","Д","л","Л","о","О","р","Р",
"п","П","а","А","в","В","ф","Ф","с","С","м","М",
"и","И","т","Т","б","Б","қ","Қ","ҳ","Ҳ","ғ","Ғ","ь"]
#Lotin harflar listini yaratib olamiz.
lot=["yu","Yu","ya","Ya","yo","Yo","sh","Sh","ch","Ch","o'","O'",
"q","Q","g'","G'","ts","Ts","y","Y","u","U","k","K","e","E",
"n","N","g","G","sh","Sh","z","Z","x","X","e","E","j","J",
"d","D","l","L","o","O","r","R","p","P","a","A","v","V","f",
"F","s","S","m","M","i","I","t","T","b","B","q","Q","h","H",
"g'","G'","`"]
#Kirildan lotinga o'tkazish funksiyasi.
def lotinga():
s=matn.get(1.0,END)
for i in range(len(kiril)):#list uzunligiga mos sikl yaratamiz
s=s.replace(kiril[i],lot[i])#replace orqali matnni almashtirib chiqaramiz
matn.delete(1.0,END)#oldingi matnni o'chirib tashlaymiz
matn.insert(END,s)#yangi matnni joylashtiramiz
#Lotindan kirilga o'tkazish funksiyasi.
def kirilga():
s=matn.get(1.0,END)
for i in range(len(kiril)):
s=s.replace(lot[i],kiril[i])
matn.delete(1.0,END)
matn.insert(END,s)
#Xotiradan matn faylini ochish.
def ochish():#fayldan ochish funksiyasini yaratamiz
fayl=askopenfilename(filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")])#ochish dialog oynasini hosil qilamiz
if not fayl:
return
matn.delete(1.0,END)
with open(fayl,"r") as faylga:#fayl o'zgaruvchisi orqali fayllga bog'laymiz
mtn=faylga.read()#fayldan matnni o'qish olish
matn.insert(END,mtn)#fayldagi ma'lumotni Text vidjetiga yozamiz
#Matnni xotiraga saqlash.
def saqlash():#faylga saqlash funksiyasini yaratamiz
fayl=asksaveasfilename(defaultextension="txt",filetypes=[("Matn fayli","*.txt"),("Barcha fayllar","*.*")],)#saqlash dialog oynasini hosil qilamiz
if not fayl:
return
with open(fayl,"w",encoding="utf-8") as fayldan:#faylni ochamiz
mtn=matn.get(1.0,END)
fayldan.write(mtn)#faylga ma'lumot yoziladi
#Boshqarish uchun tugmalar joylashtiramiz.
Button(oyna, text="Fayldan ochish", command=ochish).place(x=40, y=360)#ochish tugmasi place-kordinatalari
Button(oyna, text="Faylga saqlash", command=saqlash).place(x=150, y=360)
Button(oyna, text="Kirildan lotinga o'tkazish", command=lotinga).place(x=290, y=360)
Button(oyna, text="Lotindan kirilga o'tkazish", command=kirilga).place(x=450, y=360)
oyna.mainloop()#yaratgan forma oynamiz namoish etiladi
Xulosa.
Python dasturlash tilida Kiril-Lotin tarjimon dasturini yaratishni ko'rib chiqdik. Bu dasturdan foydalanishingiz mumkin. Dasturga qo'shimcha imkoniyatlar qo'shib rivojlantirsangiz ham bo'ladi.
Hozirda, lotindan kirillga yoki aksincha tarjima qiladigan dasturlar ko‘p. Lekin, ularning hech biri matnni 99 foizga to‘g`ri tarjima qilib bermaydi. Men ishontirib aytamanki, ushbu programma hech qanday xatoliksiz tarjima qiladi. 

  • Odatda boshqa programmalarda “O‘”, “Q”, “H”, “Sh” va “Ch” harflarini boshqa alifboga o‘tkazishda xatoliklar bo‘ladi, e`tiboringizga havola etilgan dasturda esa ushbu jixatlar e`tiborga olingan va xatolik bo‘lmasligi uchun grammatik qoidalar asosida ishlangan. 

  • Mazkur dasturda matnning uzunligiga hech qanday cheklovlar yo‘q. Siz bir vaqtning o‘zida bir necha varoq matnni tarjima qilishingiz mumkin. 

  • Yana bir muhim jixat. Programmaga matn kiritishdan oldin harflarni qaysi alifboga o‘tkazish kerakligini tanlashingiz shart emas. Dasturning o‘zi avtomatik ravishda kirilldagi matnni lotinga, lotinchadagisini kirillga o‘tkazib beradi. 




Download 0.87 Mb.
1   2   3   4   5   6   7   8   9   10




Download 0.87 Mb.

Bosh sahifa
Aloqalar

    Bosh sahifa



Zahiriddin muhammad bobur nomidagi andijon davlat universiteti

Download 0.87 Mb.