Aslanov shohjahon uzoqovichning 2-laboratoriya ishi qabul qildi
Download 0.68 Mb. Pdf ko'rish
|
Ma\'lumotlar tuzilmasi va algoritmlar fanidan 2-laboratoriya ishi
- Bu sahifa navigatsiya:
- ASLANOV SHOHJAHON UZOQOVICH NING 2-LABORATORIYA ISHI Qabul qildi
O’ZBEKISTON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI MUHAMMAD AL-XORAZMIY NOMIDAGI TOSHKENT AXBOROT TEXNOLOGIYALARI UNIVERSITETI QARSHI FILIALI Kompyuter injiniringi FAKULTETI III-BOSQICH KI-13-20 GURUH TALABASI ASLANOV SHOHJAHON UZOQOVICHNING 2-LABORATORIYA ISHI Qabul qildi: 2-laboratoriya mashg’uloti Statik ma’lumotlar tuzilmasini o’rganish. Ishdan maqsad: Statik ma’lumotlar tuzilmasini o‘rganish va ularni tadqiq qilish. Qo‘yilgan masala: C++ tilida statik toifadagi ma’lumotlar tuzilmalarini yaratish va ularga doir misollarning dasturini ishlab chiqish. Ish tartibi: Tajriba ishi nazariy ma’lumotlarini o‘rganish; Berilgan topshiriqning algoritmini ishlab chiqish; C++ dasturlash muhitida dasturni yaratish; Natijalarni tekshirish; Hisobotni tayyorlash va topshirish. Nazariy qism. Massiv va uni aniqlash. Massiv elementlariga murojaat qilish. Bir hil tipdagi miqdorlar ustida biror amalni (amallar ketma-ketligini) bajarish talab etilganda massivlardan foydalaniladi. Shuni aytish kerakki agar ushbu miqdorlarning har biriga dastur ishi davomida faqat bir marta murojaat qilinsa, unda bunday masalalarni massivlardan foydalanmasdan ham ishlab chiqish mumkin. Masalan sonlar ketma-ketligning maksimumi, minimumi, yig‘indisi yoki o‘rta arifmetigini topish talab etilsa, massivdan foydalanish shart emas, chunki bunjay masalalarda har bir miqdorga bir marta murojaat kilish yetarli. Lekin berilgan miqdorlar ketma- ketligida nechta miqdor ularning o‘rta arifmetik qiymatidan katta ekanligini aniqlash uchun massivdan foydalanish zarur, chunki o‘rta arifmetik miqdor hisoblab topilgandan so‘ng o‘rta arifmetik miqdordan katta sonlarni aniqlash uchun miqdorlarga yana bir marta murojaat qilish zarur. Massiv – bir tipga tegishli miqdorlarning nomerlangan ketma-ketligi bo‘lib, massivning har bir elementiga murojaat qilish uchun massivning nomi, shu elementning ketma-ketlikdagi nomeri (indeksdan) foydalaniladi. Massiv elementlari kompilyator tomonidan xotirada ketma-ket joylashtiriladi va shu sababli uning biror elementiga murojaat qilishda, massivning boshlanish adresi va element nomerini bilish yetarli. C++ tilida massiv quyidagicha e’lon qilinadi Yuqoridagi misolda 10 butun tipdagi sondan tashkil topgan massiv e’lon qilingan. C++ tilida massiv elementlari 0 dan boshlab indekslanadi. Demak massivda 10 element mavjud bo‘lsa, birinchi elementning nomeri 0 va oxirgi elementning nomeri 9 ga teng bo‘ladi. XOTIRA … 1620 1624 1628 1632 1636 1640 1644 1648 1652 1656 1660 1664 1672 1676 … Massiv indeksi 0 1 2 3 4 5 6 7 8 9 Massiv qiymati 8 13 24 6 -8 19 31 -13 66 105 Keltirilgan rasmda A massivning xotirada joylashishining mumkin bo‘lgan holatlaridan biri keltirilgan. Massiv elementlarini joylashtirish 1624 – adresdan boshlanadi, har bir element butun tipda bo‘lgani uchun xotirada 4 baytdan joy egallaydi, shu sababli butun massiv 40 bayt joyni band qiladi. 0 – indeksli element 1624, 1625, 1626, 1627 baytlarni egallaydi, 1 – element 1628 baytdan boshlab 4 ta ketma-ket baytni egallaydi va xakozo. Eng oxirgi 9 – indeksli element xotirada 1660 baytdan boshlab joylashtiriladi va 1660, 1661, 1662 hamda 1663 baytlarni egallaydi. 1664 baytdan boshlab xotida boshqa o‘zgaruvchilar uchun ajratilishi mumkin. Kompilyator massivning ixtiyoriy element adresini quyidagi formula asosida aniqlaydi: 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴[𝑖]) = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴) + 𝑠𝑖𝑧𝑒𝑜𝑓(𝑖𝑛𝑡) ∗ 𝑖 Bu yerda = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴) massining boshlanish adresi keltirilgan misolda 1624 ga teng, shuning 𝑠𝑖𝑧𝑒𝑜𝑓 funksiyasi tipning uzunligini (aniqrog‘i shu tipga tegishli qiymatlarning xotirada egallaydigan joyini) aniqlaydi, int tipi uchun bu 4 baytni tashkil etadi. Masalan 7 elementning adresi yuqoridagi formulaga ko‘ra 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴[7]) = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴) + 𝑠𝑖𝑧𝑒𝑜𝑓(𝑖𝑛𝑡) ∗ 7 = 1624 + 4 ∗ 7 = 1624 + 28 = 1652 Umumiy holda agar A massiv int A[10]; yuqoridagi formula quyidagicha yoziladi: 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴[𝑖]) = 𝑎𝑑𝑑𝑟𝑒𝑠𝑠(𝐴) + 𝑠𝑖𝑧𝑒𝑜𝑓(𝑎𝑛𝑦𝑡𝑦𝑝𝑒) ∗ 𝑖, 𝑖 = 0 … 𝑁 − 1 Keltirilgan xususiyatlar massivni bir hil tipdagi va bir hir tarzda qayta ishlanadigan ma’lumotlarni saqlash uchun ajoyib vositaga aylantiriladi. Massiv elementiga murojaat qilish uchun indeks qiymati sifatida istalgan manfiy bo‘lmagan (ishorasiz) butun tipdagi miqdordan (hususan, sondan, butun tipdagi o‘zgaruvchidan, butun tipdagi qiymatni qaytaruvchi arifmetik ifoda yoki funksiyadan) foydalanish mumkin. Download 0.68 Mb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling