To‘plam
Yana bir fundamental ma’lumotlar sinfiga kiruvchi to‘plamli tiplar to‘g‘risida ma’lumot beramiz.
Ma’lumki, qandaydir elementlar nabori to‘plam deyiladi.
Dasturlash tillarida bu ma’lumotga tegishli tip quyidagicha aniqlanadi:
type T = SET of To
bu yerda To to‘plam komponentasini tipi.
Misollar:
type
Bitset = SET of [0..15];
Bukva = SET of [‘a’.. ‘z’];
To‘plam tipli o‘zgaruvchilar xuddi avvalgi ma’lumotlar kabi quyidagicha aniqlanadi:
Var
B: Bitset;
t: Bukva;
Bu yerda B va t o‘zgaruvchilar uchun quyidagi o‘zlashtirish amallarini bajarish mumkin:
B: = {2,3,5,7,11,13};
t [3]: = ‘d’;
Barcha to‘plamli tiplar uchun quyidagi elementar amallar aniqlangan:
* - to‘plamlarni kesishmasi,
+ - to‘plamlarni birlashmasi,
in – berilgan elementni to‘plamga yozishini aniqlash.
Qolgan ma’lumotlarni o‘quvchi N.Virtning “Алгоритмы и структуры данных” kitobidan o‘qib olishi mumkin.
9.1.1.3. Ma’lumotlar tarkibi ustida bajariladigan amallar
Ixtiyoriy ma’lumotlar tarkibi ustida 4 ta umumiy amallar bajarilishi mumkin: yaratish, yo‘q qilish, tanlash (ruxsatli kirish) va yangilash.
Yaratish (ruscha: создание) amali ma’lumotlar tarkibi uchun xotira ajratishga kerak bo‘ladi. Xotira dasturni bajarilish jarayonida yoki kompilatsiya bosqichida ajratilishi mumkin. Qator tillar (masalan, C da) da dasturchi tomonidan yaratiladigan tarkiblashtirilgan ma’lumotlar uchun yaratish o‘ziga yaratilayotgan tuzilmani parametrlarini boshlang‘ich qiymatini belgilashni ham o‘z ichiga oladi.
Misol uchun, PL/1 tilida DECLARE N FIYED DECIMAL operatori N o‘xgaruvchi uchun xotira hajmi adresini ajratishga olib keladi, Pascalda (I: integer) va C (int I) da o‘zgaruvchini tipini e’lon qilish bilan mazkur o‘zgaruvchi (bu holda I o‘zgaruvchi uchun) xotira ajratiladi. Dasturda e’lon qilingan ma’lumotlar tarkibi uchun yo kompilyatsiya bosqichida tizimli dasturlash vositalari yordamida avtomatik holda yoki o‘zgaruvchilarda e’lon qilingan prosedura blokini aktivlashtirish (faollashtirish) da xotira ajratiladi. Dasturchining o‘zi ham tizimli dasturlash dasturiy ta’minotida mavjud xotirani ajratish va bo‘shatish prosedura / funktsiyalari orqali ma’lumotlar tarkibi uchun kerakli xotirani ajratish mumkin.
Ob’yektga mo‘ljallangan dasturlash tillarida yangi ob’yektlarni hosil qilishda ular uchun yaratish va yo‘qotish (уничтожения) prosedurasu aniqlangan bo‘lishi kerak.
Eng muhimi shundan iboratki, qanday dasturlash tilini ishlatishidan qat’iy nazar dasturda ma’lumotlar tarkibi “hech narsadan hech narsasiz” paydo bo‘lmaydi va tarkiblarni yaratish algoritmlari yordamida oshkor va oshkormas holda e’lon qilinadi. Buning natijasida dasturdagi barcha ma’lumotlar tarkibini xotirada joylashtirish uchun xotira ajratiladi.
Yo‘qotish (o‘chirish, ruscha уничтожение) o‘z harakat bo‘yicha yaratish amaliga qarama-qarshidir.
Basic, Fortran kabi ba’zi bir dasturlash tillari yaratilgan. PL/1, C, Pascal tillarida dasturni bajarilish jarayonida mazkur blokdan chiqishda blokni ichida bo‘lgan ma’lumotlar tarkibi o‘chiriladi (yo‘qotiladi). O‘chirish amali xotirasi effektiv ishlatishni ta’minlaydi.
Endi tanlash amaliga tasnif beramiz . tanlash amali tarkibni o‘zini ichida bo‘lgan ma’lumotlarga ruxsatli kirish (ruscha: доступ) uchun dasturchilar ishlatiladilar. Ruxsatli kirish amali murojaat qilinadigan ma’lumotlar tarkibi tipiga bog‘liq bo‘ladi. Ruxsatli kirish usuli tarkiblarni eng muhim hossalaridan biri hisoblanadi. Ayniqsa bu ham tarkibning xossasi to‘g‘ridan-to‘g‘ri aniq bir ma’lumotlar tarkibini tanlash bilan bog‘liq bo‘ladi.
Yangilash amali ma’lumotlar tarkibiga ma’lumotlar qiymatini yangilashga imkon beradi. Yangilash amaliga misol sifatida o‘zlashtirish operatori yoki yanada murakkabroq bo‘lgan parametrlarni jo‘natish (berish, ruscha: передат) formasiga bog‘liq.
Yuqorida keltirilgan 4 ta amal ma’lumotlarning barcha tarkiblari va tiplari uchun yaroqlidir. Bu umumiy amallar bilan bir qatorda har bir ma’lumotlar tarkibi uchun faqat berilgan tipli ma’lumot bilan ishlovchi spesifik amal ham aniqlangan bo‘lishi mumkin. Spesifik amallar har bir aniq ma’lumotlar tarkibida e’tiborga olinadi.
Dostları ilə paylaş: |