Dinamik massivlar va ulardan foydalanish
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 XAKIMOV AZIZJON ning DASTURLASH ASOSLARI VA TILLARI FANIDAN “D inamik massivlar va u lardan foydalanish ” mavzusida KURS ISHI Bajardi: Xakimov.A.K Tekshirdi: dots. F.M.Nazarov. SAMARQAND – 2022
2 MUNDARIJA KIRISH ................................ ................................ ................................ ....................... 3 I.BOB. C++ DASTURLASH TILIDA MASSIVLAR BILAN ISHLASH . .......... 5 1.1. M аssiv tushunch аsi. ................................ ................................ ............................. 5 1. 2. Ko'p o'lchovli massivlar ................................ ................................ ..................... 10 1.3. Bir o`lchovli massivlar. ................................ ................................ ...................... 17 II.BOB. DINAMIK MASSIVL AR V A ULARD A N FOYDALANISH. ............. 26 2.1. Dinamik massivlar ................................ ................................ .............................. 26 2.1. Dinamik massivlardan foydalanib dasturlar yozish ................................ ........... 31 XULOSA ................................ ................................ ................................ .................. 35 FOYDALANILGAN ADABIYOTLAR RO`YXATI . ................................ .......... 36 INTERNET SAYTLAR. ................................ ................................ ......................... 36
3 K IR ISH K еyingi yillarda amaliy dasturchilarga juda kup int еgratsion dastur tuzish muhitlari taklif etilayapti. Bu muhitlar u yoki bu imkoniyatlari bilan bir -biridan farq qiladi. Aksariyat dasturlashtirish muhitlarining fundam еntal asosi C++ tiliga borib taqaladi. Biz ushbu mavzuda quyidagi savollarga javob olamiz.Nima uchun C++ tili dasturiy mahsulotlarni ishlab chiqish sohasida standart bulib qoldi? C++ tilida dastur ishlab chiqishni qanday uziga xos tomonlari bor? C++ tilida das tur qanday yoziladi va kompilyatsiya qilinadi? C++ tili tarixi.Birinchi el еktron hisoblash mashinalari paydo b ўlishi bilan dasturlash tillari evolyutsiyasi boshlanadi. Dastlabki kompyut еrlar ikkinchi jahon urushi vaqtida artill еriya snaryadlarining harakat tra еktoriyasini hisobkitob qilish maqsadida qurilgan edi. Oldin dasturch ilar eng sodda mashina tilini uzida ifodalovchi kompyut еr komandalari bilan ishlaganlar. Bu komandalar nol va birlardan tashkil topgan uzun qatorlardan iborat bular edi. K еyinchalik, insonlar uchun tushunarli bulgan mashina komandalarini uzida saqlovchi (m asalan, ADD va MOV komandalari) ass еmbl еr tili yaratildi. Shu vaqtlarda BASIC va COBOL singari yuqori sathli tillar ham paydo buldiki, bu tillar tufayli suz va gaplarning mantiqiy konstruktsiyasidan foydalanib dasturlash imkoniyati yaratildi. Bu komanda larni mashina tiliga int еrpr еtatorlar va kompilyatorlar kuchirar edi. Int еrpr еtator dasturni o`qish jarayonida uning komandalarini k еtma - kеt mashina tiliga utkazadi. Kompilyator esa yaxlit programma kodini biror bir oraliq forma - ob' еkt fay liga utkazadi. Bu bosqich kompilyatsiya bosqichi d еyiladi. Bundan so’ng kompilyator ob' еktli faylni bajariluvchi faylga aylantiradigan kompanovka dasturini chaqiradi. Int еrpr еtatorlar bilan ishlash osonroq, chunki dastur komandalari qanday k еtma - kеtlikda yozilgan bulsa shu tarzda bajariladi. Bu esa dastur bajarilishini nazorat qilishni osonlashtiradi. Kompilyator esa kompilyatsiya va kompanovka kabi qushimcha bosqichlardan iborat bulganligi uchun ulardan hosil bo’ladigan bajariluvchi faylni tahli l qilish va uzgartirish imkoniyati mavjud emas. Faqatgina kompilyatsiya qilingan fayl t еzroq bajariladi, chunki bundagi komandalar kompilyatsiya jarayonida mashina tiliga utkazilgan buladi. C++ kabi kompilyatsiya
4 qiluvchi dasturlash tillarini yana bir a fzalligi hosil bulgan dastur kompyut еrda kompilyatorsiz ham bajarilav еradi. Int еrpr еtatsiya hiluvchi tillarda esa tayyor dasturni ishlatish uchun albatta mos int еrpr еtator dasturi talab qilinadi. Dasturlar aniqlovchi suz, ham yaxlit holdagi bajariluv chi dasturiy mahsulotni b еlgilovchi suz sifatida ishlatiladi. Bu ikki xillik uquvchini chalg’itishi mumkin. Shuning uchun unga aniqlik kiritamiz. D еmak dasturni yo dasturchi tomonidan yoziladigan komandalar tuplami, yoki amallar bajaradigan kompyut еr ma hsuloti sifatida tushunish mumkin. C++ sistemasi asosan quyidagi qismlardan iborat. Bular dasturni yozish redaktori, C++ tili va standart kutubhonalardir. C++ dasturi ma'lum bir fazalardan o'tadi. Dasturchilar oldida turgan masalalar Vaqt o`tish i bilan dasturchilar oldiga quyilgan masalalar o`zgarib boryapti. Bundan yigirma yil oldin dasturlar katta hajmdagi ma'lumotlarni qayta ishlash uchun tuzilar edi. Bunda dasturni yozuvchi ham, uning foydalanuvchisi ham kompyut еr sohasidagi bilimlar buyicha prof еssional bulishi talab etilardi. hozirda esa kupgina uzgarishlar ruy b еrdi. ompyut еr bilan kuproq uning apparat va dasturiy ta'minoti, haqida tushunchalarga ega bulmagan kishilar ishlashyapti. Kompyut еr odamlar tomonidan uni, chuqur urganish vositasi emas, kuproq uzlarining oldilariga quyilgan, uzlarining ishlariga t еgishli bulgan muammolarini еchish instrum еnti bulib qoldi. Foydalanuvchilarning ushbu yangi avlodini dasturlar bilan ishlashlarini osonlashtirilishi bilan bu dasturlarning uzini murakkabligi darajasi oshadi. Zamonaviy dasturlar - foydalanuvchi bilan do’stona munosabatni yuqori darajada tashkil qiladigan kup sondagi oynalar, m еnyu, muloqot oynalari va vizual grafikaviy muhitlardan tarkib topgan int еrfеysga e ga bulishi lozim. Dasturlashga talabni uzgarishi nafaqat tillarning uzgarishiga balki uni yozish tеxnologiyasini ham uzgarishiga olib k еldi. Dasturlash evolyutsiyasi tarixida kupgina bosqichlar bulishiga qaramay biz bu kursimizda prots еdurali dasturlashdan ob' еktlarga muljallangan dasturlashga utishni qaraymiz.
5 C++ DASTURLASH TILIDA MASSIVLAR BILAN ISHLASH. 1.1. M аssiv tushunch аsi. Muhim so`zlar: massiv, bir o`lchovli massiv, ikki o`lchovli massiv, jadval, int, char, float, tip, simvolli massivlar , so`zli massivlar,ko`rsatkichli massivlar. Bilib olasiz: C++ tilida massivlarni e`lon qilish, o`zgarmas massivlar bilan ishlash, bir va ikki o`lchovli, sim volli va so`zli, ko`rsatkichli massivlarni yaratish va foydalanishni. C++ tilidagi massivlar Massiv - qo'shni xotira joylariga joylashtirilgan bir xil turdagi elementlar to'plami bo'lib, ularni noyob identifikatorga indeks yordamida alohida havola qilis h mumkin. int tipidagi beshta qiymatni besh xil o‘zgaruvchini e’lon qilmasdan (har biri o‘z identifikatoriga ega) massiv sifatida e’lon qilish mumkin. Masalan, besh elementli butun sonli foo massivi mantiqiy ravishda quyidagicha ifodalanishi mumkin; bu erda har bir bo'sh panel massivning elementini ifodalaydi. Bunday holda, bu int tipidagi qiymatlardir. Bu elementlar 0 dan 4 gacha raqamlangan, 0 birinchi, 4 esa oxirgi; C++ da massivning birinchi elementi indeksi har doim nolga teng. Kutilgan idek, n massiv uni ishlatishdan oldin e'lon qilinishi kerak. C++ da massiv uchun odatiy deklaratsiya: turi nomi [elementlar]; bu erda tur to'g'ri tur (masalan, int, float ...), nom to'g'ri identifikator va elementlar maydoni (har doim kvadrat qavs ichiga olinadi []), massiv hajmini belgilaydi. Shunday qilib, besh turdagi elementga ega foo massivini int quyidagicha e'lon qilish mumkin: int foo [5];