Mustaqil ishi Bajardi: swd017-guruh talabasi Axmatxanov Afzalbek



Download 0,62 Mb.
Sana25.11.2019
Hajmi0,62 Mb.
#27062
Bog'liq
MTvA M1

O’zbekiston Respublikasi Axborot Texnologiyalari va Komunikatsiyalarini rivojlantirish vazirligi Muxammad Al-Xorazmiy nomidagi Toshkent axborot Texnologiyalari universiteti Tizimli va amaliy dasturlashtirish kafedrasi Ma’lumotlar tuzilmasi va algoritmlar fani bo’yicha

Mustaqil ishi

Bajardi: SWD017-guruh talabasi

Axmatxanov Afzalbek

Qabul qildi: Muminov Sanjar

С++ dasturlash tilida ma’lumotlar turlari. Massiv va vektorlarning farqi. Reja:

  • Ma’lumot turlari
  • Massivlar
  • Vektorlar
  • Massivlar va vekrorlar farqi.

Ma’lumotlar turlari

  • Barcha o'zgaruvchilar deklaratsiya davomida ma'lumotlar turini ishlatadilar, bunda saqlanadigan ma'lumotlar turini cheklashadi. 
  • Shuning uchun, biz ma'lumotlarning turlari o'zgaruvchiga saqlanishi mumkin bo'lgan ma'lumot turini aytib berish uchun ishlatiladi, deb ayta olamiz. 
  • Qachonki har qanday o'zgaruvchi C ++ da aniqlansa, kompilyator u e'lon qilingan ma'lumotlar turiga asoslanib ushbu o'zgaruvchiga ba'zi xotirani ajratadi. Har bir ma'lumot turi uchun har xil hajmdagi xotira talab qilinadi

Oddiy ma'lumotlar turlari : Ushbu ma'lumotlar turlari o'rnatilgan yoki oldindan belgilangan ma'lumotlar turlaridan iborat bo'lib, foydalanuvchi o'zgaruvchini e'lon qilish uchun bevosita foydalanishi mumkin. masalan: int, char, float, bool va boshqalar. C ++ da mavjud bo'lgan dastlabki ma'lumotlar turlari:

Oddiy ma'lumotlar turlari : Ushbu ma'lumotlar turlari o'rnatilgan yoki oldindan belgilangan ma'lumotlar turlaridan iborat bo'lib, foydalanuvchi o'zgaruvchini e'lon qilish uchun bevosita foydalanishi mumkin. masalan: int, char, float, bool va boshqalar. C ++ da mavjud bo'lgan dastlabki ma'lumotlar turlari:

  • Integer
  • Character
  • Boolean
  • Floating Point
  • Double Floating Point
  • Valueless or Void
  • Wide Character

Hosil bo'lgan ma'lumotlar turlari: ibtidoiy yoki o'rnatilgan ma'lumotlar turlaridan olingan ma'lumotlar turlari, hosil qilingan ma'lumotlar turlari deb nomlanadi. Bular to'rt xil bo'lishi mumkin, xususan:

Hosil bo'lgan ma'lumotlar turlari: ibtidoiy yoki o'rnatilgan ma'lumotlar turlaridan olingan ma'lumotlar turlari, hosil qilingan ma'lumotlar turlari deb nomlanadi. Bular to'rt xil bo'lishi mumkin, xususan:

    • Function
    • Array
    • Pointer
    • Reference
    • Xulosa yoki foydalanuvchi belgilaydigan ma'lumotlar turlari : Ushbu ma'lumotlar turlarini foydalanuvchi o'zi belgilaydi. Masalan, C ++ yoki tuzilishdagi sinfni belgilash. C ++ quyidagi foydalanuvchi belgilaydigan ma'lumotlar turlarini taqdim etadi:

  • Class
  • Structure
  • Union
  • Enumeration
  • Typedef defined DataType

Massivlar

  • Massivlar ma'lum bir turdagi elementlarning ma'lum sonini o'z ichiga oladi.
  • Dasturni tuzishda kompilyator kerakli bo'sh joyni zaxiralashi uchun, u aniqlanganda massiv tarkibidagi elementlarning turini va sonini ko'rsatishingiz kerak.
  • Dasturni tuzishda kompilyator ushbu qiymatni aniqlay olishi kerak.
  • Massiv aniqlangandan so'ng, massivning o'ziga xos elementlariga kirish uchun indeks bilan birga qator uchun identifikatordan foydalanasiz.
  • [...] massivlar null indekslangan; ya'ni birinchi element 0 indeksida.
  • Ushbu indekslash sxemasi ko'rsatgichlar va massivlar va ko'rsatgichlar arifmetikasi uchun til belgilaydigan qoidalar o'rtasida C ++ bilan yaqin aloqani ko'rsatadi.

Vektorlar

    • Vektor - bu [] massiviga tasodifiy kirishni ta'minlaydigan dinamik kattalikdagi ob'ektlar ketma-ketligi.
  • Push_back funktsiyasi nusxasi konstruktoridan foydalanib, o'z argumentlarini nusxa ko'chiradi, nusxani vektorga oxirgi element sifatida qo'shadi va hajmini bittaga oshiradi.
  • pop_back oxirgi elementni o'chirib, buning aksini qiladi.
  • Vektor oxiridan elementlarni qo'shish yoki yo'q qilish amortizatsiya qilingan doimiy vaqtni oladi, boshqa joydan kiritish yoki o'chirish esa chiziqli vaqtni oladi.

Massiv va vektorlar orasidagi farq

  • Ko'p holatlarda, C ++uslubidagi massivda vektor sizning birinchi tanlovingiz bo'lishi kerak.
  • Birinchidan, ular dinamik hajmga ega, bu kerak bo'lganda o'sishi mumkinligini anglatadi.
  • S massivlarida bo'lgani kabi, maqbul statik hajmni aniqlash uchun siz har qanday turdagi tadqiqotlarni o'tkazishingiz shart emas; vektor kerak bo'lganda o'sadi va agar kerak bo'lsa, uni ko'proq yoki kamroq qo'l bilan o'zgartirish mumkin.
  • Ikkinchidan, vektorlar a'zo funktsiyasidan foydalangan holda chegarani tekshirishni taklif qiladilar (lekin [[operatori bilan emas]]).
  • Demak, siz biron bir mavjud bo'lmagan indeksga murojaat qilsangiz ham, biron bir dastur ishlamasligini yoki undan ham yomonrog'ini kuzatmasangiz, Buzuq ma'lumotlar bilan ishlashni davom ettirish.

Massivlar

Massivlar

  • Elementlarning faqat izchil, indekslangan ketma-ketligini ta'minlash;
  • Belgilangan o'lchamga ega bo'lish; massivni o'lchamini C ++ da o'zgartira olmaysiz ;
  • Ularning hajmi agar dinamik ravishda taqsimlanmagan bo'lsa, kompilyatsiya vaqtining doimiysi bo'lishi kerak;
  • Ular saqlash joyini siz e'lon qilgan sohaga qarab oladilar;
  • Agar ular dinamik ravishda ajratilgan bo'lsa, siz shunchaki ko'rsatgich olasiz va ularning hajmini aniqlay olmaysiz;
  • Ko'p holatlarda avtomatik ravishda ko'rsatkichlarga bo'linadi;
  • Funktsiyadan qaytarib bo'lmaydi;
  • to'g'ridan-to'g'ri nusxa ko'chirish yoki tayinlash mumkin emas;
  • Ob'ektlarning dinamik qatorlari standart konstruktorni talab qiladi, chunki avval ularning barcha elementlari qurilishi kerak;

Vektorlar

  • dinamik qator sifatida amalga oshirildi;
  • dinamik ravishda o'sib boradi va shartnoma tuzadi;
  • avtomatik ravishda yo'q qilinishdan ozod bo'lgan uning xotirasini boshqaradi;
  • funktsiyalardan uzatilishi yoki qaytarilishi mumkin (qiymat bo'yicha);
  • nusxa ko'chirish / tayinlash mumkin
  • ko'rsatgichlarga bo'linmaydi, ammo siz aniq ma'lumotlar uchun ko'rsatgichni olishingiz mumkin (& vec [0] kutilganidek ishlashi kafolatlangan);
  • har doim ichki dinamik qatorni o'z o'lchamlari (elementlarning soni saqlangan) va sig'imi (hozirgi tanlangan blokda qancha element saqlanishi mumkinligi) bilan birlashtiradi;
  • shu sababli, ular kichik, qisqa umrlangan mahalliy massivlar uchun "oddiy" qatorlarga qaraganda samaraliroq bo'lishi mumkin;
  • doimiy ob'ektlar uchun standart konstruktorni talab qilmaydi;

Vektorga element qo’shish va o’cherish dasturi

E’tiboringiz uchun rahmat!!!


Download 0,62 Mb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish