Qabul qildi: Salimov Jasur Toshkent 2022
Download 99.99 Kb.
|
kurs ishi
O’ZBEKISTON RESPUBLIKASI OLIY VA O’RTA MAXSUS TA’LIM VAZIRLIGI O’ZBEKISTON MILLIY UNIVERSITETI AMALIY MATEMATIKA VA INTELLEKTUAL TEXNOLOGIYALAR FAKULTETI Amaliy matematika yo’nalishi 2-kurs TM-2102- guruh talabasi Islomov Boburning algoritmik tillar va dasturlash fanidan “Satrlar bilan ishlash uchun standart kutubxona funksiyalari” mavzusida yozgan KURS ISHI Bajardi: Islomov Bobur
Reja:
1.C# dasturlash tilida satrlar kiritlishi, foydalanish maqsadi 2.Satrlar bilan ishlashda standart kutubxona funksiyalaridan foydalanish. 3.Satrlar ustida bajarish mumkin bo’lgan amallar, ularning qulayliklari. II.Xulosa: III.Foydalanilgan adabiyotlar: I.Kirish: C# dasturlash tili obyektga yo’naltirilgan dasturlash tillaridan hisoblanadi. Hozirgi kunda deyarli bu til butun dunyoga mashxur desak hato bo’lmaydi, deyarli hamma dasturlash ustalari bu tildan keng foydalanib kelmoqdalar. Chunki hatolar qilish , proektda nosozliklar yuzaga kelishini oldini oladigan dasturlash tillaridan hisoblanadi. Hozirda deyarli hamma yangi dasturlar ushbu tilda yaratiladi. Aniq masalani hal etish uchun (mashina algoritmini shakllantirish ) standart dasturlarni o’z ichiga olgan kutubxonalarni qo’shishni o’z ichiga oladi. Amaliy dastur yozayotgan hech bir dasturchi bunday ishlarni amalga oshisrishni istamaydi. Shunday ekan dasturlash muhitini yaratuvchilar bunday kutubxonalarni dastavval yaratadilar va kompilatsiya qilib qo’yadilar(Visual Studio dasturlash muhiti eng yaqqol misol). Hozir ushbu dasturlash muhitida satrlar bilan ishlash ishlarini olib boramiz. Ushbu jarayonda foydalanilgan kod va amallarni to’liqroq tushuntirishga harakat qilamiz. Regulyar dasturlash nuqtai nazaridan C# tilida berilganlarning satrli tipi (string) eng muhimlaridan biriga kiradi. Bu tip belgili satrlarni aniqlaydi va ta'minlaydi. Bir qator dasturlash tillarida satr belgilar massivini ifodalaydi. C# da esa obyektlar hisoblanadi. Demak, string tipi murojaatliga tegishlidir.Belgili satrni qurishning eng sodda usuli-satrli literallardan foydalanish. Masalan, quyidagi satr kodida str satrga murojaat o'zgaruvchisiga satrli literalga murojaat o'zlashtiriladi. string str = "Satrga misol"; Izohlaydigan bo'lsak, str o'zgaruvchisi "Satrga misol" belgilar ketma ketligi bilan nomlanadi, string tipidagi obyektni char tipidagi massivdan ham yaratish mumkin. Masalan: char[] chararray = {'e', 'x', 'm', 'p', '1', 'e'); string str= new string(chararray); string tipidagi obyekt yaratilganidan so'ng, undan satr matni (matn qo'shtirmoq ichiga olinadi) talab qilinadigan ihtiyoriy joyda foydalanish mumkin. Satrlarning doimiyligi string tipidagi obyektning mazmunini o'zgartirib bo'lmaydi. Ya'ni bir marotaba yaratilgan belgilar ketma-ketligini o'zgartirish mumkin emas. Bu cheklanish belgili satrlarni samarali tadbiq qilishga yordam beradi. Mavjud satrdan turlilik sifatida boshqa satr talab qilinsa, buning uchun barcha zarur o'zgartirishlarni olgan yangi satr yaratiladi. Foydalanilmayotgan satrli obyektlar avtomatik ravishda yig'ilgani "musor"ga yig'ilganligi sababli, ular to'g'risida qayg'urmasa ham boʻladi. Satrga murojaatli oʻzgaruvchilar (string tipidagi obyektlar) o'zgartirilishi, ya'ni ular boshqa obyektga murojaat qilishi mumkin. Ammo, tipidagi obyektning mazmuni uni yaratgandan keyin ham o'zgarmaydi. Ilovani kompilyatsiya qilib, natijaviy to'plamni ko’rishimiz mumkin. Bunda 1dstr (satrni yuklash) amali kodining ko'p marotaba chaqirilishini ko'ramiz. Bu Idstr amalining kodi CILda boshqariluvchi kuchaga yangi string obyektning bajarilishini yuklashni nazarda tutadi. Natijada avvalgi satrini olgan obyekt musor yig'uvchi tomonidan o'chiriladi. System.String sinfida belgining uzunligini aniqlash, joriy satrda satrostini qidirish, belgilar registrini almashtirish va boshqalar uchun metodlar to'plami aniqlangan. Bu sinf metodlari bilan tanishib chiqamiz. String sinfining maydoni, indeksatori va xossasi String sinfida yagona maydon aniqlangan: public static readonly string Empty; Empty maydoni bo'sh satrni belgilaydi, ya'ni belgilami olmagan satr. U shunisi bilan shunchaki mavjud boʻlmagan String tipidagi bo'sh murojaatdan farqlanadi. Bundan tashqari, String sinfida, faqat o'qish uchun kirishli bo'lgan, yagona indeksator aniqlangan: public char this[int index] {get;} Bu indeksator ko'rsatilgan indeks bo'yicha belgini olish imkonini beradi. Satrlarni indeksatsiyalash massivlarni indeksatsiyalash kabi noldan boshlanadi. String tipidagi obyektlar doimiyligi va o'zgarmasligi bilan farqlanadi. Shu sababli, String sinfida indeksator ta'minlanadi va faqat o'qish uchun kirishli. String sinfida faqat o'qish uchun kirishli bo'lgan yagona xossa aniqlangan; public int Length (get;) Length xossasi satrdagi belgilar sonini qaytaradi. quyidagi misolda indeksatordan va Length xossasidan foydalanish ko'rsatilgan; 1.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string satr; Console.WriteLine("satr="); satr = Console.ReadLine(); Console.WriteLine("satr="+satr); int n; n = satr.Length; Console.WriteLine($ "{satr} so'zi {n} ta belgidan tashkil topgan"); } } } 1-rasm. Matn kiritish va o’lchamini olish haqida. "==" operatorini obyektlarga murojaatlarda qoʻllanilganda, odatda u ikkala murojaat ayni va "!=" bir obyekga yo'naltirilganligini tekshiradi. Agar "==" operatori String tipidagi obyektlarga murojaatga qo'llanilsa, u holda satrlar mazmuni tenglikka tekshiriladi. Bu "=" operatoriga ham tegishli. Operator String tipidagi obyektlarga murojaatga qoʻlganda, satrlar mazmuni teng emaslikka tekshiriladi. Boshqa munosabat operatorlari. va lar ham String tipidagi obyektlarga murojaatni boshqa tipdagi obyetlardagi kabi taqqoslaydi. Bir satr ikkinchisidan kattaligini tekshirish uchun sinfida aniqlangan Compare() metodini chaqirish lozim bo'ladi. Belgili satrlarni taqqoslashning ko'plab turlarida madaniy muhit haqidagi axborotlardan foydalaniladi. Ammo bu "" va "1" operatorlariga tegishli emas. Ular shunchaki belgilarning satrdagi tartib qiymatlarini tekshiradi (boshqacha so'z bilan aytganda ular, ko'rinishi o'zgartirilgan madaniy muhit normalariga (regional standartlar) emas, balki belgilarning ikkilik qiymatini tekshiradi). Bu operatorlar belgilaming registrini va madaniy muhit sozlanishlarini hisobga olmagan holda taqqoslashni amalga oshiradi. 2.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string a1, a2; a1 = "va"; a2 = "aa"; Console.WriteLine( a1.CompareTo(a2)); Console.WriteLine(); a1 = "gul"; a2 = "guli"; Console.WriteLine(a1.CompareTo(a2)); Console.WriteLine(); a1 = "mashina"; a2 = "mashina"; Console.WriteLine(a1.CompareTo(a2)); } } } 2-rasm. Matnlarni taqqoslash qilish; Satrlar konkatenatsiyasi yoki satrlarni billashtirishni '+' amali yordamida va Concat metodi orqali amalga oshirish mumkin: 3.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string s1, s2; s1 = "salom "; s2 = "olam"; string s3, s4; s3 = s1 + s2; s4 = string.Concat(s1, s2); Console.WriteLine("+ amali bilan qo'shilgan so'zlar :"+s3); Console.WriteLine("concat metodi bilan qo'shilgan so'zlar:"+s4); } } } 3-rasm. So’zlarni o’zaro qo’shish; Concat metodi parametr sifatida ikkita satrni oluvchi String sinfining statik metodi hisoblanadi. Metodning boshqa sondagi parametrlarni oluvchi boshqa talqinlari mavjud. Bundan tashqari, satrlarni birlashtirish uchun Join metodidan string s1="apple"; ham foydalanish mumkin: string s2 = "is"; string s3= "very delisious"; string s4= "fruit"; string[] values = new string[] { s1, s2, s3, s4, s5 }; String s6= String.Join ("", values); // Natija: "apple is very delisious fruit" satri yuzaga keladi. Join metodi ham statik metodi hisoblanadi. Foydalanilgan metod talqini ikkita parametr oladi: satr-ajratgich (bizda bo'shliq) va satr-ajratgich bilan birlashtirilishi lozim bo'lgan satrlar massivi ajratilgan holda yasaladi. IndexOf metodi yordamida alohida belgi yoki satrdagi satrostining birinchi bor uchrashi indeksini aniqlashimiz mumkin. Bu kata proektlarda juda qo’l keladigan metod hisoblanadi. Biz izlayotgan elementni birinchi uchrash soni chop etiladi. LastIndexOf metodi ham huddi shunday ishlaydi, faqat alohida belgi yoki satrdagi satrostining oxirgi uchrashi indeksini aniqlaydi. Yana bir guruh metodlar satr ma'lum bir satrostidan boshlanishi yoki tugallanishini aniqlash imkonini beradi. Buning uchun Startswith va Endswith metodlari tayinlangan 4.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string a1, a2; a1 = "mexanika"; a2 = "matematika"; char b1, b2; b1 = 'x'; b2 = 'k'; int indexOf = a1.IndexOf(b1); int lastIndexOf = a2.LastIndexOf(b2); Console.WriteLine("indexOf="+indexOf); //2 Console.WriteLine("LastIndexOf="+lastIndexOf); //8 } } } 4-rasm. indexOf va lastIndexOf metodlari. Split funksiyasi yordami berilgan satrni satrostilar massiviga bo'lish (ajratish) mumkin. Split funksiyasi parametr sifatida ajratgich bo'lib xizmat qiluvchi belgilar yoki satrlar massivini oladi. Masalan, satrdagi so'zlar sonini aniqlaymiz. So'zlarni ajratib olish uchun bo’shliq belgisidan foydalanamiz.bu metod juda katta qulayliklar yaratadi biz uchun. Chunki bir qancha so’zlar yoki gaplar orasidan o’zimizga keraklilarini birma bir kesib olishimiz mumkin. Bu ishni hattoki “ ” boshliqlar, (.) lar v ahokazo ishoralar yordamida qura olamiz. 5.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string text = "Nowadays most people don't like lend money other people"; string[] words = text.Split(" "); foreach(string soz in words) { Console.WriteLine(soz); } }
} 5-rasm. Split metodi. Trim funksiyasi yordamida satrning boshlang'ich yoki oxirgi belgilarini qirqib olish mumkin: 6.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string text = "my girlfriend is lola"; string a1; text = text.Trim('m','a'); Console.WriteLine(text); }
} 6-rasm. Trim metodidan foydalanish. Keltirib o'tilgan misolda Trim funksiyasining parametrlari ko'rsatilmaganda boshlang'ich va oxirgi bo'shliqlar qirqiladi va qirqilgan satr qaytariladi. Funksiyaga qaysi boshlang'ich va oxirgi belgilar o'chirilishi lozimligini oshkor holda uzatish ham mumkin. Bunda bu belgilar massivi funksiyaga uzatiladi. Trim funksiyasi xususiy hollarga ega: TrimStart funksiyasi boshlang'ich belgilarni qirqadi, TrimEnd funksiyasi esa oxirgi belgilarni qirqadi. Substring funksiyasi satrning ma'lum bir qismini qirqib olish imkonini beradi: string text = "Yaxshi kun"; // Uchinchi belgidan boshlab qirqamiz text =text. Substring(2); Console.WriteLine(text); // Natija: "xshi kun" // Boshidan boshlab oxirgi ikki belgigacha qirqamiz text=text. Substring(0, text.Length - 2); Console.WriteLine(text); // Natija: "yaxshi k". Substring funksiyasi ham qirqib olingan qismni qaytaradi. Birinchi holatda parametr sifatida satrni qayerdan boshlab qirqib olish indeksini qabul qiladi. Ikkinchi holatda ikkita parametr olgan qirqishning boshlanosh indeksi va qirqib olinadigan satr qismi uzunligi. Satr qo'yishBir satrni ikinchisiga qo'yish uchun Insert funksiyasi qo'llaniladi; string text = "Yaxshi kun"; string subString = "ajoyib "; text=text. Insert(7, subString); Console.WriteLine(text); Yaxshi ajoyib kun Insert funksiyasining birinchi parametri satrostini qo'yish lozim bo'lgan indeks hisoblanadi. Ikkinchi parametr esa - aynan qo'yiladigan satrosti. Satrlarni o'chirish Remove metodi orqali satrning ma'lum bir qismini o'chirish mumkin: string text = "Yaxsi kun"; int ind= text. Length-1; // oxirgi belgi indeksi text=text.Remove(ind); Console.WriteLine(text); // oxirgi belgini qirqamiz text = text.Remove(0, 2); // boshlang'ich 2ta belgini qirqish Remove metodining birinchi holatida qaysi belgidan boshlab o'chirish lozimligi indeksini oladi. Ikkinchi holatida yana bir parametr qo'shilgan - nechta belgi o'chirish lozim. Belgi yoki satrni almashtirish Bitta belgi yoki satrostini ikkinchisiga almashtirish uchun Replace metodidan foydalaniladi. Masalan, string text = "Yaxshi kun"; text=text.Replace("Yaxshi", "Yomon"); Console.WriteLine(text); Text=text.Replace("n", ""); Console.WriteLine(text); Replace funksiyasini qo'llashning ikkinchi holatda bir belgili satr 'n' bo'sh satrga almashtiriladi. Ya'ni amaliy juhatdan belgi matndan o'chiriladi. Huddi shunday yo'l bilan satrlardagi qandaydir matnni o'chirib tashlash mumkin. Registrni almashtirish Satrni yuqori yoki quyi registrga o'tkazish uchun mos ravishda ToUpper() va ToLower() funksiyalaridan foydalaniladi. Bu ham satrlar bilan ishlashda juda kerakli metodlardan biri hisoblanadi. Negaki biz yozgan dasturda registrni bitta tugma bilan almashtirish imkoniyatiga ega bo’lamiz. 7.MISOL: using System; namespace kurs_ishi { class Program { static void Main(string[] args) { string text = "love is very usefull activaty"; text = text.ToLower(); Console.WriteLine(text); text = text.ToUpper(); Console.WriteLine(text); }
7-rasm. ToLower va ToUpper metodlari. II.Xulosa: Xulosa o’rnida ayta olamanki, ushbu mavzuni yoritish davomida o’zim uchun yetarli bilim va ko’nikmalarni oldim. Hatta bilganlarimni takrorladim. Ushbu mavzu satrlar bilan ishlash haqida edi. Satrlar bilan ishlashda nafaqat standart usullar balki standart kutubxona funksiyalarini ham bilib oldim. Ushbu metodlar yordamida ko’plab funksiyalarni kodini juda qisqartirib bayon etish mumkin bo’ladi. O’zbekiston Respublikasining “Kadrlar tayyorlash milliy dasturi”da o’quv jarayonining moddiy-texnika va axborot bazasi etarli emasligi, yuqori malakali pedagog kadrlarning etishmasligi, sifatli o’quv-uslubiy va ilmiy adabiyot hamda didaktik materiallarning kamligi, talim tizimi, fan va ishlab chiqarish o’rtasida puxta o’zaro hamkorlik va o’zaro foydali aloqadorlikning yo’qligi kadrlar tayyorlashning mavjud tizimidagi jiddiy kamchiliklar sirasiga kiradi, deb ko’rsatib o’tilgan edi. Shuning bilan bir qatorda, axborot va pedagogik texnologiyalarni amalga oshirish orqali ilmiy - tadqiqotlar natijalarini talim-tarbiya jarayoniga o’z vaqtida joriy etish mexanizmini ro’yobga chiqarish, zamonaviy axborot texnologiyalari, kompyuterlashtirish va kompyuter tarmoqlari negizida talim jarayonini axborot bilan taminlash rivojlanib borishi belgilab qo’yilgan. III.FOYDALANILGAN ADABIYOTLAR: “Dasturlash asoslari” T.A.Maxarov, M.A.Raximova - Mirzo Ulug'bek nomidagi O'zbekiston Milliy Universiteti Matematika fakulteti "Algoritmlar va dasturlash texnologiyalari" kafedrasi. 2. Svetin Yakov, Veselin Kolev & Co. Fundamentals of computer programming with C#. Sofia, 2013. 3. Эндрю Троелсен. С++ и платформа.NET. - Сан Петербург.: Питер, 2012 3. Том Арчер. Основы C#. - М.: Изд.-торговый дом «Русская редакция», 2010. 4. Мадрахимов Ш.Ф., Гайназаров С.М. С++ тилида программалаш асослари// Тошкент, ЎзМУ, 2009. Internet: 1. http://appstudio.com/ 2. http://www.mycsharp.ru 3. http://prog-cpp.ru/cpp/ 4. http://www.intuit.ru Download 99.99 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling