C++ DASTURLASH TILIDA KO’RSATKICHLAR, FUNKSIYALAR VA REKURSIV FUNKSIYALAR ASOSIDA MURAKKAB JARAYONLARNI DASTURLASH
O`ZBEKISTON RESPUBLIKASI OLIY VA O‘RTA MAXSUS TA’LIM VAZIRLIGI SHAROB RASHIDOV NOMIDAGI SAMARQAND DAVLAT UNIVERSITETI MATEMATIKA FAKULTETI MATEMATIKA VA INFORMATIKA YO’NALISHI 275 -A GURUH TALABASI SUYUNOVA RUXSORA NING DASTURLASH ASOSLARI VA TILLARI FANIDAN YOZGAN KURS ISHI MAVZU : C++ DASTURLASH TILIDA KO’RSATKICHLAR, FUNKSIYALAR VA REKURSIV FUNKSIYALAR ASOSIDA MURAKKAB JARAYONLARNI DASTURLASH Bajardi: Suyunova Ruxsora Ilmiy rahbar: dots. F.M. Nazarov SAMARQAND 2022
2 Mundarija Kirish ................................ ................................ ................................ ................................ ................. 3 I-BOB. C++ DASTURLASH TILIDA KO‘RSATKICHLAR, ADRES OLUVCHI O‘ZGARU VCHILAR ................................ ................................ ................................ ....................... 5 1.1. Ko’rsatkich tush unchasi va uni to`g`ri qo`llash ................................ ................................ .............. 5 1.2.Adreslarni saqlash uchun ko'rsatkichlardan foydalani sh ................................ ................................ . 7 1.3. Funksiyaga ko’rsatkichlarni uzatish ................................ ................................ ............................ 15 II-BOB. C++ DASTURLASH TILIDADA FUNKSIYALAR BILAN ISHLASH. FUNKS IYA PARAMETRLARI VA ARGUMENTLARI. KELISHUV BO’YICHA ARGUMENTLAR. ....... 19 2.1.Funksiya yaratish va u bilan ishlash ................................ ................................ ............................. 19 2.2. Qayta yuk lanuvchi funksiyalar ................................ ................................ ................................ .... 34 III -BOB. C++ DASTURLASH TILIDA REKURSIV FUNKSI YALAR BILAN ISHLASH TEXNALOGIYASI ................................ ................................ ................................ ......................... 39 3.1. Rekursiv funksiyalar ................................ ................................ ................................ ................... 39 3.2. Rekursiya va Iteratsiya. ................................ ................................ ................................ .............. 42 3.3. C++ da rekursiya qo’llanilish, avzalliklari va kamchiliklar i................................ ......................... 44 Xulosa ................................ ................................ ................................ ................................ .............. 53 Foydalanilgan adabiyotlar ................................ ................................ ................................ .............. 54
3 Kirish Yangi XXI - asrda axborot texnologiyalari hayotimizning turli jabhalariga kirib borishi axborotlashgan jamiyatning shakllantirishga zamin yaratib bermoqda. "Internet", "Elektron pochta", "Elektron ta'lim", "Elektron boshqaruv", "Elektron hukumat", "Masofaviy ta'lim", "Ochiq ta'lim", "Axborotlashgan iqtisod" kabi tushunchalar hayotimizga kirib kelishi jamiyatimizning axborotlashishiga intensiv ta'sir ko`rsatmoqda. Axborot – kommunikatsiyalari orqali mamlakatlarning milliy iqtisodi globallashib, axborotlashgan iqtisod shakliga o'tmoqda, ya'ni milliy iqtisoddagi axborot va bilimlarning atilgan ax borot va bilimlarning 90 % so'nggi 30 yil mobaynida yaratilgan bo'lib, ular hajmining ko'payib borishi axborot - kommunikatsiyalaridan samarali foydalanishni talab etmoqda. Ko'plab mamlakatlar o'zlarining istiqboldagi rivojlanishini axborot - kommunikatsiyalar i asosida yo'lga qo'yishni anglab yetishgan. Mustaqil O'zbekiston Respublikamizda ham jamiyatni axborotlashtirish, kompyuter ilmini o’qitishni rivojlantirish bo'yicha Qonunlar qabul qilinib, ular asosida bir qator dastur va tadbirlar amalga oshirib kelinmo qda. Jumladan, O'zbekiston Respublikasi Prezidentining «Axborotlashtirishni yanada rivojlantirish to'g'risida» 2002 - yil 30 - maydagi PF -3080 -son Farmoni asosida 2010 - yilgacha Axborot - kommunikatsiyalarini rivojlantirish bo'yicha milliy dastur ishlab chiq ilgan bo'lib, u hozirda butun respublikamiz milliy iqtisodiyotning turli tarmoqlari va sohalarida tatbiq qilinmoqda. Jamiyat hayotiga axborotlarni kеng darajada kirib kеlishi fuqarolarga axborot olishga bo‘lgan imkoniyatlar eshigini ochib bеrdi. Mazkur o‘zgarishlar birinchi navbatda, yangi axborot kommunikatsiyalarini ta'siri ostida yuz bеrib, inson faoliyatining har bir sohasida axborotga bo‘lgan ehtiyojning ortishi bilan tavsiflanadi. Bugungi kunda mutaxassislar axborotni asosiy bеlgisi sifatida ma'lumotni qayta ishlash jarayonining muayyan bosqichlarga bo‘linishini e'tirof etadilar. Bu esa, o‘z navbatida, ushbu jarayonning batamom tartibga solinishi va uni avtomatlashtirilgan holga o‘tkazilishi uchun yangi imkoniyat yaratib bеrdi.Hozirda jurnali stikani tezkor axborotlarsiz tassavvur qilish qiyin. OAV’ning qaysi turiga
4 nazar tashlamang, axborotni istе'molchiga uzatish jarayonida, aynan jurnalistika hodimlari ishiga guvoh bo’lasiz. XXI asr jahon hamjamiyati tomonidan “axborot kommunikatsiyalari asr i” dеya e'tirof etilmoqda. Bunday sharoitda bilim, axborotga egalik ishlab chiqarish va iqtisodiy aloqalar ustidan hukmronlik qilish imkonini bеradi. Kompyutеr madaniyatining kirib kеlishi tufayli insonning o‘z ustida ishlashi, malakasini oshirishga intili shiga asoslangan fikrlash, bilim olishning yangi ko‘rinishi yuzaga kеldi.Bu esa isonda axborotga bo’lgan talabni kuchaytiradi.O’z navbatida bu axborotlar kurashuvini belgilab beradi. Kurs ishnin g tuzilishi: Kurs ishi kirish, uchta bob, xulosa, foydalanilgan adabiyotlar hamda internet resurslar ro‘yxatidan iborat.
5 I-BOB. C++ DASTURLASH TILIDA KO‘RSATKICHLAR, ADRES OLUVCHI O‘ZGARUVCHILAR 1.1. Ko’rsatkich tush unchasi va uni to`g`ri qo`llash C ++ tilining eng katta afzalliklaridan biri shundaki, u mashina darajasidan abstraktlash paytida yuqori darajadagi dasturlarni yozish, shu bilan birga kerak bo'lganda apparatga yaqin ishlash imkoniyatini ham beradi. C ++ ilova ishlashini bayt va bit daraj asida sozlash imkonini beradi. Ko'rsatkichlarning qanday ishlashini tushunish tizim resurslaridan samarali foydalanadigan dasturlarni yozishni o'rganish bosqichlaridan biridir. Ko’rsatkichlar. Ko’rsatkich – bu maydon manzilini xotirada saqlaydigan o'zgaruvchidir. int o'zgaruvchisi butun qiymatni saqlash uchun ishlatilgandek, ko'rsatgich o'zgaruvchisi xotira maydoni manzilini saqlash uchun ishlatiladi (1 - rasm). Shunday qilib, ko'rsatkich o'zgaruvchidir va barcha o'zgaruvchilar singari u ham xotiradan joy egallaydi (1 -rasmda 0x101 manzilda). Ko'rsatkichlarni maxsus ko’rinishga keltiradigan xususiyat shundaki, ular tarkibidagi qiym atlar (bu holda, 0x558) xotira maydonlarining manzillari sifatida talqin etiladi. Demak, ko'rsatkich - bu xotiradagi maydonni ko'rsatadigan maxsus o'zgaruvchidir. Xotira manzillari odatda o'n oltilik sanoq sistemasida ko'rsatiladi, ya'ni 16 xil belgilar yordamida - 0-9, so'ngra A -F. An'anaga ko'ra 0x prefiksi o'n oltilik sanoq sistemasidan oldin yoziladi. Shunday qilib, 0xA o'n oltilik oltilik sanoq sistemasidagi raqam o'nlik sanoq sistemasida 10ni ifodalaydi; 0xF - 15; va 0x10 – 16 ni ifodalaydi . Ko’rsatkichni e’lon qilish. Ko'rsatkich o'zgaruvchi bo'lgani uchun, uni boshqa har qanday o'zgaruvchi singari e'lon qilish kerak. Odatda, ko'rsatkich ma'lum bir turdagi qiymatga ishora qiladi (masalan, int tipiga). Bu shuni anglatadiki, ko'rsatkichda joy lashgan manzil butun sonni o'z ichiga olgan xotiradagi maydonga 0x101 manzilidagi ko'rsatkich 0x558 qiymatini o'z ichiga oladi Xotiradagi ma'lumotlar 0x558 manzili da