logo

Satrlarni qayta ishlash algoritmlari

Загружено в:

23.11.2024

Скачано:

0

Размер:

107.3076171875 KB
Mavzu: Satrlarni qayta ishlash algoritmlari .
Reja:
I. Kirish
II. Python dasturlash tilida satrlar.
1.Algoritmlar haqida tushunchalar.
2.Satrli algoritmlar.
3.Satrga oid funksiya va metodlar.
III. Xulosa.
IV. Foydalanilgan adabiyotlar. KIRISH
Python dasturlash tili boshqa dasturlash tillaridan farqli ravishda, 
mukammal darajada ishlab chiqilgan. Python dasturlash tili, 
boshqa dasturiy vositalarni boshqarish va ularning tarkibiy 
qismlarini mustaqil boshqarishni amalga oshiradi. Python ko’p 
maqsadli dasturlash tili sifatida o’rganilishi mumkin, bu dasturlash 
tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi.
Python dasturlash tilida, bir vaqtning o’zida, boshqa dasturlash 
tillaridan farqli ravishda, bir nechta turdagi dasturlar yaratish 
inkoniyati mavjud, ya‘ni: - amaliy dasturiy maxsulotlar; - web ilovali 
dasturiy maxsulotlar; - ilmiy dasturiy maxsulotlar yaratish imkonini 
beradi. Python tarkibida xotiradan foydalanish va ishlash talablari 
bo’yicha cheklovlar mavjud emas ya‘ni imkoniyatlar shu qadar 
kattaki, boshqa dasturlash tillari kabi ma‘lumotlarni e‘lon qilish 
tabaqasi mavjud emas.
Bunday imkoniyatlar, albatta dastur yaratuvchilar ish faoliyati 
samaradorligini keskin ortishiga xizmat qiladi. Axborot   texnologiyalarini   rivojlanishining   asosiy   bo’g‘ini
algoritmlash   jarayonidir.   Masalani   matematik   modeli,   algoritmi   va
algoritmlash   tili   asosida   dasturini   yaratish   kerak.   Masalani
matematik tushunchalar bilan ifodalanishiga aytiladi. Algoritm so‗zi
va   tushunchasi   Al-Xorazmiy   nomi   bilan   bog‘liq.   Al-Xorazmiy   o‘nlik
sanoq   sistemasining   tamoyillarini   va   amallarni   asoslab   bergan.
Algoritm- bu masala yoki muommoni hal etish uchun kerak bo‘lgan
buyruqlar ketma-ketligi.
Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir
necha   xil   ko’rinishda   tasvirlanishi   mumkin.   Iqtisodiy   masalalar
algoritmi   jadvallar   ko’rinishida,   matematik   masalalar   formula   yoki
grafik   usullarda   va   sanoatda   so’zlar   yordamida   tasvirlanish
mumkin.   Algoritmning   so‘zlar   orqali   ifodalanishi   ijrochi   uchun
beriladigan   ko’rsatma   jumlalar,   so’zlar   orqali   buyruq   shaklida
beriladi.   Algoritmlarning   grafik   shaklida   tasvirlanishida   algoritmlar
maxsus   geometrik  figuralar   yordamida  tasvirlanadi   va   blok-sxema
deyiladi.   Algoritmning   blok-sxemalar   yordamida   tuzishda
foydalaniladigan   asosiy   sodda   geometrik   figuralar   quyidagilardan
iborat..
Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir
necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar 
algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki 
grafik usullarda va sanoatda so’zlar yordamida tasvirlanish 
mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun 
beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida 
beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar 
maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema 
deyiladi. Algoritmning blok-sxemalar yordamida tuzishda 
foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan 
iborat.
Bundan tashqari, ko'rsatmalarning qaysi ketma-ketlikda bajarilishi 
ham muhim ahamiyatga ega. Demak, ko'rsatmalar aniq berilishi va
faqat algoritmda ko'rsatilgan tartibda bajarilishi shart ekan. 
Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir
necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar 
algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki 
grafik usullarda va sanoatda so’zlar yordamida tasvirlanish 
mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun 
beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida 
beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar 
maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema 
deyiladi. 
Algoritmning xossalari Masala yoki mummoni hal etish jarayoni uchun keltirilgan 
algoritmlar ma'lum bir hususiyatlarga bo'ysinish kerak. Bu 
hususiyatlarni e'tiborga olib algoritmlar quyidagi xossalarga ega.
1. Diskretlilik  (CHeklilik). Bu xossaning mazmuni algoritmlarni 
doimo chekli qadamlardan iborat qilib bo'laklash imkoniyati 
mavjudligida. Ya'ni uni chekli sondagi oddiy ko'rsatmalar ketma-
ketligi shaklida. ifodalash mumkin. Agar kuzatilayotgan jarayonni 
chekli qadamlardan iborat qilib qo'llay olmasak, uni algoritm deb 
bo'lmaydi.
2. Tushunarlilik . Biz kundalik hayotimizda berilgan algoritmlar 
bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, 
kompyuterlar, turli avtomatik va mexanik qurilmalarni kuzatamiz.
Ijrochiga tavsiya etilayotgan ko'rsatmalar, uning uchun tushunarli 
mazmunda bo'lishi shart, aks holda ijrochi oddiygina amalni ham 
bajara olmaydi. Undan tashqari, ijrochi har qanday amalni bajara 
olmasligi ham mumkin.
Har bir ijrochining bajarishi mumkin bo'lgan ko'rsatmalar yoki 
buyruqlar majmuasi mavjud, u ijrochining ko'rsatmalar tizimi 
deyiladi. Demak, ijrochi uchun berilayotgan har bir ko'rsatma 
ijrochining ko'rsatmalar tizimiga mansub bo lishi lozim. ʻ
Ko'rsatmalarni ijrochining ko'rsatmalar tizimiga tegishli bo'ladigan 
qilib ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi 
sinfning a'lochi o'quvchisi "son kvadratga oshirilsin" degan 
ko'rsatmani tushunmasligi natijasida bajara olmaydi, lekin "son 
o'zini o ziga ko'paytirilsin" shaklidagi ko'rsatmani bemalol bajaradi, 	
ʻ
chunki u ko rsatma mazmunidan ko'paytirish amalini bajarish 	
ʻ
kerakligini anglaydi.
3. Aniqlik.  Ijrochiga berilayotgan ko'rsatmalar aniq mazmunda 
bo lishi zarur. Chunki ko'rsatmadagi noaniqliklar mo'ljaldagi 	
ʻ
maqsadga erishishga olib kelmaydi. Odam uchun tushunarli 
bo'lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin". "1-2 qoshiq 
solinsin", "tenglamalardan biri yechilsin" kabi noaniq ko'rsatmalar 
robot yoki kompyuterni qiyin ahvolga solib qo'yadi.
Bundan tashqari, ko'rsatmalarning qaysi ketma-ketlikda bajarilishi 
ham muhim ahamiyatga ega. Demak, ko'rsatmalar aniq berilishi va
faqat algoritmda ko'rsatilgan tartibda bajarilishi shart ekan. 11
4. Ommaviylik. 
Har bir algoritm mazmuniga ko'ra bir turdagi masalalarning 
barchasi uchun ham o'rinli bo lishi kerak. Ya'ni masaladagi 	
ʻ
boshlang'ich ma'lumotlar qanday bo'lishidan qat'iy nazar algoritm 
shu xildagi har qanday masalani yechishga yaroqli bo'lishi kerak. 
Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi,  kasrlarni turlicha o'zgartirib bersangiz ham ularning umumiy 
mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish 
algoritmi, uchburchakning qanday bo'lishidan qat'iy nazar, uning 
yuzini hisoblab beraveradi.
5. Natijaviylik . Har bir algoritm chekli sondagi qadamlardan so'ng 
albatta natija berishi shart. Bajariladigan amallar ko'p bo'lsa ham 
baribir natijaga olib kelishi kerak. Chekli qadamdan so'ng qo'yilgan 
masala yechimga ega emasligini aniqlash ham natija hisoblanadi. 
Agar ko'rilayotgan jarayon cheksiz davom etib natija bermasa, uni 
algoritm deb atay olmaymiz.
Tuzilayotgan algoritmlar doimo bir xil yo'nalishlarda bo'lmaydi. 
Masala yoki muommoni hal etish ma'lum bir algoritm bo'yicha 
amalga oshiradi. Masalalar va ularning algoritmlari ham ma'lum bir 
turlarga bo'linadi. Har qanday murakkab masalani ham uchta 
asosiy strukturaga keltirish mumkin.Algoritmlarni umumlashtirgan 
holda quyidagi turlarga ajratamiz.
-  Chiziqli algoritmlar;
- Tarmoqlanuvchi algoritmlar;
- Takrorlanuvchi algoritmlar.
1.Chiziqli algoritmlar
Masalani hal etish uchun tuzilgan algoritm tarkibidagi buyruqlar 
ketma ketligi uzluksiz bo'lishi mumkin yoki qandaydir holatlarda 
shartlar asosida uzluksizlik tarqatilishi mumkin. Chiziqli 
algoritmlarda esa buyruqlar ketma-ketligi doim uzluksiz bo'ladi.
Tarif: Algoritm bajarilish vaqtida hech qanday to'siqqa 
uchramasdan buyruqlar ketma-ketligi uzluksiz bajarilsa bunday 
algoritmlar  chiziqli algoritm  deyiladi.
2.Tarmoqlanuvchi algoritmlar.
Masala yoki muommoni hal etish jarayonida qandaydir shartlarga 
duch kelinsa, bu masala shartlarning bajarilishi asosida amalga 
oshiriladi. Masala yechimi aniqlanish jarayonida tuzilayotgan 
algoritmlar shartlar asosida tarmoqlanishi mumkin, ya'ni shart 
bajarilish asosida chin qiymat qabul qilganda algoritmning bir qismi
yolg'on qiymat qabul qilganda esa algoritmning boshqa qismi 
bajariladi.
Algoritm bajarilish davomida har doim ham buyruqlar ketma-ketligi 
bajarilavermaydi, shunday holatlar ham mavjudki, algoritm 
tarkibida shartlar asosida buyruqlar ketma-ketligi tarmoqlanib 
ketadi.
Ta'rif: Algoritm bajarilish vaqtida buyruqlar ketma-ketligi shartlar 
asosida u yoki bu qismga tarmoqlanishiga tarmoqlanuvchi 
algoritmlar deyiladi. Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir
necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar 
algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki 
grafik usullarda va sanoatda so’zlar yordamida tasvirlanish 
mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun 
beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida 
beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar 
maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema 
deyiladi. Algoritmning blok-sxemalar yordamida tuzishda 
foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan 
iborat.
3.Takrorlanuvchi algoritmlar.
Masala yoki muommoni hal etishda ba'zi jarayonlar bir necha 
marta takrorlanish mumkin. Algoritm tarkibida biror parametr 
qandaydir shartga bog'liq ravishda oshishi yoki kamiyish hisobiga 
takrorlanish jarayonlari vujudga kelishi mumkin. Bunda bu 
jarayonlar takrorlanishlar orqali amalga oshiriladi.
Ta'rif: Algoritmning ma'lum bir qismi qandaydir shartlar asosida ikki
va undan ortiq bajarilishiga takrorlanuvchi algoritmlar deyiladi.
Satrlar  – bu belgilar ketma-ketligi. Ko'p hollarda satrlar so'zlar 
jamlanmasidan tashkil topadi. 
Pythonda satrlar bilan ishlash juda qulay. Bir qancha satr literallari 
mavjud.  Pythonda satrlar 
qo’shtirnoq yoki bittalik tirnoqlar bilan ifodalanadi. Ularni  print() 
funksiyasi bilan ekranga 
chiqaramiz. 
print  (" Salom ") 
print  (' Python ') 
Apostrof va qo`shtirnoqdagi satrlar bir narsa. Uni ikki xil variantda 
keltirilishiga sabab literallarga 
apostrof va qo`shtirnoq belgilarini maxsus xizmatchi belgilardan 
foydalanmasdan kiritish 
mumkinligi deb hisoblanadi. 
Ism  = " San'atbek " 
Gap  = ' Men "Python dasturlash tili" nomli kitob yozdim ' 
Satrni o’zgaruvchiga biriktirish 
Satrni o’zgaruvchiga biriktirish uchun tenglik belgisi ishlatiladi: 
a  = " Salom " 
print ( a ) 
Ko’p qatorli satr 
Ko’p qatorli satrni hosil qilish uchun uchtalik qo’shtirnoq yoki 
tirnoqlardan foydalaniladi. Bunda 
satr qanday holatda yozilgan bo’lsa shundayligicha natija beradi:  a  = """  Bu 
ko'p qatorli 
satr  """ 
b  = '''  Bu ham 
ko'p qatorli 
satr  ''' 
print ( a ) 
print ( b )  
Satr konstantalarini birlashtirish uchun ularni yonma-yon 
joylashtirishning o'zi kifoya. Python 
avtomat ularni birlashtiradi. Misol uchun: "Ismingiz" "kim?" avtomat
"Ismingiz kim?" ga aylanadi. 
Eslatma:  Bir tirnoq va qo'sh tirnoqdagi satrlar bir-biridan hech ham
farq qilmaydi. 
Satr – bu massiv 
Satrni alohida belgilar ketma-ketligidan tashkil topgan massiv deb 
hisoblash mumkin. Pythonda 
belgini ifodalovchi ma’lumot turi yo’qligi uchun bitta belgi deb, bitta 
elementdan tashkil topgan 
satrga aytiladi. Satrning istalgan elementiga murojaat qilish 
mumkin. Buning uchun kvadrat 
qavslardan foydalanamiz va elementning satrdagi o’rnini kiritamiz. 
Eslatma : Elementning satrdagi o’rnini ifodalash uchun sanoq o 
dan boshlanadi. Ya’ni satrdagi 
birinchi elementning o’rni 0 ga, ikkinchi elementning o’rni 1 ga teng
va hokazo. 
Quyidagi misolimizda biz ikkinchi elementni ekranga chiqaramiz: 
a  = " Dasturlash " 
print ( a [ 1 ]) 
Satrlar ustida amallar 
Shunday qilib satrlar bilan ishlash haqida gapirdik, endi satrlarning 
funksiyalari va metodlari haqida 
gapiramiz. Quyida satrlarning barcha funksiya va metodlari 
keltirilgan. 
  Konkatenatsiyalash  (qo`shish) 
 
 Satrni takrorlash  (dublikat qilish) 
 
 Satr uzunligi  (len() funksiyasi)    Indeks bo`yicha chiqarish
 Misoldan ko`rinib turibidiki Python manfiy indeks bo`yicha 

chiqarishga ruxsat etadi, lekin 
hisoblash qator oxiridan boshlanadi. Satrdan qism ajratib olishni 
uning oxiridan boshlash 
uchun manfiy indeks ishlatiladi. 
 
 Satrdan qism ya’ni kesma ajratib olish.  Satrdan bir nechta 
elementdan tashkil topgan 
qismini ajratib olish mumiin. Buning uchun ajratilayogan qismining 
boshlang’ich 
elementining satrdagi o’rni va oxirgi elementining satrdagi o’rni 
olinadi. Ularni bildirgan 
sonlar orasiga: belgisi qo’yilgan holda kvadrat qavs ichiga yoziladi. 
Kesmani ajratib olish operatori:[ X:Y ]. 
X - kesmaning boshi,  Y  esa –oxiri. Y raqamli belgi kesmaga 
kirmaydi. Jimlik holatida 
birinchi indeks 0 ga teng, ikkinchi indeks esa qator uzunligiga teng 
bo`ladi. 
Bundan tashqari kesmani ajratib olishda qadamni belgilash 
mumkin: Satrga oid funksiyalar 
Pythonda satr bilan ayrim amallarni bajarish uchun maxsus 
funksiyalar bor. Ularning soni ancha 
ko’p, hammasini eslab qolish esa qiyin. Shuning uchun kerakli 
fuksiyani manbadan tanlab 
foydalangan ma’qul. Hozir esa shulardan ba’zilarini ko’rib 
chiqamiz. 
Metodlarni chaqirganga Pythondagi satrlar o`zgarmaydigan ketma-
ketliklar darajasiga kirishini 
inobatga olishimiz kerak. Bu degani hamma funksiyalar va 
metodlar faqat yangi satrni tuzishi 
mumkin. 
Shuning uchun hamma metodlar yangi satrni qaytaradilar, va u 
keyin boshqa nomga ega bo`ladi.
S = ‘str’; S = “str”; S = ‘’‘str’‘’; S = “”“str”“”-  Satrlarni literallari 
S = “s\np\ta\nbbb” -  ekran bilan ishlash ketma-ketliklari 
S = r”C:\temp\new” -  Formatlashtirilmagan satrlar 
S = b”byte” -  Baytlar qatori 
S1+S2 -  Konkatenatsiya (qo`shish) 
S1*3 -  Satrni takrorlash 
S[i] -  Indeks bo`yicha murojaat 
S[i:j:step] -  Step qadamli i elementdan boshlab j elementgacha 
bo`lgan kesmani ajratib olish. 
len() -  Satr uzunligini hisoblaydi. Bunda har bir harf, belgi, xatto 
bo’shliq ham hisobga olinadi.  S.find(str,[start],[end]) -  Satrdan satr ostini izlash. Satr ostining 
birinchi belgisini o`rinini 
qaytaradi, agar satrda satr osti bo`lmasa -1 ni qaytaradi. 
S.rfind(str,[start],[end]) -  Satrdan satr ostini axtarish. Oxirgi kirish 
raqamini yoki 1 ni qaytaradi 
S.index(str,[start],[end]) -  Satrdan satr ostini axtarish. Birinchi 
kirish raqamini qaytaradi yoki 
ValueError istisnosini chaqiradi 
S.rindex(str,[start],[end])-  Satrdan satr ostini axtarish. Oxirgi 
kirish raqamini qaytaradi yoki 
ValueError istisnosini chaqiradi. 
S.isdigit() -  Satrda raqamlar ishtirok etganligini tekshirish. 
S.isalpha() -  Satr faqat harflardan iboratligini tekshirish. 
S.isalnum() -  Satr harf yoki raqamlardan iboratligini tekshiradi. 
S.islower() -  Satr quyi registrdagi belgilardan iboratligini tekshiradi .
S.isspace() - Satrda ko`rinmaydidan belgilar borligini tekshirish 
(probel, sahifani o`tkazish 
belgisi(‘\p’), yangi satrga o`tish(‘\n’), koretkani qaytarish(‘\r’), 
gorizontal tabulyatsiya(‘\t’) va 
vertikal tabulyatsiya) 
S.istitle() -  Satrda so`zlar bosh harf bilan boshlanishini tekshirish. 
S.starswith(str)-  S satr str shablonidan boshlanishini tekshirish. 
S.endswith(str)-  S satr str shabloni bilan tugashini tekshirish. 
S.join(ro`yxat)-  S ajratuvchiga ega ro`yxatdan qatorni yig`ish.    
Ord(belgi)-  Belgiga mos ASCII kodni qaytaradi. 
Chr(son)-  ASCII kodga mos belgini qaytaradi. 
S.capitalize()- Satrning birinchi belgisi yuqori registrda qolganlarini 
quyi registrga o`tkazadi. 
S.center(width,[fill])-  Chegaralari bo`yicha fill (jimlik holatida 
probel) belgisi turuvchi 
markazlashtirilgan satrni qaytaradi. 
S.expandtabs(tabsize)-  Joriy ustungacha bir yoki bir qancha 
probellar bilan tabulyatsiyaning 
hamma belgilari almashtirilgan satr nusxasini qaytaradi. Agarda 
TabSize ko`rsatilmagan bo`lsa  tabulyatsiya hajmi 8 probelga teng bo`ladi. 
S.lstrip([chars])-  Satr boshidagi probel belgilarini olib tashlash. 
S.rstrip([chars])  -  Satr oxiridan probel belgilarini olib tashlash. 
S.strip([chars])  -  Satr boshidan va oxiridan probel belgilarini olib 
tashlash. 
S.partition(shablon) -  Birinchi shablon oldida turuvchi qismni 
keyin shablonni o`zini va 
shablondan keyin turuvchi qismga ega kortejni qaytaradi. Agarda 
shablon topilmasa satrga ega 
bo`lgan kortejni qaytaradi, avval ikki bo`sh satr keyin satrni o`zini. 
S.rpartition(sep)-  Oxirgi shablon oldida turuvchi qismni keyin 
shablonni o`zini va shablondan 
keyin turuvchi qismni qaytaradi. Kortej qator o`zidan va undan 
keyin ikkita bo`sh qatordan iborat 
bo`ladi. 
S.swapcase()- Quyi registrdagi belgilarni yuqori registrga, 
yuqorilarni esa quyiga o`tkazadi. 
S.title() -  Har bitta so`zning birinchi harfini yuqori registrga 
qolganlarini esa quyi registrga 
o`tkazadi. 
S.zfill(width) -  Qator uzunligini Widthdan kam qilmaydi agar kerak 
bo`lsa birinchi belgilarni 
nollar bilan to`ldiradi. 
S.strip()  funksiyasi satrning boshi va oxirida bo’shliqlar bo’lsa, olib 
tasdiqlaydi: 
a  = "  Dastur  " 
print ( a . strip ()) 
S.lower()  funksiyasi satrdagi barcha so’zlarni kichik harf bilan 
yozilishini ta’minlaydi: 
a  = " Markaziy Osiyo " 
print ( a . lower ()) 
S.upper()  funksiyasi satrdagi barcha so’zlarni katta harflar bilan 
yozadi: 
a  = " Markaziy Osiyo " 
print ( a . upper ())  
S.replace()  funksiyasi satrdagi bir so’z yoki harfni boshqasi bilan 
almashtiradi: 
a  = " Bor " 
b  = " Markaziy Osiyo " 
print  ( a . replace (" r ", " y ")) 
print  ( b . replace (" Markaziy ", " O'rta ")) 
Boy 
O'rta Osiyo  S.split()  funksiyasi satrni ko’rsatilgan belgi bo’yicha qismlarga 
bo’lib chiqadi. Masalan, vergul 
ko’rsatilsa satrdagi har bir vergulgacha bo’lgan so’z yoki harflar 
bitta alohida qism deb olinadi. 
Yoki probel (bo’shliq) ko’rsatilsa har bir probelgacha bo’lgan qismi 
ajratiladi. 
a  = " Python bilan ishlash qiziqarli " 
print ( a . split (" ")) 
['Python', 'bilan', 'ishlash', 'qiziqarli'] 
Satrlarni tekshirish 
Aniq bir jumla yoki harf(belgi) satrda bor yoki yo’qligini  in  yoki  not 
kalit so’zlari bilan tekshirish 
mumkin. Bunday holatda qidirilaytogan jumla bor bo’lsa  True  (rost)
, aks holda  False  (yolg’on) 
qiymati qaytariladi. Quyidagi kodimizda “ol” jumlasi borligini 
tekshirib ko’ramiz: 
txt  = " Olmaxon yerdagi olmani olib ketdi " 
x  = " ol " in  txt 
print ( x ) 
Endi satrda “ol” jumlasi yo’qligini tekshiramiz. Bu yerda “ol” jumlasi 
satrda borligi uchun  False 
(yolg’on) qiymati qaytariladi: 
txt  = " Olmaxon yerdagi olmani olib ketdi " 
x  = " ol " not in  txt 
print ( x ) 
Satrlar formati 
Biz satr va sonli o’zgaruvchilarni birgalikda to’g’ridan to’g’ri ishlata 
olmaymiz. Satr ichida sonli 
o’zgaruvchini qo’llash uchun  format()  funksiyasidan foydalaniladi. 
Bu funksiya sonli qiymatni 
olib satrli o’zgaruvchiga aylantiradi va  {}  belgisi qo’yilgan joy 
o’rnida o’sha qiymatni joylashtiradi. 
yosh  =  21 
matn  = " Mening yoshim  {}  da " 
print ( matn . format ( yosh ))  
format()  funksiyasi bilan istalgancha sonli qiymatlarni bir satrga 
joylash mumkin. Uning o’zi 
qiymatlarni tartib bo’yicha tegishli joylarga qo’yib chiqadi: 
raqam  =  2 
kilo  =  3 
pul  =  5000 
savdo  = " {} -do'kondan  {}  kg olmani  {}  so'mga sotib oldim " 
print ( savdo . format ( raqam ,  kilo ,  pul ))  2-do'kondan 3 kg olmani 5000 so'mga sotib oldim 
Qiymatlarni joylashtirish tartibini o’zingiz aniq belgilab bermoqchi 
bo’lsangiz indeks sonlaridan 
foydalanishingiz kerak bo’ladi. Eslatib o’tamiz dasturlashda sanoq 
0 dan boshlanadi: 
raqam  =  2 
kilo  =  3 
pul  =  5000 
savdo  = " {1}  kg olmani  {0} -do'kondan  {2}  so'mga sotib oldim " 
print ( savdo . format ( raqam ,  kilo ,  pul )) 
3 kg olmani 2-do'kondan 5000 so'mga sotib oldim 
Satrlarni formatlashni yana bir necha xil usullari bor. Ular bilan 
keyingi dasrda tanishamiz. 
Maxsus belgilar 
Ekran bilan ishlash ketma-ketliklari- klaviatura yodamida kiritish 
murakkab bo`lgan belgilarni 
yozishga imkon beradi.  Ayrim belgilar borki, ularni satr ichida 
to’g’ridan to’g’ri qo’llab bo’lmaydi. 
Ularni satr ichida qo’llanganda doimo  \  (backslash) belgisi ham 
bo’lishi shart. 
Masalan, qo’shtirnoqni satr ichida shunchaki qo’llasak, dasturda 
xatolik yuz beradi: 
txt  = " Akam bilan  " Paxtakor "  metrosida ko'rishamiz " 
print ( txt ) 
Dasturda xatolik bo’lmasligi uchun qo’shtirnoqni  \”  ko’rinishida 
belgilaymiz. 
txt  = " Akam bilan  \" Paxtakor \"  metrosida ko'rishamiz " 
print ( txt ) 
Satr ichida qo’llanadigan boshqa maxsus belgilardan namuna: 
  \’  bittalik qo’shtirnoq 
 
 \\  backslash belgisi 
 
 \n  yangi qatorga o’tish 
 
 \t  tabulyatsiya (so’zni bir harf kengligida surish)
Aniq bir jumla yoki harf(belgi) satrda bor yoki yo’qligini  in  yoki  not 
kalit so’zlari bilan tekshirish 
mumkin. Bunday holatda qidirilaytogan jumla bor bo’lsa  True  (rost)
, aks holda  False  (yolg’on) 
qiymati qaytariladi. Quyidagi kodimizda “ol” jumlasi borligini 
tekshirib ko’ramiz: 
txt  = " Olmaxon yerdagi olmani olib ketdi " 
x  = " ol " in  txt  print ( x ) 
Endi satrda “ol” jumlasi yo’qligini tekshiramiz. Bu yerda “ol” jumlasi 
satrda borligi uchun  False 
(yolg’on) qiymati qaytariladi: 
txt  = " Olmaxon yerdagi olmani olib ketdi " 
x  = " ol " not in  txt 
print ( x ) 
Satrlar formati 
Biz satr va sonli o’zgaruvchilarni birgalikda to’g’ridan to’g’ri ishlata 
olmaymiz. Satr ichida sonli 
o’zgaruvchini qo’llash uchun  format()  funksiyasidan foydalaniladi. 
Bu funksiya sonli qiymatni 
olib satrli o’zgaruvchiga aylantiradi va  {}  belgisi qo’yilgan joy 
o’rnida o’sha qiymatni joylashtiradi. 
yosh  =  21 
matn  = " Mening yoshim  {}  da " 
print ( matn . format ( yosh ))
format()  funksiyasi bilan istalgancha sonli qiymatlarni bir satrga 
joylash mumkin. Uning o’zi 
qiymatlarni tartib bo’yicha tegishli joylarga qo’yib chiqadi: 
raqam  =  2 
kilo  =  3 
pul  =  5000 
savdo  = " {} -do'kondan  {}  kg olmani  {}  so'mga sotib oldim " 
print ( savdo . format ( raqam ,  kilo ,  pul )) 
2-do'kondan 3 kg olmani 5000 so'mga sotib oldim 
Qiymatlarni joylashtirish tartibini o’zingiz aniq belgilab bermoqchi 
bo’lsangiz indeks sonlaridan 
foydalanishingiz kerak bo’ladi. Eslatib o’tamiz dasturlashda sanoq 
0 dan boshlanadi: 
raqam  =  2 
kilo  =  3 
pul  =  5000 
savdo  = " {1}  kg olmani  {0} -do'kondan  {2}  so'mga sotib oldim " 
print ( savdo . format ( raqam ,  kilo ,  pul )) 
3 kg olmani 2-do'kondan 5000 so'mga sotib oldim 
Satrlarni formatlashni yana bir necha xil usullari bor. Ular bilan 
keyingi dasrda tanishamiz. 
Maxsus belgilar 
Ekran bilan ishlash ketma-ketliklari- klaviatura yodamida kiritish 
murakkab bo`lgan belgilarni 
yozishga imkon beradi.  Ayrim belgilar borki, ularni satr ichida 
to’g’ridan to’g’ri qo’llab bo’lmaydi.  Ularni satr ichida qo’llanganda doimo  \  (backslash) belgisi ham 
bo’lishi shart. 
Masalan, qo’shtirnoqni satr ichida shunchaki qo’llasak, dasturda 
xatolik yuz beradi: 
txt  = " Akam bilan  " Paxtakor "  metrosida ko'rishamiz " 
print ( txt ) 
Dasturda xatolik bo’lmasligi uchun qo’shtirnoqni  \”  ko’rinishida 
belgilaymiz. 
txt  = " Akam bilan  \" Paxtakor \"  metrosida ko'rishamiz " 
print ( txt ) 
Satr ichida qo’llanadigan boshqa maxsus belgilardan namuna: 
  \’  bittalik qo’shtirnoq 
 
 \\  backslash belgisi 
 
 \n  yangi qatorga o’tish 
 
 \t  tabulyatsiya (so’zni bir harf kengligida surish)
Satrlarni formatlash 
Satrni formatlash  format()  funksiyasi bilan amalga oshiriladi. Bu 
narsa bizga satr ichiga 
qiymatlarini joylashtirsh uchun kerak bo’lgan joyga maxsus qavslar
qo’yiladi va  format() 
funksiyasi bilan kerakli qiymat joylashtiriladi. 
narx  =  30 
satr  = " Mahsulot narxi  {}  so'm " 
print ( satr . format ( narx ))  Mahsulot narxi 30 so'm 
Ko’proq qiymatlarda formatlash 
Satr ichiga ko’proq qiymatlarni ham joylashtirsa bo’ladi. Maxsus 
qavslar ham shuncha 
bo’lishi kerak: 
sana  =  5 
oy  = " avgust " 
yil  =  2020 
bugun  = " Bugun  {}  -  {} ,  {}  - yil " 
print ( bugun . format ( sana ,  oy ,  yil )) 
Bugun  5  -  avgust ,  2020  -  yil Xulosa
Qo’llanmada   axborot   texnologiyalarining   avtomatlashtirilgan
elementlarini   qo’llash   va   avtomatlashtirish   asosida   yangi   axborot
texnologiyasini   yaratish   bosqichini   amalga   oshirish   mexanizmlari
keltirib   o’tildi.   Python   dasturlash   tili   tarkibidagi   barcha   turdagi
operatorlar,   kalit   so’zlar   va   qoidalar   batafsil   keltirib   o’tildi.
Qo’llanmada   python   tilining   barcha   imkoniyatlari   bo’yicha   nazariy
tushunchalar   hamda   bu   tushunchalarni   o’zlashtirish   uchun
masalalar yechimlari keltirib o’tildi. Har bir mavzu bo’yicha mavzuni
mustahkamlash   uchun   nazariy   savollar   hamda   mustaqil   ishlash
uchun   topshiriqlar   ham   keltirib   o’tildi.   Har   bir   mavzu   bo’yicha
tayanch   iboralar   va   glossariy   qismi   shakllantirildi.   Mazkur
qo’llanma   so’z   boshida   belgilangan   vazifalarni   hal   etish   uchun,
asosiy   uslubiy   ta‘minot   vazifasini   bajaradi.   Bu   qo’llanma   nafaqat
matematik   va   muhandis   yo’nalishidagi   talabalar,   balki   mustaqil
o’rganuvchilar uchun ham asosiy qo’llanma hisoblanadi. Qo’llanma
Amaliy matematika va informatika, Axborot tizimlarining matematik
va   dasturiy   taminoti   yo’nalishlarining   o’quv   rejasi   hamda   o’quv
dasturi   asosida   yaratildi.   Tayyorlangan   qo’llanma   asosida,   ilmiy
ishlanmalarni dasturiy tizimlarini yaratish mumkin. FOYDALANILGAN ADABIYOTLAR
RO‘YXATI
1.Eric   Matthes.   Python   Crash   Course   Paperback.England
2015.205p.   2.Krishna   Rungta.   Learn   Python   in   1   Day:   Complete
Python   Guide   with   Examples.   India   2016.   -182   p.   3.Narasimha
Karumanchi. Data Structure  and Algorithmic Thinking with Python
Paperback.   India   2015.   170p.   4.Сысоева   М.В.,   Сысоев   И.   В.
Программирование для «нормальных» с нуля на языке Python
Москва.   2018.   -180с.   5.Федоров   Д.   Ю.Основы
программирования на примере языка Python. Санкт-Петербург
2018.   -167   c.   6.   Eshtemirov   S.   Nazarov   F.   Algoritmlash   va
dasturlash   asoslari.   O‗quv   qo‗llanma.   Samarqand   2019.   -208   b.
7.Nazarov   F.   C++   tilida   dasturlash   asoslari.   Uslubiy   qo‗llanma.
Samarqand   2017.   -208   b.   8.   Вирт   Н.   Алгоритмы   +   структуры
данных   =   программа.-   М.:Мир,1985.-405с.   9.   Информатика.
Базовой   курс.   Учебник   для   Вузов.,   СанкПетербург,2001.   под
редакцией С.В.Симоновича.  10. Непейвода Н.Н,  Скоплин И.Н.
Основания   программирования.   -Москва   Ижевск:   Институт
компьютерных   исследований,   2003   г.   864   с.   11.Лойко   В.Л.
Структуры   и   алгоритмы   обработки   данных.   Учебное   пособие
для   вузов.-   Краснодар:   КубГАУ.   2000.   -   261   с.   12.Алфред   В.
Хоп   Крофт,   Джефри   Д.   Ульман.   Структуры   данных   и
алгоритмов.   Издательский   дом   «Вильяме»   Москва   —   Санкт-
Петербург - Киев, 2003-384 с.

Mavzu: Satrlarni qayta ishlash algoritmlari . Reja: I. Kirish II. Python dasturlash tilida satrlar. 1.Algoritmlar haqida tushunchalar. 2.Satrli algoritmlar. 3.Satrga oid funksiya va metodlar. III. Xulosa. IV. Foydalanilgan adabiyotlar.

KIRISH Python dasturlash tili boshqa dasturlash tillaridan farqli ravishda, mukammal darajada ishlab chiqilgan. Python dasturlash tili, boshqa dasturiy vositalarni boshqarish va ularning tarkibiy qismlarini mustaqil boshqarishni amalga oshiradi. Python ko’p maqsadli dasturlash tili sifatida o’rganilishi mumkin, bu dasturlash tili yordamida bir qancha jarayonlarni dasturlash imkoni yaratiladi. Python dasturlash tilida, bir vaqtning o’zida, boshqa dasturlash tillaridan farqli ravishda, bir nechta turdagi dasturlar yaratish inkoniyati mavjud, ya‘ni: - amaliy dasturiy maxsulotlar; - web ilovali dasturiy maxsulotlar; - ilmiy dasturiy maxsulotlar yaratish imkonini beradi. Python tarkibida xotiradan foydalanish va ishlash talablari bo’yicha cheklovlar mavjud emas ya‘ni imkoniyatlar shu qadar kattaki, boshqa dasturlash tillari kabi ma‘lumotlarni e‘lon qilish tabaqasi mavjud emas. Bunday imkoniyatlar, albatta dastur yaratuvchilar ish faoliyati samaradorligini keskin ortishiga xizmat qiladi.

Axborot texnologiyalarini rivojlanishining asosiy bo’g‘ini algoritmlash jarayonidir. Masalani matematik modeli, algoritmi va algoritmlash tili asosida dasturini yaratish kerak. Masalani matematik tushunchalar bilan ifodalanishiga aytiladi. Algoritm so‗zi va tushunchasi Al-Xorazmiy nomi bilan bog‘liq. Al-Xorazmiy o‘nlik sanoq sistemasining tamoyillarini va amallarni asoslab bergan. Algoritm- bu masala yoki muommoni hal etish uchun kerak bo‘lgan buyruqlar ketma-ketligi. Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki grafik usullarda va sanoatda so’zlar yordamida tasvirlanish mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema deyiladi. Algoritmning blok-sxemalar yordamida tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat.. Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki grafik usullarda va sanoatda so’zlar yordamida tasvirlanish mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema deyiladi. Algoritmning blok-sxemalar yordamida tuzishda foydalaniladigan asosiy sodda geometrik figuralar quyidagilardan iborat. Bundan tashqari, ko'rsatmalarning qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, ko'rsatmalar aniq berilishi va faqat algoritmda ko'rsatilgan tartibda bajarilishi shart ekan. Algoritmning tasvirlash usullari masala algoritmini tuzish vaqtida bir necha xil ko’rinishda tasvirlanishi mumkin. Iqtisodiy masalalar algoritmi jadvallar ko’rinishida, matematik masalalar formula yoki grafik usullarda va sanoatda so’zlar yordamida tasvirlanish mumkin. Algoritmning so‘zlar orqali ifodalanishi ijrochi uchun beriladigan ko’rsatma jumlalar, so’zlar orqali buyruq shaklida beriladi. Algoritmlarning grafik shaklida tasvirlanishida algoritmlar maxsus geometrik figuralar yordamida tasvirlanadi va blok-sxema deyiladi. Algoritmning xossalari

Masala yoki mummoni hal etish jarayoni uchun keltirilgan algoritmlar ma'lum bir hususiyatlarga bo'ysinish kerak. Bu hususiyatlarni e'tiborga olib algoritmlar quyidagi xossalarga ega. 1. Diskretlilik (CHeklilik). Bu xossaning mazmuni algoritmlarni doimo chekli qadamlardan iborat qilib bo'laklash imkoniyati mavjudligida. Ya'ni uni chekli sondagi oddiy ko'rsatmalar ketma- ketligi shaklida. ifodalash mumkin. Agar kuzatilayotgan jarayonni chekli qadamlardan iborat qilib qo'llay olmasak, uni algoritm deb bo'lmaydi. 2. Tushunarlilik . Biz kundalik hayotimizda berilgan algoritmlar bilan ishlayotgan elektron soatlar, mashinalar, dastgohlar, kompyuterlar, turli avtomatik va mexanik qurilmalarni kuzatamiz. Ijrochiga tavsiya etilayotgan ko'rsatmalar, uning uchun tushunarli mazmunda bo'lishi shart, aks holda ijrochi oddiygina amalni ham bajara olmaydi. Undan tashqari, ijrochi har qanday amalni bajara olmasligi ham mumkin. Har bir ijrochining bajarishi mumkin bo'lgan ko'rsatmalar yoki buyruqlar majmuasi mavjud, u ijrochining ko'rsatmalar tizimi deyiladi. Demak, ijrochi uchun berilayotgan har bir ko'rsatma ijrochining ko'rsatmalar tizimiga mansub bo lishi lozim. ʻ Ko'rsatmalarni ijrochining ko'rsatmalar tizimiga tegishli bo'ladigan qilib ifodalay bilishimiz muhim ahamiyatga ega. Masalan, quyi sinfning a'lochi o'quvchisi "son kvadratga oshirilsin" degan ko'rsatmani tushunmasligi natijasida bajara olmaydi, lekin "son o'zini o ziga ko'paytirilsin" shaklidagi ko'rsatmani bemalol bajaradi, ʻ chunki u ko rsatma mazmunidan ko'paytirish amalini bajarish ʻ kerakligini anglaydi. 3. Aniqlik. Ijrochiga berilayotgan ko'rsatmalar aniq mazmunda bo lishi zarur. Chunki ko'rsatmadagi noaniqliklar mo'ljaldagi ʻ maqsadga erishishga olib kelmaydi. Odam uchun tushunarli bo'lgan "3-4 marta silkitilsin", "5-10 daqiqa qizdirilsin". "1-2 qoshiq solinsin", "tenglamalardan biri yechilsin" kabi noaniq ko'rsatmalar robot yoki kompyuterni qiyin ahvolga solib qo'yadi. Bundan tashqari, ko'rsatmalarning qaysi ketma-ketlikda bajarilishi ham muhim ahamiyatga ega. Demak, ko'rsatmalar aniq berilishi va faqat algoritmda ko'rsatilgan tartibda bajarilishi shart ekan. 11 4. Ommaviylik. Har bir algoritm mazmuniga ko'ra bir turdagi masalalarning barchasi uchun ham o'rinli bo lishi kerak. Ya'ni masaladagi ʻ boshlang'ich ma'lumotlar qanday bo'lishidan qat'iy nazar algoritm shu xildagi har qanday masalani yechishga yaroqli bo'lishi kerak. Masalan, ikki oddiy kasrning umumiy mahrajini topish algoritmi,

kasrlarni turlicha o'zgartirib bersangiz ham ularning umumiy mahrajlarini aniqlab beraveradi. Yoki uchburchakning yuzini topish algoritmi, uchburchakning qanday bo'lishidan qat'iy nazar, uning yuzini hisoblab beraveradi. 5. Natijaviylik . Har bir algoritm chekli sondagi qadamlardan so'ng albatta natija berishi shart. Bajariladigan amallar ko'p bo'lsa ham baribir natijaga olib kelishi kerak. Chekli qadamdan so'ng qo'yilgan masala yechimga ega emasligini aniqlash ham natija hisoblanadi. Agar ko'rilayotgan jarayon cheksiz davom etib natija bermasa, uni algoritm deb atay olmaymiz. Tuzilayotgan algoritmlar doimo bir xil yo'nalishlarda bo'lmaydi. Masala yoki muommoni hal etish ma'lum bir algoritm bo'yicha amalga oshiradi. Masalalar va ularning algoritmlari ham ma'lum bir turlarga bo'linadi. Har qanday murakkab masalani ham uchta asosiy strukturaga keltirish mumkin.Algoritmlarni umumlashtirgan holda quyidagi turlarga ajratamiz. - Chiziqli algoritmlar; - Tarmoqlanuvchi algoritmlar; - Takrorlanuvchi algoritmlar. 1.Chiziqli algoritmlar Masalani hal etish uchun tuzilgan algoritm tarkibidagi buyruqlar ketma ketligi uzluksiz bo'lishi mumkin yoki qandaydir holatlarda shartlar asosida uzluksizlik tarqatilishi mumkin. Chiziqli algoritmlarda esa buyruqlar ketma-ketligi doim uzluksiz bo'ladi. Tarif: Algoritm bajarilish vaqtida hech qanday to'siqqa uchramasdan buyruqlar ketma-ketligi uzluksiz bajarilsa bunday algoritmlar chiziqli algoritm deyiladi. 2.Tarmoqlanuvchi algoritmlar. Masala yoki muommoni hal etish jarayonida qandaydir shartlarga duch kelinsa, bu masala shartlarning bajarilishi asosida amalga oshiriladi. Masala yechimi aniqlanish jarayonida tuzilayotgan algoritmlar shartlar asosida tarmoqlanishi mumkin, ya'ni shart bajarilish asosida chin qiymat qabul qilganda algoritmning bir qismi yolg'on qiymat qabul qilganda esa algoritmning boshqa qismi bajariladi. Algoritm bajarilish davomida har doim ham buyruqlar ketma-ketligi bajarilavermaydi, shunday holatlar ham mavjudki, algoritm tarkibida shartlar asosida buyruqlar ketma-ketligi tarmoqlanib ketadi. Ta'rif: Algoritm bajarilish vaqtida buyruqlar ketma-ketligi shartlar asosida u yoki bu qismga tarmoqlanishiga tarmoqlanuvchi algoritmlar deyiladi.