Internet Derazalar Android
Kengaytirmoq

Raqamli o'zgaruvchilar va ma'lumotlar turlari. Delphi ma'lumotlar turlari va delphi ma'lumotlar turi bilan ishlash

Ma'lumot turlaridan foydalanib, dasturchi kompilyatorni belgilaydi, bu dasturda ma'lumotlarni qanday saqlash kerak. O'zgaruvchini e'lon qilganda, siz uning turini ko'rsatishingiz kerak. Ba'zi turlar allaqachon tilda aniqlanadi, boshqa dasturchi so'rash kerak. Ilgari dasturlash tillarida cheklangan miqdordagi ma'lumotlar turlariga ruxsat berildi va Paskal Bu yangi turlar dasturida ta'rifga imkon beradigan birinchi tillardan biri bo'lib chiqdi.

Foydalanuvchi tomonidan belgilangan ma'lumotlar turlari odatda dastur sifati tavsifi yoki modulini (birligi) o'rnatadi, ammo bu protseduralar yoki funktsiyalar ichida amalga oshirilishi mumkin. Reklama turlari ular joylashtirilgan ushbu blok doirasida amal qiladi. Ushbu blokdan tashqarida bunday turlarga murojaat qilish mumkin emas. Ichkarida ular barcha tashqi turlarni xuddi shu nom bilan almashtiradilar. E'lonli ma'lumotlar turlaridan har qanday joyda ularning ko'rinishi sohasida foydalanish mumkin; Faqat o'z-o'zidan ko'rsatilgan turiga havola qilingan (bu erda, ammo ko'rsatgichlarga nisbatan bitta istisno mavjud).

Paskalda e'lonlarni paskalda e'lon qilish, agar u biron bir dasturda bir yoki boshqa turdagi havolaga javob berishi kerak bo'lgan sxemalarga o'xshaydi. O'z-o'zida, reklama turdagi dasturga hissa qo'shmaydi.

Vab e'lonlariga kelsak, ular kompilyatorni ilgari e'lon qilingan turlarga tegishli ba'zi harakatlarni o'rnatdilar. O'zgaruvchan turdagi qiymati ham, bu qiymatlar bilan bajarilishi mumkin bo'lgan qiymatlarini ham, operatsiyalarni cheklaydi.

Turli xil va o'zgaruvchilarning ta'riflari dastur tarkibiy qismlarining bir nechta joylarida joylashtirilishi mumkin. Ular quyidagicha ko'rinadi.

tur
Tizim \u003d Tagning ta'rifi; // "Type" bo'limida yangi ma'lumotlar turlari aniqlanadi. Har bir yangi
// Turni tayinladi, keyin u allaqachon aniqlanadi
// mavjud turlar.
Typ2 \u003d Type__Definit2; // bitta "Tur" bo'limida siz bir nechta turlarni e'lon qilishingiz mumkin.
// Turning eng oddiy ta'rifi turi nomidan iborat,
Tyst3 \u003d namuti; // ilgari aniqlangan.
// yangi o'zgaruvchilar e'lon qilinadi
"Var" bo'limida. Har bir yangi
Var1: Turli ta'riflar; // O'zgaruvchan ismini tayinladi, so'ngra turiga ega (yuqoriga qarab)
// ilgari aniqlangan turlar).
Var2, Var3: Turli aniqlik4; // bir qismida "Var" bo'limida siz bir nechta o'zgaruvchini e'lon qilishingiz mumkin.
// bir nechta o'zgaruvchini bir xil turga tayinlash mumkin.
Var4: Tizing; // Belgilar tayinlangan bo'lsa, dasturni o'qish osonroq
// mavjud turlar.

Ob'ekt Paskal Sints-da bir vaqtning o'zida juda murakkab tur va o'zgaruvchilarning ta'rifini tuzishga imkon beradi. Biroq, ma'lum bir bloklar turidagi turdagi turlarni aniqlash dasturning turli qismlarida ushbu turlardan foydalanish imkonini beradi. Yangi turlar quyidagi toifalar turlaridan aniqlanadi.

  • Raqamlar va boshqa "buyurtma qilingan" qadriyatlar shaklida ma'lumotlarni saqlash uchun oddiy turlar.
  • Belgilangan belgilar ketma-ketligi uchun satr turlari.
  • Turli xil ma'lumotlarning ma'lumotlarini bir vaqtda saqlash uchun tarkibiy turlar.
  • Belgilangan turdagi o'zgaruvchilarga bilvosita kirish uchun nuqta turlari.
  • Tarkibi o'zgaruvchilar deb hisoblangan protseduralar va funktsiyalarga murojaat qilish uchun protsessual turlar.
  • Turli xil turdagi bitta o'zgaruvchan ma'lumotlarda saqlash uchun variant turlari.

Odatda identifikatorlari faqat o'zgaruvchilarning yangi turlarini yoki deklaratsiyasini aniqlashda qo'llaniladi. Biroq, bir nechta funktsiyalar mavjud, ulardagi nom operatorning bir qismi sifatida bajarilishi mumkin. Masalan, funktsiya hajmi (t) o'zgaruvchan T. tomonidan band bo'lgan baytlar sonini qaytaradi.

Yarashish funktsiyasi yozish uchun juda muhimdir samarali dasturlar. Ob'ekt paskal turlarida belgilanganlarning aksariyati juda murakkab tuzilishga ega va xotirada juda ko'p joy bo'lishi mumkin. Bunday holda, ba'zi mantiqiy tartibda qiymatlarni taqdim etish uchun qiymatlarni taqdim etish uchun ko'proq turdagi elementlar yaratildi. Xaros xususiyati dasturni bunday holatlardagi ma'lumotlar miqdorini hisoblash zarurligini kamaytiradi.

Oddiy ma'lumotlar turlari

Tartib turlari
Butun turlar
Ramziy turlari
Boolean turlari
Skumeratsiyalangan turlar
Sudasiapan turlari
Yaroqli turlar

Har qanday aslida mavjud ma'lumotlar turi, birinchi qarashda qanchalik qiyin bo'lishidan qat'i nazar, protsessorni boshqarishi mumkin bo'lgan oddiy tarkibiy qismlar. Ajall paskalda ushbu oddiy ma'lumotlar turlari ikki guruhga bo'linadi: protsessor oson manipulyatsiya qilinishi va taxminan matematik qadriyatlarni ifodalashning haqiqiyligini anglatadi. Tovarlarning tartib va \u200b\u200bhaqiqiy qismida ajratish biroz shartli. Xuddi shu tarzda, oddiy ma'lumotlar raqamlarga va raqamlarga bo'linishi mumkin. Biroq, ob'ekt pascal tilida, tartib va \u200b\u200bhaqiqiy ma'lumotlar boshqacha talqin qilinadi va bu bo'linish ham foydali.

Tartib turlari

Ushbu ketma-ketlarning oddiy turlaridan eng oddiy. Bunday turlarda ma'lumotlar individual elementlar ko'rinishida keltirilgan. Ayni paytda individual elementlar va ularning xotirasi vakillari o'rtasidagi munosabat ushbu elementlarning tabiiy munosabatlarini belgilaydi. Shuning uchun ismlar.

Ob'ekt Paskal ketma-ketlik turlarining uchta guruhini va foydalanuvchi tomonidan belgilangan ikki turni belgilaydi. Guruhlar butun son, ramziy va kamon turlari. Foydalanuvchi tomonidan belgilangan ketma-ketlikdagi turlar listing va sub-iBandlardir.

Har qanday ketma-ketlik turining barcha qadriyatlari buyurtma qilingan ketma-ketlikni shakllantiradi va ketma-ket turdagi o'zgaruvchining o'zgaruvchisining qiymati uning ushbu ketma-ketligidagi o'rni bilan belgilanadi. O'zgaruvchan butun sonlarning turlaridan tashqari, ijobiy va salbiy bo'lishi mumkin, har qanday ketma-ketlik turining birinchi elementi 0, ikkinchi element - 1 raqami va boshqalar mavjud. Butun qiymatning ketma-ketligi eng qiymatga teng. Buyurtma nisbati ushbu operatsiyaning barcha ketma-ket turlari uchun umumiydir. Ushbu turning ba'zi standart funktsiyalari ob'ektlar Paskalka o'rnatilgan. Ular stolda taqdim etiladi. 1.1.

Ajall paskalning barcha ketma-ket turlari uchun butun qiymatlarni tegishli ketma-ketlik turlari qiymatlariga aylantirish uchun bir vazifa o'zgarishi mavjud. Agar t - ketma-ketlik turining nomi bo'lsa, va X - bu X (x) ni x qiymatini x qiymatini x qiymatini x qiymatini sessiyaning ketma-ketligida aylantirgan butun ifoda.

1.1-jadval. Ordiy turdagi operatsiyalar

Operatsiya

Tavsif

Tükal tipidagi minimal qiymati

Seksion tipidagi maksimal qiymati

Ketma-ketlik turining ifoda qiymatining ketma-ketligi. Butun ifoda uchun bu shunchaki ma'nosi. Qolgan tartib turlari uchun buyurtmani jismoniy jihatdan ifodalash butun son sifatida talqin qilinadi. Qaytish qiymati har doim butun turlardan biriga tegishli

Oldingi tartib qiymatida. X-1 ga teng bo'lgan butun rozitsiyalar uchun

Keyingi tartib qiymatida. X + 1 ga teng bo'lgan barcha iboralar uchun

O'zgaruvchining qiymatini 1 ga tenglashtiradi V: \u003d PR (V) ga teng

O'zgaruvchining qiymatini 1 ga tenglashtiradi V: \u003d sc (v)

Butun turlar

Turli turdagi turdagi turlarda ma'lumotlar butun son sifatida taqdim etiladi, i.e. Fraktsion qismga ega bo'lmagan raqamlar. Paskalda belgilangan ba'zi turlar jismoniy (fundamental) va mantiqiy (umumiy) ga bo'linadi. Dasturlashda dasturiy ta'minot miqdorini mikroprosessor va foydalanish muhitiga maksimal darajada samaradorlikning shakllanishiga qarab o'zgaruvchan bo'lganlar miqdorini belgilaydigan mantiqiy sonlar foydalanish qulayroqdir. Fizikaviy barcha turlarga faqat qadriyatlar va jismoniy hajm o'zgaruvchisi bo'lgan hollarda qo'llanilishi kerak. Ob'ekt Paskal quyidagi barcha turlarni belgilaydi.

Butun son
Qisqacha.
Kichikroq.
Uzun.
Bayt
So'z.
Kardinal.

Shuni esda tutingki, ushbu barcha turlardan biri butun son (butun son) deb ataladi. Ba'zida bu chalkashliklarga olib kelishi mumkin, ammo biz uni osonlikcha qo'llashimiz mumkin. Type guruhini qo'llashimiz mumkin. Tye guruhi - dasturda aniq belgilangan. kalit so'z. Jismoniy butun turdagi turdagi turdagi qiymatlar turli xil xotira baytiga qarab turli xil qiymatlar mavjud (bu narx funktsiyasi tomonidan qaytarilgan qiymatga teng) bu tur). Barcha turdagi qiymatlar bo'yicha ko'rsatkichlar jadvalda keltirilgan. 1.2.

1.2-jadval.Jismoniy mashqlar

Oraliq ma'nosi

Jismoniy format

8 bit, belgisi bilan

16 bit, belgi bilan

2 147 483 648-2 147 483 647

32 bit, belgi bilan

8 bit, hech qanday belgi yo'q

16 bit, hech qanday belgi yo'q

Oqsoqollar va jismoniy butun turdagi turdagilar va formatlar formatlari mikroprotsessor va dastur bajarilgan operatsion tizimga bog'liq emas. Ular o'zgarmaydi (yoki hech bo'lmaganda o'zgartirish shart emas) ob'ektlar Paskalning amalga oshirilishi yoki versiyasini o'zgartirish bilan almashtirilmaydi.

Mantiqiy sonlar turlari (butun son va tub) qiymatlari umuman boshqacha tarzda belgilanadi. Jadvaldan ko'rinib turibdiki. 1.3, ular tegishli jismoniy turlar bilan bog'liq emas. E'tibor bering, standart delfi 32-bitli ko'rinishga o'rnatiladi.

1.3-jadval.Mantiq butun turlar

Qadriyatlar oralig'i

Jismoniy format

16 bit, imzo bilan (SMALIGINE)

2 147 483 648-2 147 483 647

32 bit, belgi bilan (uzun)

16 bit, hech qanday alomat (so'z)

32 bit, hech qanday belgi yo'q (uzun)

Amaliy turlar uchun belgilangan barcha operatsiyalar butun ma'lumotlarda amalga oshiriladi, ammo "ketma-ket ketma-ket turlar turlari" bilan emas, raqamlar bilan raqamlar bilan ishlash uchun qulayroqdir. "Jonli" raqamlari singari, butun sonli turlari katlanmillasi (+), chegirma (-) va ko'paytirilishi mumkin (*). Biroq, butun son turlari ma'lumotlariga qo'llaniladigan ba'zi operatsiyalar va funktsiyalar biroz boshqacha ma'noga ega.

Ramziy turlari

Ramziy ma'lumotlarning ma'nosi ekranda yoki printerda ko'rsatiladi. Biroq, belgi turining ta'rifi so'z ramzi ostida nimaga bog'liq bo'lishi mumkin. Odatda, ramziy ma'lumotlar turlari turli xil hajm va ba'zilar o'rtasidagi o'zaro aloqalarni o'rnatadi standart usul Ramziy ma'lumot almashish uchun kodlash / dekodlash. Klassik tilda Paskalda sxema aniqlanmaydi va aniq amalga oshirilgan holda, har biri har birini ishlatishi mumkin edi.

Birinchi mikroprotsessorlar uchun paskal tilini sotishda ASCII (Amerika standarti) deb nomlangan 7 bitli sxema (Amerika standarti) Kod uchun Axborot almashish - Axborot almashish uchun Amerika standart kodi). Ushbu sxema hali ham keng tarqalgan, ammo ma'lumot, qoida tariqasida, 8-bitli xotiralarda saqlanadi. Qo'shimcha vaqt mumkin bo'lgan belgilar sonini ikki baravar oshiradi, ammo kengaytirilgan to'plamni amalga oshirish aSCII ramzi. Ko'pincha standartdan uzoqda. Delphi versiyasining ushbu versiyasi Kengaytirilgan (kengaytirilgan) ANSI (Amerika milliy standartlar instituti - Amerika Milliy standartlar instituti) deb nomlanuvchi 8 bitli belgilar to'plamini belgilaydi. Mayli, ramziy sxemani qabul qilish tizimi buni anglashi mumkin. Oyna uchun operatsion tizimlar Microsoft - bu cheklangan miqdordagi echimlarni o'z ichiga olgan Ansi sxemasi. Eng keng qamrovli xalqaro belgilar to'plamini qo'llash istagida. Butun kompyuter olamida UCode deb nomlangan 16 bitli sxemaga tushadi, unda birinchi 256 belgi Ansi sxemasida belgilangan belgilar bilan to'g'ri keladi.

Ajall paskalda barcha qarashlar bilan moslik, ikkita jismoniy belgining turlari va bitta mantiqiy ravishda aniqlanadi.

Fizik turlar quyida keltirilgan.

Ikki so'zning ramziy turlari (32 bit) yo'q.

Mantiqiy belgi turi char deb nomlanadi. Klassik tilda Paskal char, yagona belgi turi. Delphi Che har doim Ansichar ma'lumotlarining jismoniy turiga to'g'ri keladi. Amerikalik dasturchilarda bir necha yillar davomida bitta intilayotgan xotira hujayrasi bilan aloqasi ko'p yillar davomida ildiz otganligi, ko'pincha boshqa kodlash sxemalaridan foydalanish mumkin emas. Biroq, Internet va butun dunyo bo'yicha dasturlarni xalqaro dasturlarni xalqaro miqyosda munosib muhokama qilish, ramziy ma'lumotlarga bo'lgan munosabatini sezilarli darajada o'zgartirishi mumkin. Qo'llamoq mantiqiy tur Char, boshqa mikroprotsessorlar va charxareare kabi operatsion tizimlar uchun amalga oshirilishi kerak. Har qanday o'lchamdagi chiziqlarni bajara oladigan dasturlarni yozishda ushbu o'lchamni belgilash uchun ushbu o'lchamni belgilash uchun ushbu kattalikdagi funktsiyani qiyinlashtirmasdan qo'llash tavsiya etiladi. CASCR (c) funktsiyasi, C har qanday belgi tur o'zgaruvchisi bo'lsa, S belgisi xotirada taqdim etadigan butun sonni qaytaradi.

Boolean turlari

O'quvning dastlabki bosqichida dasturchilar bir oz kontseptsiyani o'zlashtirmoqdalar, ularning ikki mamlakati ikkitasidan birortaning biron bir narsasi haqida ma'lumot yozish uchun ishlatilishi mumkin. Biroz 0 yoki 1, ha yoki yo'q, yoqilgan yoki pastki qismida, yuqori yoki pastki qismida turishi yoki borishi mumkin. Ajall paskalda haqiqat sifatida ifodalanishi mumkin bo'lgan har qanday narsa haqida ma'lumot (haqiqiy) yoki soxta (yolg'on) Booley o'zgaruvchilarida saqlanadi. Cherning umumiy turlari va ular jadvalda taqdim etiladi. 1.4.

1.4-jadval.Boolean turlarining o'zgaruvchilarining o'lchamlari

2 bayt (ovoz balandligi so'zi)

4 bayt (uzunlik balandligi)

Butun va mantiqqa bo'lingan butun son va ramziy turlarga o'xshashligi sababli, baytebool, Wallbool va Longburul - Fizik turlari, Boolean - mantiqiy. Ammo bu holda bu unchalik emas. To'rt turlari har xil. Boolean Paskal uchun Boolean turi afzal, qolgan boshqa dasturlash tillari va operatsion tizimlari bilan mos ravishda belgilanadi.

Booley tipidagi o'zgaruvchilar faqat to'g'ri (haqiqat) va noto'g'ri qiymatlarni tayinlashi mumkin. Veringbool, Wallboul va Longburun o'zgaruvchilar, odatda nol yoki haqiqiy bo'lmagan holda, odatda nol va haqiqiy bo'lmagan holatlar bilan bog'liq boshqa ketma-ketlik qiymatlarini olishlari mumkin.

Skumeratsiyalangan turlar

Enum turini kiriting \u003d (Birinchi qiymat, qiymat, qiymat, qiymati3, oxirgi qiymat);

Odatda, ushbu turdagi ro'yxatlarda raqamlar va ismlar bo'lmagan diskret qiymatlar mavjud. Tyolean Boolean - bu Paskalning oddiy tartibli turi. Boolean o'zgaruvchilar haqiqiy va soxta ismlar bilan ifodalangan ikkita qiymatni olishlari mumkin va turdagi nuqta paskalda, go'yo u quyidagicha e'lon qilinganidek, ob'ekt paskalda aniqlanadi:

Boolean \u003d (yolg'on, haqiqat);

Boolean tipidagi ob'ektlar Paskalda, taqqoslash amalga oshiriladi, bir xil turdagi turlarning aksariyati ma'lum bir maqsad bilan ta'minlangan noyob ismlar yoki identifikatorlarning ro'yxati keltirilgan. Masalan, siz Myide, MyGren va MyBlue qadriyatlari bilan MyColor (rangim) turini yaratishingiz mumkin (mening qizil, yashil, ko'k, ko'k). Bu juda oddiy bajarildi:

MyCoc \u003d (Minchren, mygen, myule) turini kiriting;

Ushbu satrda to'rtta yangi identifikatorni e'lon qildi: mikolor, miygen, mylue va mival. Mikolorning identifikatori ketma-ketlik turi bilan ajralib turadi, shuning uchun ob'ekt Paskal sintaksisida, ushbu identifikatorni ro'yxatga olingan turlarga ruxsat berilishi mumkin. Qolgan uchta identifikator - bu mikolor turdagi qiymatlar. Ramziy i kabi boolean turlari Quldilik raqam emas va ulardan raqamlar kabi foydalanish mantiqiy emas. Biroq, sanab o'tilgan turlar tartibdir, shuning uchun har qanday bunday turdagi qadriyatlar buyurtma qilingan. Ro'yxatdagi identifikatorlar ketma-ketlik raqamlari ketma-ketligi raqamlari sifatida belgilanadi. Ism 0 raqami, ikkinchisi - 1 va boshqalar.

Sudasiapan turlari

Subbegra turidagi o'zgaruvchilar SudasiApandan tashqari har qanday ketma-ketlik turini ifodalovchi manbali manbalar turiga mos keladigan ma'lumotni o'z ichiga oladi. SUBBUNGIY turi ta'rifining sintaksisi quyidagi shaklga ega:

Kichik qiymatni kiriting \u003d past qiymat ... yuqori qiymat;

Sabrdal o'zgaruvchilar manba turining barcha xususiyatlarini saqlab qoladi. Faqatgina farq shundaki, subement o'zgaruvchisi faqat belgilangan subbandiya kiritilgan qiymatlarni belgilash mumkin. Ushbu holatni boshqarish diapazonni tekshirish buyrug'i bilan belgilanadi.

Samarqand turini aniq belgilash zarurati kamdan-kam hollarda sodir bo'ladi, ammo barcha dasturchilar birgalikda qatorlarni belgilashda ushbu dizayndan foydalaniladi. Bu massivning elementlarini raqamlash sxemasi o'rnatilgan subement dizayni shaklida.

Yaroqli turlar

O'zgaruvchan ko'rinsa, butun son va fraksion qismlardan iborat raqamlar mavjud. Ob'ekt Paskalda oltita haqiqiy tur mavjud. Barcha turlar 0 raqamini ifodalashi mumkin, ammo ular chegarada (minimal ijobiy) va maksimal qiymatlarBu aniqlik va aniqlik (ahamiyatli raqamlar soni) va ovoz balandligi bo'lishi mumkin. Haqiqiy turlar jadvalda keltirilgan. 1.5.

1.5-jadval. Yaroqli turlar.

Butun turlar butun sonni anglatadi, i.e. Kassasi nolga teng bo'lgan raqamlar. Ikki bardoshsiz butun son orasidagi farq biridan kam bo'lmasligi kerak. Buning sababi shundaki, butun sonlar haqiqiy ob'ektlarning raqamlarga har qanday munosabatda bo'lishidan qat'i nazar, diskret qiymatlarni belgilash uchun ishlatiladi. Haqiqiy turlar fraksion qism bo'lishi mumkin bo'lgan raqamlarni ifodalash uchun mo'ljallangan, shuning uchun ular juda yaqin, deyarli doimiy bo'lishi mumkin bo'lgan qiymatlar uchun foydalidir.

Eslatma, deyarli deyarli. Noma'lum nomga qaramay, ushbu turdagi o'zgaruvchilar matematik yaroqsiz raqamlardan farq qiladi. Ajall paskalda, haqiqiy turi - bu suzuvchi nuqta va sonlarning sonini ifodalash mumkin bo'lgan matematik yaroqli raqamlarning bir qismidir. Delphi formatida va umuman Windows dasturlarida ishlatiladigan elektr va elektron muhandislar instituti (Elektr va elektr tarmoqlari instituti), shuningdek, Iee formatida va umuman Windows dasturlarida qo'llanilishi mumkinligi sababli vaziyat yanada og'irlashadi belgilangan raqam bilan faqat raqamlarni aniq ifodalash. Fraktsion qismda bit. Ajablanarlisi shundaki, 0,1 kabi oddiy sonli oddiy son, agar u juda kichik bo'lsa ham, ba'zi xatolar bilan keng tarqalgan iEe formatida yozilgan. Shu sababli, suzuvchi nuqtalar nazarda bir oz holat noqulay, unda raqamli qiymatlarning pasayishi aniqlangan dasturlar saqlanib qolgan dasturlar mavjud. Bu "yashash" pul bilan ishlaydigan dasturlarga tegishli.

Ushbu muammoni alohida vergulli ikkita formatda, ikkita belgilangan vergulli formatda aniqlanadi. CR turi (Hisoblash-hisoblash) faqat -2 63 +1 dan 2 tagacha bo'lgan butun sonni o'z ichiga oladi, bu esa -9.2x10 18 dan 9,2x10 gacha bo'lgan oralig'iga to'g'ri keladi. Amerika valyutasi bilan dasturlash operatsiyalari paytida, ishlab chiquvchilar odatda pul summalarini yozishning tabiiy usulini izlashlari kerak, unda raqamning to'liq qismi dollar miqdorini, kasrik - tsentlar sonini aniqlaydi. Agar bunday qiymatlar yozilsa o'zgaruvchan tur CRIS ularni butun sonli tsent sifatida ifodalash kerak. Bunday holda, siz Centlarni dollarga aylantirish uchun 100 ga ko'paytirishi kerak va yana 100 ga bo'ling.

Agar siz valyuta turini ishlatsangiz, ushbu tashvishlardan qochish mumkin. Bunday holda, shkalasi tanlash vazifasi kompilyatorni oladi. Jismoniy, valyuta qiymatlari bir xil hajmda kompleksi sifatida qayd etiladi, bu butun son sifatida qiymatni 10 000 ga yo'nalishni 10 000 ga tenglashtirish va 10000 ga ko'paytirish uchun qiymatni 10 000 ga ajratishni unutmaydi Xotirada yozishdan oldin. Bu to'rtta o'nlik o'nlik kasrning mutlaq aniqligini ta'minlaydi.

Raqamli o'zgaruvchilar va ma'lumotlar turlari

Dastur yaratish uchun Delphi dasturlash tizimi zamonaviy va juda kuchli vositadir. Bunda siz ushbu tizim muharririning boshlang'ich imkoniyatlarini o'rganishga ishonch hosil qilishingiz mumkin. Bunday muharrirda ishlash qiyin emas va ko'pincha foydalanuvchini o'zingizning imkoniyatlaringizning xilma-xilligiga zavqlantiradi. Delphi-da yaratilgan dasturlar juda samarali va sizga hisoblash texnologiyasining barcha imkoniyatlaridan foydalanishga imkon beradi.

Eng muhim to'siqlardan biri bu ovoz balandligi tasodifiy kirish xotirasi va kompyuter tezligi. Dasturchi har doim dasturning xotira kerakligini qanday kamaytirish haqida o'ylashlari kerak. Ushbu muammoni hal qilishning bir usuli, dasturda ishlatiladigan o'zgaruvchilar sonini cheklash yoki saqlash uchun xotira kameralari hajmini kamaytirishdir.

Siz allaqachon butun va haqiqiy turdagi o'zgaruvchilar e'lon qilinganini allaqachon bilasiz. Delphi tizimidagi ushbu o'zgaruvchilarga qo'shimcha ravishda yana bir nechta ma'lumotlar turlari mavjud. Ular bir-birlaridan faqat saqlash uchun zarur bo'lgan xotiraning o'lchami va shunga ko'ra, ushbu o'zgaruvchida saqlanishi mumkin bo'lgan raqamlar oralig'i. Shunday qilib, dasturchi kerakli raqamli turini tanlashi mumkin va xotiradan oqilona foydalaning. Shuning uchun ma'lumotlar turlari nima.

Ma'lumot turlari

Har qanday ma'lumotlar, i.e. Doimiy ravishda konstantalar, o'zgaruvchilar, xususiyatlar, funktsiyalar yoki iboralar qiymatlari ularning turlari bilan tavsiflanadi. Turi yoki boshqa ob'ektga tegishli bo'lgan ko'plab ruxsat etilgan operatsiyalar bo'lishi mumkin bo'lgan ruxsat etilgan qiymatlar to'plamini aniqlaydi. Bundan tashqari, turdagi ma'lumotlar kompyuter xotirasida ma'lumotlarni ichki ifodalash formatining shaklini belgilaydi.

Delfi. ma'lumotlar turidagi tuzilish bilan tavsiflanadi:

Biz siz bilan hozirgacha oddiy turlarni ko'rib chiqamiz.

Tartib turlari

Ordiy turlari har birining har biri tezda mumkin bo'lgan qiymatlarga ega ekanligi bilan tavsiflanadi. Ushbu qiymatlarga ma'lum bir tarzda buyurtma berish mumkin (bu erdan va turdagilar) va shuning uchun ularning har biri bilan siz ba'zi butun sonni - qiymatning ketma-ketligi raqamini solishtirishingiz mumkin.

Ketma-ketlik turlari sonlar, mantiqiy, belgi, sanab o'tilgan va turdagi turlarga kiradi. Ulardan biriga (x) funktsiyasini (x) funktsiyasi X so'zi qiymatining ketma-ketligini qaytaradi.

Butun turlar

Ism

Uzunligi, bayt

Qadriyatlar oralig'i

Kardinal.

0. .. 2 147 483 647

Bayt

0...255

Qisqacha.

128...+127

Kichikroq.

32 768...+32 767

So'z.

0...65 535

Butun son

Uzun.

2 147 483 648...+2 147 483 647

Int64.

9*10 18 . ..+9*10 18

Uzoq so'z.

0. . .4 294 967 295

LongWorw va Int64 turlari birinchi bo'lib, Delphi-dagi 4-chi versiyada 2 baytni olib boradi. .

To'liq turlarga nisbatan qo'llaniladigan standart protseduralar va funktsiyalar

Shikoyat qilish

Natija turi

Harakat qilmoq

aBS (x)

X modulini qaytaradi

cr (b)

Char.

Uning kodi uchun belgini qaytaradi

(Vx [vx,))

Men uchun VX men uchun va men bo'lmaganimda, 1-daqiqada

inc (Vx [, i])

Men uchun VX men uchun va i-I tomonidan 1 bo'lmagan taqdirda

Salom (w)

Bayt

Katta tortishuv kamonini qaytaradi

Salom (i)

Shuningdek

Uchinchi baytni qaytaradi

Lo (i)

Yosh bayt argumentini qaytaradi

Lo (w)

Shuningdek

g'alati (l)

Boolean.

Agar argument toq son bo'lsa, haqiqatni qaytaradi

Tasodifiy (V)

Parametr kabi

Psevdo-tasodifiy sonni 0 ga tenglashtiradi, 0 qatorida (W-L)

sQR (x)

Argumentning maydonini qaytaradi

almashtirish (i)

Butun son

Bir so'zdagi baytlar baytlaridagi o'zgarishlar

almashtirish (w)

So'z.

Shuningdek

Shuningdek, sizga ma'lum bo'lgan arifmetik operatsiyalardan tashqari yana ikkita: Div va mod.

d iv. - Frakal qismning axlatlari bilan butun sonlarni taqsimlash. Masalan:

div b Agar a \u003d 10 va b \u003d 3 bo'lsa, natijada 3.

mod. - butun sonlar bo'linishining qolgan qismi. Masalan:

mod B. agar a \u003d 10 va b \u003d 3 bo'lsa, natijada 1

Butun sonlar vakili

Butun sonli sonlar tasvirida belgilar va raqamlar mavjud (+ + belgisi ko'rsatilmagan). Biroq, o'nlik kasr tizimiga ega, ammo siz o'n oltilik qo'llanmadan foydalanishingiz mumkin. Bunday holda, raqamdan oldin $ belgisini qo'yishingiz kerak.

Tur oralig'i

Barcha turdagi barcha turdagi ro'yxatga olingan yoki ketma-ket turlarga tegishli. Har qanday ketma-ketlikda siz manbali barcha qiymatlar kiritilgan qiymatlar to'plamini tanlashingiz mumkin. Reklama turida ikki ochko bilan ajratilgan minimal va maksimal qiymatlarni belgilab, reklama turiga o'rnatiladi. Reklamalarni kiriting Har doim xizmatning so'zi bilan boshlanadi. Masalan:

Pir \u003d [1..2006]

Ro'yxat turi

Tur turi qabul qilinishi mumkin bo'lgan qadriyatlarni qabul qilish orqali o'rnatiladi. Har bir qiymat ma'lum identifikator deb ataladi va STRAM-ning yuqori qavslari bilan ko'rsatilgan ro'yxatda joylashgan bo'lsa, masalan:

Thumpolors \u003d (qizil, oq, ko'k);

Belgi turi

Ramziy turdagi qiymatlar barcha shaxsiy belgilar to'plamidir. Har bir belgi oralig'ida butun songa bog'liq ... 255. Ushbu raqam ramzning ichki ifodasining kodi sifatida xizmat qiladi, bu buyurtmani qaytaradi.

Windows-da kodlash uchun Ansi kodi ishlatiladi (Amerika Milliy standart Instituti - Amerika standartlashtirish instituti deb topildi). 0 ... 127 kodlari bo'lgan shaxsiy kompyuterlarning birinchi yarmi 7.3-jadvalga to'g'ri keladi. 128 kodlari bo'lgan belgilarning ikkinchi yarmi ... 255 turli shriftlar uchun o'zgarib turadi. ARIAL CYY, kuryer yangi cir va zamon Yangi Roman. Kirillik ("E" va "E" harflari va "E" harflari bilan (192 dan 256 gacha) foydalanmoq (192-yildan 256 gacha): "Men" ... "Men" 1923 yildagi qadriyatlar bilan kodlanadi. , "A" ... "Men" - 224 ... 255. "E" va "E" belgilari mos ravishda 168 va 184-kodlar mavjud.

Cycod-kodni ANSI Standart holatiga muvofiq

Kod

Belgi

Kod.

Belgi

Kod.

Belgi

Kod

Belgi

Zona

Ro'mol

F.

-

/

4 dona.

F.

0 ... 31 kodlari bo'lgan belgilar xizmat kodlariga tegishli. Agar ushbu kodlar dasturning ramziy matnida ishlatilsa, ular bo'sh joy deb hisoblanadi.

Char tipidagi dasturlar tegishli munosabatlar, shuningdek, o'rnatilgan funktsiyalar:

Cr (b) - char turi funktsiyasi; ifodani bayt turiga aylantiradi va uni qiymatga qaytaradi;

Xopole (CH) - char turi funktsiyasi; Agar C lotin harfi bo'lsa, katta harfni qaytaradi, aks holda belgining o'zi kirill uchun manbani qaytaradi).

Haqiqiy turlar turlari

Asllardagi tartib turlaridan farqli o'laroq, har doim bir qator butun sonlar bilan taqqoslanadi va shuning uchun aniq aniqdir, haqiqiy turlarning qadriyatlari faqat bir oz miqdordagi aniqlik bilan bog'liq haqiqiy raqamning ichki formati.

Haqiqiy turlar turlari

Uzunligi, bayt

Ism

Tasvir raqamlari soni

Qadriyatlar oralig'i

8

4

8

10

8

8

Haqiqiy

Yolg'iz

Ikki baravar.

Cho'zilgan

Shodlik

Valyuta.

15…16

7…8

15…16

19…20

19…20

19…20

5.0 * 10e-324 ... 1.7 * 10e308

1.5 * 10e-45 ... 3.4 * 10e38

5.0 * 10e324 ... 1.7 * 10e308

3.4 * 10-4951 ... 1.1 * 10e4932

2e63 ... + 2e63-1

+/-922 337 203 685477,5807

Delphi 1-ning oldingi versiyalarida 3 ta real istiqomat qiladi va 2 bayt va 1-0-10-39 dan 1,7 * 10 38 gacha ko'p miqdordagi qiymatlar mavjud. 4 va 5 versiyalar ushbu tur ikki tomonlama turga teng. Agar kerak bo'lsa (muvofiqlik maqsadlari uchun), 6 ta garovning haqiqiy qismidan foydalaning, siz kompilyator ko'rsatmalarini (srealtexylilyllik) ko'rsatishingiz kerak.

Oldingi jadvaldan ko'rinib turibdi. Umumiy raqam Delfi. 4 dan 10 gacha qo'shni baytdan oladi va kompyuter xotirasida quyidagi tuzilishga ega:

S.

E.

M.

Bu erda S harfni to'lash; e - eksponentlik; ikkitomonlama tartibni o'z ichiga oladi; M - Mantissa raqami.

Manttissa m uzunligi 23 (keng) dan 63 gacha (kengaytirilgan) uzunligi (kengaytirilgan). Yagona va 19 ... 20 o'nlik raqamlari uchun aniqlik bilan ta'minlanadi. O'nlik kasr (vergul) Mantissaning chap (katta) burilishidan oldin, ammo raqam bilan harakatlar ostida saqlash joyida saqlangan raqamning ikkiga yoki o'ng tomonida joylashgan holda chapga yoki o'ngga siljiydi Shunday qilib, haqiqiy raqamlar bo'yicha harakatlar suzuvchi nuqta arifmetikasi (vergul) deb ataladi.

E'tibor bering, arifmetik koprocessor har doim uzaytirilgan shakldagi raqamlarni qayta ishlaydi va bu holatda yana uchta real turdagi haqiqiy turlari kerakli o'lchamlarga qarab olinadi va asosan xotirani saqlash uchun ishlatiladi.

Quyidagi jadvalda keltirilgan quyidagi jadvalda keltirilgan o'rnatilgan matematik funktsiyalardan quyidagi yorliqda ko'rsatilgan holda foydalanishingiz mumkin. Ushbu jadvalda haqiqiy degani, har qanday haqiqiy tur, butun tip - har qanday tur.

Standart matematik funktsiyalar Delfi.

Shikoyat qilish

Parametr turi

Natija turi

Eslatma

aBS (x)

Haqiqiy, butun son

Haqiqiy dalil turi

Argument moduli

N \u003d 151592653 ...

Arktan (x)

Arkthangensiya (Radianalarning qiymati)

cos (x)

Bir xil<<

Bir xil<<

Kosine, radionlardagi burchak

eXP (x)

Eksponent

frak (x)

Raqamning kasr qismi

int (x)

Raqamning butun qismi

ln (x)

Tabiiy logarifm

Tasodifiy

Psevdo-tasodifiy raqam, 0 oralig'ida teng ravishda taqsimlangan ...

Random.FX)

Butun son

Butun son

Psevdo-tasodifiy butun son, 0 ga teng (x-1) oralig'ida joylashgan

Tasodifiylashtirish.

Psevdo-tasodifiy raqamlarning generatori boshlang'ich

gunoh (x)

Haqiqiy

Haqiqiy

Sinus, radikaliklar

sQR (x)

Bir xil

Bir xil

Kvadrat argument

sqrt (x)

Kvadrat ildiz

Tasodifiy sonlarning soxta generatoriga e'tibor bering, asosiy algoritmga ko'ra, o'zgarishlar, uning bo'shatlari, uning bo'shlig'ini bo'shatadigan bir nechta butun sonni oladigan funktsiya. Shu bilan birga, yangi raqam amaldagi funktsiyalarni bajarishda asosiy bo'ladi; va boshqalar (protsedura o'zgarmaydi: ish paytida raqamlar, raqamlar avtomatik ravishda mavjud bo'lib, ular avtomatik ravishda har qanday dasturda mavjud bo'lib, u avtomatik ravishda o'zgaruvchan Randsek ismli holatda saqlanadi Va har doim boshlang'ich qiymatiga ega. Bu shuni anglatadiki, har xil, dasturlarda (yoki bir nechta dastur bilan) tasodifiy kirish, bitta va bir xil dasturlar ketma-ketligi har doim yiqilib tushadi.

Haqiqiy raqamlarning vakili

Haqiqiy raqamlar o'z rasmlari nuqtalarida va / yoki indikator (emi yoki e belgi), masalan:

X \u003d -0.5;

Y \u003d 1.34;

Z \u003d -1 e -5;

W \u003d 7.5 E +15;

Ma'lumotlar turini o'zgartirish funktsiyalari

Dumaloq (x.) ) - haqiqiy raqamni eng yaqin butunlarga yaxlitlash. Funktsiya argumenti haqiqiy turning qiymati va natijada uzun rang turining eng yaqin butun soniga yaxlitlanadi. Natijada uzunlik qiymatlari oralig'ida bo'lsa, unda dasturni bajarishda xatolik yuz beradi.

Trunt (x.) ) - haqiqiy raqamning butun qismini olish. Natija turi - uzun. Natijada uzunlik qiymatlari oralig'ida bo'lsa, unda dasturni bajarishda xatolik yuz beradi.

Sana-vaqti-vaqti

Sana turi - standart TDATETIM identifikatori tomonidan belgilanadi va bir vaqtning o'zida saqlash va sana va vaqt va vaqt uchun mo'ljallangan. Ichki vakolatxonada u 8 baytda va valyutada belgilangan kassali qismli haqiqiy sonni egallaydi: sana asosiy vaqtning to'liq qismida fraktsion vaqtda saqlanadi. 1899 yil 30-dekabrdan 1899 yil 30 dekabr va vaqt o'tishi bilan o'tgan kunlar soni va vaqtning bir qismi sifatida belgilangan kunlar, shuning uchun qiymati 36444,837 sanaga to'g'ri keladi 10.10.1999 va Vaqt 20:05 ga to'g'ri keladi. Kunlar soni salbiy bo'lishi mumkin, ammo qadriyatlar kichikroq bo'lgan -693594 (Masihning tug'ilishidan 00.00.0000) satrni o'zgartirish funktsiyalari satr turiga e'tibor berilmaydi.

Xuddi shu operatsiyalar TDATETIM qiymati yuqorida belgilanadi, chunki butun son va butun son va haqiqiy turdagi doimiylar va haqiqiy turdagi kontsentantlar va real turlarning o'zgaruvchilarida qatnashish mumkin.

Quyidagi jadvalda keltirilgan jadvallar sana va vaqt bilan ishlash uchun ishlatiladi.

Sana va vaqt bilan ishlash uchun pastki promamentlar

Funktsiya. Sana: TDATETIME;

Funktsiya. DatetoStr (D: TDATETIME): Satr;

Funktsiya. Datetimettrtr (D: TDATETIME): Satr;

Funktsiya. FormatDateTime (format: format: Satr;

Qiymat (TDATETIME): Satr;

Funktsiya. Endi: TDATETIM;

Funktsiya. Vaqt: TDATETIME;

Funktsiya. TimetRtrft (TDATETIME): satr;

Joriy sanani qaytaradi

Belgilar satrida konvertatsiya qilingan sanani o'zgartiradi

Sana va vaqtni belgilar qatoriga o'zgartiradi

Sana va vaqtni qiymat parametridan format parametrli tartibli parametrlariga muvofiq belgilaydi (7.3-bandda tushuntirishlarni ko'ring.)

Joriy sana va vaqtni qaytaradi

Joriy vaqtni qaytaradi

Vaqtni ketma-ket o'zgartiradi

Delphi tilidagi o'rnatilgan ma'lumotlar turlari orasida butun sonlar, yaroqli, belgilar, strelkalar, kameralik turlari kiradi.

Tartib turlari. Buyurtma (tartib) turlari, qiymatlar buyurtma qilingan va ularning har biri uchun siz oldingi va keyingi qiymatlarni belgilashingiz mumkin.

Tarkibiy turlari. Tarkibiy turlarga to'plamlar, massivlar, yozuvlar, fayllar, sinflar, interfeyslar kiradi.

Ma'lumotlar turlari. Turli turdagi turdagi turlarda ma'lumotlar butun son sifatida taqdim etiladi, i.e. Fraktsion qismga ega bo'lmagan raqamlar.

1-jadvalda ordinal turdagi operatsiyalar

Operatsiya

Tavsif

Tükal tipidagi minimal qiymati

Seksion tipidagi maksimal qiymati

Ketma-ketlik turining ifoda qiymatining ketma-ketligi. Butun ifoda uchun bu shunchaki ma'nosi. Qolgan tartib turlari uchun buyurtmani jismoniy jihatdan ifodalash butun son sifatida talqin qilinadi. Qaytish qiymati har doim butun turlardan biriga tegishli

Oldingi tartib qiymatida. X-1 ga teng bo'lgan butun rozitsiyalar uchun

Keyingi tartib qiymatida. X + 1 ga teng bo'lgan barcha iboralar uchun

O'zgaruvchining qiymatini 1 ga tenglashtiradi V: \u003d PR (V) ga teng

O'zgaruvchining qiymatini 1 ga tenglashtiradi V: \u003d sc (v)

2-jadval

Qadriyatlar oralig'i

2147483648 -- 2147483647

8 bit, so'zsiz

16 bit, so'zsiz

32 bit, kam

Shuningdek, butun uzunlik turiga teng bo'lgan butun son kabi bir tur mavjud. Uning -2147483648 dan 21474836478 gacha bo'lgan oralig'ida. Tarmoqlar butun son va kardinaldir, shuning uchun aksariyat hollarda ushbu turlardan foydalanish maqsadga muvofiqdir.

Ketma-ket turlarga belgilangan barcha operatsiyalar barcha ma'lumotlar ustida bajariladi. Butun turdagi operatsiyalar:

3-jadval.

Ma'lumotlarning haqiqiy turlari. O'zgaruvchan ko'rinsa, butun son va fraksion qismlardan iborat raqamlar mavjud.

4-jadval.

Maksimal ishlashning asosiy namoyishi - bu hozirgi kunda ikki tomonlama turga teng bo'lgan haqiqiy turdir.

5-jadvalda haqiqiy turdagi funktsiyalar

Qaytish qiymati

Mutlaq qiymati x.

ARCTHangence H.

Kosine x (x darajadan emas, rad qilingan)

X-dan eksponent funktsiyasi

Fraksion qism x.

X qismi x. Ismga qaramay, to'g'ri qiymatni (suzuvchi yarimmon) qaytaradi, i.e. Faqat fraktsion qismda nolni o'rnatadi

X ning tabiiy logarifm

Pi raqami (3.1416 ...)

Eng yaqin k x butun son. Butun turning qiymatini qaytaradi. Yuqori va pastki qiymatlar teng bo'lgan bo'lsa (masalan, kasr qismi aniq 0,5) bo'lsa, "x ga yaqin x eng yaqin" sharti ishlamaydi. Bunday hollarda, Delphi operatsion tizimga echimni o'zgartiradi. Odatda, Intel protsessorlari ushbu muammoni IEEE tavsiyalariga muvofiq eng yaqin juftlik tomon yo'naltirilgan holda hal qilishadi. Ba'zan bu yondashuv "banker yumaloq" deb nomlanadi

Kvadrat x, i.e. X * x.

X dan kvadrat ildiz

X qismi x. STR qaytarishdan farqli o'laroq

Ramziy ma'lumotlar turlari. Ramziy turlar bitta belgini saqlash uchun mo'ljallangan.

6-jadval.

Boolins ma'lumotlar turlari. Boolean Ma'lumotlar turlarining o'zgaruvchilari mantiqiy qiymatlarni, masalan, haqiqiy (haqiqat) va yolg'on.

7-jadval Boolean turlari

2 bayt (ovoz balandligi so'zi)

4 bayt (uzunlik balandligi)

Bir qator - bu umumiy ismga ega bo'lgan bir xil turdagi o'zgaruvchilar to'plami bo'lgan ma'lumotlar tuzilishi. Massivlar tabiatda saqlash uchun bir xil, masalan, stol va varaqalari kabi ishlatiladi.

Massasiva haqida e'lonlar

Har qanday dastur o'zgaruvchisi singari qator, o'zgaruvchi reklamalardan foydalanishdan oldin e'lon qilinishi kerak. Umuman olganda, massivlar deklaratsiyasining ko'rsatmasi quyidagicha:

Ism: [NIZHYNY_INNEX..PINESEX] turdagi

qaerda: ism qatorning nomi;

armay - bu e'lon qilingan ismning massivining nomi ekanligini bildiradigan delphi so'zi.

nijny_index va yuqori_index - massiv elementlar indeksidagi o'zgarishlar doirasini va aniqlikdagi variantlar sonini (o'lchamdagi elementlar soni) belgilaydigan o'rtacha konstantalar;

turi - Massiv elementlarining turi.

Delphi Grigorev A. B ma'lumotlarida nimani yozmaydi.

3.2.2. Delphi turlari

Delphi-da to'rtta haqiqiy tur mavjud: bitta, dubl, uzaytirilgan va haqiqiy. Ularning umumiy formati bir xil (3.1-rasm, a).

Belgi har doim bir oz. Bu ijobiy raqamlar va salbiy uchun birlik uchun noldir. Mantis va eksponentlar hajmiga kelsak, ular orasida turdagi farq bor.

Muayyan raqamlarga o'tishdan oldin, haqiqiy turni batafsilroq ko'rib chiqing, bunga kichik ekskursiyani amalga oshiring. Real - bu dastlab mavjud bo'lgan standart paskal til turi. Paskal tashkil etilganida, protsessorlar real raqamlarni hali ham qo'llab-quvvatlamadilar, shuning uchun haqiqiy tipdagi barcha operatsiyalar butun sonlar bilan ishlash uchun qisqartirildi. Shunga ko'ra, haqiqiy turdagi maydonlar hajmi ushbu operatsiyalarni optimallashtirish uchun tanlandi.

a) haqiqiy sonning umumiy ko'rinishi

b) bitta turi sonining ikkilik namoyishi

Anjir. 3.1. Xotiradagi haqiqiy raqamni saqlash

Intel 8086/88 mikroprosessor va uning yaxshilangan variantlari - 80286 va 80386 tasi haqiqiy raqamlarni qo'llab-quvvatlamagan. Ammo tizimlar ushbu protsessorlar asosida Coprocessorni ulash imkoniyati paydo bo'ldi. Ushbu mikrohit qilish asosiy protsessor shinalarida xotiralar bilan ishlagan va real raqamlarni uchun apparatni qo'llab-quvvatlagan. O'rta tomon tizimida koprocessorning uyasi bo'sh edi, chunki u narxni kamaytirdi (albatta, koprocessorni joylashtiring, hech qanday muammo yo'q). Har bir markaziy protsessor uchun ularning koprosicessorlari, Intel 8087, 80287 va 80387 raqamiga belgilangan. Hatto boshqa firmalar tomonidan ishlab chiqarilgan gazopologlar ham bor edi. Ular Intelning koprocesses-dan tezroq ishladilar, lekin keyinchalik bozorda paydo bo'ldi. Koprocotsors tomonidan qo'llab-quvvatlanadigan haqiqiy raqamlarning turi haqiqiy emas. U IEEE STAND STAND (Elektr va elektronika muhandislari instituti) tomonidan belgilanadi.

O'z tizimida IEEE turini qo'llab-quvvatlash uchun Borland Turbo paskal turlarini bitta, ikki va uzaytirdi. Kengaytirilgan - bu Koprocessor turi uchun asosiy, bitta va juft undan juda oddiy bo'laklardan olinadi. Koprocessent buyruqlari tizimi sizga ushbu turlar bilan ishlashingizga imkon beradi: Yagona yoki hamrohning ichki reestriga ikki baravar yuklanganda, ularni o'zgartiradi. Aksincha, ushbu turlarning raqamlarini reestrdan xotiraga tushirishda, Koprocessor ularni kerakli hajmga to'ldiradi. Ichki operatsiyalar har doim uzilgan ma'lumotlar turiga etkaziladi (ammo, ushbu qoida istisno qiladi (ammo ushbu qoida istisno qiladi, keyinchalik biz shuni ham har xil turdagi shaklni batafsil ko'rib chiqamiz). Yagona va ikki marta xotirani tejashga imkon beradi. Ularning hech biri haqiqiy turga to'g'ri kelmaydi. Koprocessors bilan tizimlarda yangi turlar haqiqiy (2-3 marta) tezroq ishlov beriladi (bu tegishli o'zgarishlar) koprocessor tomonidan qayta ishlanganligi sababli ishlov beriladi; agar biz kengaytirilgan turni qayta ishlashni taqqoslasak; Koprocessor va Coprocessor bo'lmagan mashina bilan mashinada, keyinchalik individual operatsiyalar taxminan 100 martaga erishdi). Ushbu turdagi dasturlar uchun Coprocessor bo'lmagan tizimlarda amalga oshirilishi mumkin, bu koprokessor dasturini ularga ulash mumkin. Ushbu turlarni emulyator orqali qayta ishlash haqiqiy ishlov berishdan sekinroq edi.

486-chi Intel seriyasidan boshlab, protsessor va koprocessorni bir xil chipda birlashtirish bo'yicha kurs olib boradi. Chiplarda nikohning ulushi juda katta, shuning uchun intel bassokka ega bo'lsa, u kristalli va chipda bu kristalda yonib turadi va mikroscyctive 80486sx sifatida sotiladi O'rnatilgan koprocessor bo'lmagan protsessor (80486DX deb nomlangan to'liq versiyadan farqli o'laroq). Zarar etkazilmagan bo'lsa, teskari holatlar ham bor edi, ammo protsessor ishlamay qoldi. Bunday chiplar "Koproccer 80487" ga aylandi. Ammo bu ekzotik sohadan, va bizning ma'lumotimizga ko'ra, bu koprocessor Rossiyaga etib bormadi.

Pentium protsessorining barcha variantlari mavjud bo'lgan "FPU - suzuvchi nuqta birligi" va alohida koprocessor kerak emas edi. Shunday qilib, ushbu protsessorning kelishi bilan haqiqiy tur faqat orqada moslik uchun saqlanib qoldi, bitta, ikki va ikki tomonlama va uzaytirildi. Delphi 4 dan boshlab, haqiqiy turi ikki tomonlama tur bilan sinonim bo'ladi va eski 6 bayt turi haqiqiy48 nomini oladi.

Eslatma

Tuzuvchi ko'rsatma (realytapatitate / o'chirish / o'chirish), u yoqilganda (u o'chirilgan o'chirilgan) real48 bilan real ravishda sinonon emon qiladi.

Turli xil real turdagi dalalarning o'lchamlari jadvalda ko'rsatilgan. 3.1.

3.1-jadval. Rasmiy turlarda dala o'lchamlari

Bir tur Hajmi turi, bayt Mantissa hajmi, bitlari Eksponent hajmi, bitlari
Yolg'iz 4 23 8
Ikki baravar. 8 52 11
Cho'zilgan 10 64 15
Haqiqiy 6 40 7

Haqiqiy turlarning boshqa parametrlari, masalan, diapazon va aniqlik, delphi yordamidan topish mumkin.

Kitobdan, 2005 va platforma.net 2.0 bilan dasturlash tili. Troelsen Endryu tomonidan.

Qadriyatlar, ma'lumot turlari va tayinlash operatori tomonidan tavsiflangan turlari quyidagi asosiy () usulini o'qib chiqadi va uning chiqishi ko'rinishini ko'rib chiqadi. 3.12.STATISTIK FICE (simli args) ("***" (***) ning qiymat / ma'lumot turlari bo'yicha tavsiflangan turlari *** "); konsol.writine (-\u003e p1ni yaratish); mypoint

Delphi haqidagi kitob maslahatlaridan. 1.0.6 versiyasi. Muallif Ozers Valentin

Keling, qiymat va ma'lumot turlari bo'yicha tavsiflangan turlar o'rtasidagi farqni o'z ichiga olgan holda, keling yanada murakkab misolni ko'rib chiqaylik. Aytaylik, quyidagi ma'lumot turi (sinf),

Doktor Bobdan Internet echimlari kitobidan Muallif SFort Bob

Qiymatlar va ma'lumot turlari bo'yicha tavsiflangan turlar: ushbu mavzuni muhokama qilishni yakunlash uchun, axborot jadvalini o'rganing. 3.8, bu qiymati va ma'lumotlari bilan tavsiflangan turlar orasidagi asosiy farqlarning qisqacha mazmunini taqdim etadi. Jadval

Kitob delfi. Fokuslar va effektlar Muallif Chirtik Alexander Anatoliyevich

Kitobning asosiy algoritmlari va delphi-dagi ma'lumotlar tuzilmalaridan Muallif Baknell Julian M.

1.3.3. Delphi va CGI Ushbu bobda siz veb-modullarni yoki boshqa mijoz / server modullarini qanday yozishni aytaman. Birinchi CGI-ning keng qamrovli shevalli interfeysni anglatadi va bu faqat ma'lumot uzatish uchun ism mijoz serverga. Mijoz tomonda

Kitoblararo Interbase. Interrube / Firebird / YFILDA NAZORATLARNING MA'LUMOTLARI, Ma'muriyat va ma'lumotlar bazasi dasturlarini ishlab chiqish Muallif Kovyzin Aleksey Nikolaevich

2.1.1. Delphi va HTML Mening asosiy vositamning asosiy vositasi delfi, va biz ushbu bobda Delphi ma'lumotlar bazasi bo'yicha HTML mutaxassisligini yozamiz. Delphi sizga har qanday format ma'lumotlar bazasiga ulanish imkoniyatini beradi. BDE-dan paradoks va dbase-ga, ODBC bilan, masalan, kirish va SQL-ni katta DBBMS turi bilan ishlatish

Muallifning delphi virtual kutubxonasi

9.3. Delphi-larda eng zamonaviy dasturlash muhiti singari Delphi turli xil xizmatlar yoki serverlar bilan ishlaydigan talabnomalarni avtomatik ravishda rivojlantirish imkoniyatini qo'llab-quvvatlaydi. Ariz tamoyillarini chuqurroq tushunish uchun,

Kitobdan Pascalabc.net tilining tavsifi Muallif Kollektiv qo'pol

Delphi-da Delphi-dagi qator massalar turlari bor, ular til tomonidan qo'llab-quvvatlanadi. Birinchisi, massiv kalit so'z yordamida e'lon qilingan standart massiv. Ikkinchi tur birinchi navbatda Delphi 4-da, uzoq vaqt oldin vizual bazada mavjud bo'lgan narsalarga taqlid sifatida kiritildi - dinamik

ABC Paskal dasturlash tili Muallif Gullar Aleksandr Stanislavovich

Ma'lumot turlarining turi Haqiqiy turlarga (ular ham suzuvchi nuqtalar turlari deb nomlanadi) suzish va ikki baravar aniq deb ataladi. Darhol o'quvchiga suzuvchi turdan foydalanishdan keyin - eng aniqlik eng kasrli qiymatlarni saqlash uchun etarli emas. Ayniqsa SH.

Muallif kitobidan

Delphi 2.0-da savollar Delphi 1.0 bilan taqqoslagan Delphi 2.0-dagi yangilikmi? 1995 yil fevral oyida e'lon qilingan Delphi 1.0 versiyasi 1995 yil fevral oyida kompilyatorni optimallashtirish vositasi, ikki tomonlama rivojlanish mexanizmlari va masofaviy ma'lumotlar bazasi arxitekturasini birlashtiradi.

Muallif kitobidan

Delphi 2.0-da yangi delfhi 1.0 bilan taqqoslaganda nima? 1995 yil fevral oyida e'lon qilingan Delphi 1.0 versiyasi 1995 yil fevral oyida kompilyatorni optimallashtirish vositasi, ikki tomonlama rivojlanish mexanizmlari va masofaviy ma'lumotlar bazasi arxitekturasini birlashtiradi. Bugun yuzlab

Muallif kitobidan

Muallif kitobidan

Muallif kitobidan

Quyidagi haqiqiy turlar, ularning o'lchamlari, mazmunli raqamlar soni va haqiqiy qiymatlar soni: ma'nolarning ma'nosi, haqiqiy 8 15-16,8? 10308 .. 1.8 ! 10308 ikki juft 8 15-16 -1.8 10308 ..

Delphi dasturining matni harflar, raqamlar va maxsus belgilar yordamida shakllanadi. Xatlar lotin alifbosining katta va kichik harflari va pastki qismida: abcdefggdlmkl x yzabcddvw x yzabkcdgww x yzabkcdgww x yzabcddijklmnopqrs tvwxxyz _ Raqamlar yozuvi yozuvi: 0 1 2 3 4 5 6 8 8 maxsus belgilar + * / \u003d,. :; "() @ # $ ^ Asosan arifmetik operatsiyalar, ajratgichlar, cheklovlar va boshqalar sifatida ishlatiladi: (* *) //: \u003d. Xususan, "teng emas", "katta yoki teng" kabi operatsiyalarni bildirish, "katta yoki teng", bu qadriyatlar va boshqa alifbos

Xuddi shu raqam turli xil yo'llar bilan yozilishi mumkin, masalan: 15 (to'liq) (haqiqiy nuqta bilan) 1. 5 01 delfthi tilidagi $ 5 01 (Xekading nuqta) Barcha usullarni qo'llash uchun, lekin ko'pincha butun va haqiqiy raqamlardan foydalanadi. Butun sonlar faqat raqamlar va belgilar + yoki -. Agar belgi o'chirilgan bo'lsa va raqam 0 ga teng bo'lmasa, u ijobiy deb hisoblanadi, masalan: 0 (0 butun son sifatida) 179 (salbiy butun son) raqamli ma'lumotlar turlari

Haqiqiy raqamlar bir nuqta bilan ajralib, 0. 0 (haqiqiy raqam sifatida) 133. 5 (Ijobiy haqiqiy raqam) -0. 7 (manfiy haqiqiy son) haqiqiy raqamlarni ikki shaklda ifodalash mumkin: belgilangan va suzuvchi nuqta bilan. Ruxsat etilgan raqamli shakl odatdagi raqamlarga to'g'ri keladi: 27800 (raqam oxirida ko'rsatildi) 3. Suzuvchi nuqta (eksponent shaklida) juda katta yoki juda oz sonli raqamlar bilan ishlashda ishlatiladi. Ushbu shaklda E-ga qaragan raqam 10 dan keyin ko'rsatilgan darajadan keyin 10 ga ko'paytiriladi: 13 E + 14 (7. 7 13 x 10-5) 3. 14 E 00 (3. 14 x 100 \u003d 3. 14) E harfi raqami Mantissa, Maktubdan keyingi raqam oddiy deb ataladi. Ma'lumotlar turlari

Izohlar yordamida siz o'zingizning dasturingiz ishining mantig'ini tushuntirishingiz mumkin. Ushbu sharh kompilyator tomonidan qabul qilinadi va dasturning istalgan joyda bo'lishi mumkin. Izoh: (jingalak qavslaridagi har qanday matn) (* qavslardagi har qanday matn) // Agar belgilar (yoki (darhol dollar dollarga ketsa, liniya tugashi bilan har qanday matn). Qavslardagi matn sharh emas va kompilyator ko'rsatuvchi hisoblanadi. Bunday ko'rsatmalar misollari: ($ optimizatsiyasi) ($ ogohlantirishlar) ($ rangchecks o'chirilgan) sharhlar

Amalga oshirilgan dastur har doim Kakelibo ma'lumotlarini qayta ishlaydi. Ma'lumotlar butun son va fraktsiya raqamlar, belgilar, satrlar, massivlar va boshqalar bo'lishi mumkin, shuning uchun kompyuter faqat nollar ketma-ketligi va birliklar, ularni qanday izohlash kerak. Shu sababli, Delphi tilidagi barcha ma'lumotlar turlarga bo'linadi. Ma'lumotlar turi ma'lumotlarning qaysi qiymatlarini va ular bilan bajarilishi mumkinligini ko'rsatadi. Har bir ma'lumotlar turi ma'lumotlarni joylashtirish uchun zarur bo'lgan ma'lum miqdordagi xotiraga to'g'ri keladi. Masalan, delphi tilida bayt turlari mavjud. Ushbu turdagi ma'lumotlar 0 dan 255 gacha bo'lgan butun sondagi qiymatlarni olish, qo'shimcha mablag ', ko'paytirish, bo'linish va 1 baytni egallash bo'yicha operatsiyalarda qatnashishi mumkin. Ma'lumot turlari

Delphi-da barcha ma'lumotlar turlari quyidagicha tasniflanishi mumkin: oddiy ma'lumotlar turlari. Ular, o'z navbatida, tartib va \u200b\u200bhaqiqiy ma'lumotlar turlariga bo'linadi. Bug'u turlari butun son, ramziy, bokal, sanab o'tilgan va boshqalar kiradi; Vaqtincha ma'lumot turi. Sana va vaqt qiymatlarini ifodalashga xizmat qiladi; String ma'lumotlar turlari. Matn kabi belgilardagi ketma-ketlikni ifodalashga xizmat qiladi; Kompozitsion ma'lumotlar turlari. Boshqa barcha turlar asosida shakl. Bularga qatorlar, to'plamlar, yozuvlar, fayllar, sinflar va sinflarga havolalar kiradi; Protsessual ma'lumotlar turlari. Protsedura va funktsiyalarni dastur ma'lumotlari sifatida boshqarishga ruxsat berish; Ma'lumotlar turlari. Ushbu turlar boshqa ma'lumotlar (ro'yxatlar, daraxtlar va boshqalar) manzillarining manzillari saqlanadi; Doimiy bo'lmagan qiymatlar bilan ma'lumotlar turi. Turi oldindan noma'lum bo'lgan qiymatlarni ifodalashga xizmat qiladi; U bilan ko'p o'lchovlar ro'yxati bilan ishlash juda oson; Ma'lumotlar turlarini tasniflash

O'zgaruvchilar, konstansiyalar va turlarni tasvirlash shaklini ko'rib chiqing. Turlar tavsifi: tip \u003d; Ta'rif doimiy: Konst: \u003d; O'zgaruvchilar tavsifi: Var :; Ma'lumotlar tavsifi shakli

Doimiy yozishning misoli: const delfi. Til \u003d "ob'ekt paskal"; Kyyix. Til \u003d delphi. Til; Yard \u003d 914. 4; Oyoq \u003d 304. 8; Soniya. Ichida. Daqiqa \u003d 60; Soniya. Ichida. Soat \u003d soniya. Ichida. Daqiqa * 60; // soniyalarni doimiy ravishda o'rnating. Ichida. Kun \u003d soniya. Ichida. Soat * 24; // doimiy deb e'lon qilganda ifoda sifatida siz uning turini belgilashingiz mumkin: Concatic Fore: Ikki martali \u003d 15; Fayl. Ism: String \u003d "Yordam. TXT"; Bunday konstitutsiyalar terilgan deb nomlanadi; Ularning asosiy maqsadi - kompozit ma'lumotlarning doimiy qiymatlarini e'lon qilish. Doimiy tavsif

Delphi tillaridan tashqari, Delphi tilini dasturchi tomonidan belgilangan turlarni qo'llab-quvvatlaydi. Yangi ma'lumotlar turi zaxiralangan turdagi turdagi, undan keyin tenglik va tavsif belgisi bilan belgilanadi. Masalan, siz yangi turni aniqlashingiz mumkin: tenicode \u003d keng. Char; Tfflout \u003d dubl; TDIRektorlik \u003d (Shimoliy, janub, sharq, g'arb); Masalan, yangi turdagi aniqlovchilar katta harf bilan boshlanadi (so'z turining birinchi harfi). Dasturchi turlari bo'yicha bunday kelishuv delphi atrof-muhit ishlab chiqaruvchilar tomonidan qabul qilinadi, ammo bu qat'iy emas. Shunga qaramay, biz uni rioya qilish uchun tavsiya etamiz, chunki u dasturning dastlabki kodeksini osonroq idrok etishga hissa qo'shadi. Turlari tavsifi

RortiTning eng qisqa qismining qisqartmasi KIRIShNI KO'RSATILGAN SHEGRECAR CARTINA IR 64 bayt leytti --128. . 87 belgisi 8 -bit -32768. . 32767 belgisi 16 -bit -2147483648. . 2147483647 belgisi. 32 -bit 0 .. 4294967295 Agar 64 -BIT -263 belgilmasa. . 263 -1 belgisi 64 -BIT 0 .. 255 belgisi 8 -bit 0 .. 65535 raqami yo'q 16 -bit 0 .. 4294967295 IMAGE 32 -BIT formatida oddiy ma'lumotlar turlari

Qiymatlar turi. Real 48 bitta dublga cho'zildi 5 0 x 10-324. . 1. 7 X 10308 15 -16 2. 9 X 10 -39. . 1. 7 X 1038 11 -12 1. 5 x 10 -45. . 3. 4 x 1038 7 -8 5. 0 x 10-324. . 1. 7 X 10308 15 -16 3. 6 x 10 -4951. . 1. 1 x 104932 19 -20 raqami komp -20 komp-20 raqami - 92233720384775808. 92233720385475807 19-20 valyuta - 92233720385477. 5808. 9223372036855477. 5807 19- 20 Haqiqiy turdagi bayt 8 6 4 8 10 8 8

Ramziy turlar xat, raqamli, tinish belgilari va boshqa belgilar ekanligini tavsiflash uchun ishlatiladi. Ikkita fundamental belgilari ma'lumotlar turlari mavjud: Ansi. Char va keng. Char. Ular ikki xil belgi kodlash tizimiga mos keladi. Ansi turlari ma'lumotlari. Char bitta xotira bayrog'ini egallaydi va Ansining 256 ta belgilaridan biriga keng ma'lumotlarga ega bo'lganda, Kerakli kod stolidan birini kiriting. Char ikkita xotira baytini egallaydi va 65536 yilgi Unicode Kod jadvali ramzlaridan birini kodlaydi. Unicode kodi jadvali - ikki bayt belgisi kodlash standarti. Unicode stolining dastlabki 256 belgisi Ansi ma'lumot turiga mos keladi, shuning uchun Ansi ma'lumot turi. Charni keng to'plam sifatida ko'rish mumkin. Char belgisi turi

Asosiy ma'lumotlar turlari: Ma'lumotlar turini xotira hajmi (bayt) Ansi. C kengligi. Char 2 Umumiy ma'lumot turi: Ma'lumot turi Xotira (Baytlar) Char 1) mantiqiy ma'lumotlar turlari varucile well_file: Boolean; Boolean; Boolean ma'lumotlar turlari bayt turlari. Bool, Word. Bool va uzoq. Bool Delphi tiliga boshqa tillarga mos kelishi uchun, xususan C va C ++ tillari bilan mos ravishda tanishdi. Barcha Boolean ma'lumotlar turlari bir-biriga mos keladi. Ramziy va mantiqiy ma'lumotlar turi

Misol. Doimiy va o'zgaruvchan belgi turining tavsifi. Const c_p \u003d 'a'; // ramziy konstans CH_L: char \u003d 'F'; CH_K: keng. Char \u003d '5'; Var CH_L: char; // Dasturlar va elementlarning o'zgaruvchan o'zgaruvchan o'zgaruvchisida o'zgaruvchi apostroflarda (tirnoq bilan aralashish!) // belgisi tayinlangan xatni ramziy ma'lumotlar turlari namunalari

Qatorlar dinamik qatorlar. Satr - uzunligi 256 belgidan oshmasligi kerak. Keng. Satr - uzunligi 256 tadan ortiq. Axborot bitta tirnoqqa yopishtirilgan bo'lsa, satr deb hisoblanadi: "Maryam non" - "Maryam non" satri bu zo'r misol emas. Satr turidagi doimiy va o'zgaruvchini aniqlang. Con-S_ETER \u003d 'Sovuq ...'; Var 1: c_vet; S 2: satr; String ma'lumot turi

Ro'yxatdagi tur. Ro'yxatga olingan ma'lumotlar turi ushbu turdagi o'zgaruvchini olishi mumkin bo'lgan qiymatlar ro'yxati. Har bir qiymat ushbu qiymatni belgilash uchun dasturda ishlatiladigan identifikatorga beriladi. Misol. Tcolors \u003d (qizil, oq, ko'k); Tetrth \u003d (jnou, fevi, mart, aprel, may, iyun, iyul, sent, okt, okt, noyabr)); TDIRektorlik \u003d (Shimoliy, janub, sharq, g'arb); Var Oy: TONTH; Yo'nalish: Tishni davolash; Yo'nalishni boshlang: \u003d Shimol; oxiri. Skumed ma'lumotlar turi

Aslida, listlangan turdagi qiymatlarning identifikatorlari butun tobora mustahkamdir. Odatiy bo'lib, birinchi doimiy, ikkinchi, ikkinchisi 1 va boshqalar. Tizim identifikatorining qiymatini aniq belgilash mumkin. Birlik \u003d (bayt \u003d 1, kilobyt \u003d 1024 * bayt, megabyty \u003d kilobytyt * 1024, Gigabytytytyt * 1024); Ro'yxatdan maksimal quvvatning maksimal kuchi 65536 qiymatni tashkil etadi, shunda ro'yxatdagi har bir so'zning bir qismini belgilaydi va 0, 1 qiymatlari bilan bir qatorda konstanstantlar guruhini ixcham e'lon sifatida ko'rib chiqsangiz, va boshqalar.

Intervalli ma'lumotlar turlari intervalli ma'lumotlar turini ushbu turdagi o'zgaruvchilar uchun qiymatlarni cheklaydigan ikkita konstantsiyaga o'rnatiladi. Ikkala konstant ham standart ketma-ket turlaridan biriga tegishli bo'lishi kerak (lekin haqiqiy emas va satr emas). Masalan: Tdikit \u003d 0 ni kiriting .. to'qqizta; Rigit \u003d "0". . "To'qqiz"; 2 \u003d 48-qazish .. 57; Var raqami: Tdigit; Oy: 1 .. 12; Raqamni boshlang: \u003d 5; Raqam: \u003d 10; // xato! Oxirida chegaralar chegarasidan chiqing; Interval yoki tipdagi.

Bir va keng tarqalgan (so'z turisiz) turg'unligi o'rtasidagi farq qatorlar, yozuvlar va darslarni o'rganishda namoyon bo'ladi. Oldinga olib boring va misol keltiring: Ttype 1 \u003d butun sonni kiriting; Type 2 \u003d Ttype 1; Var a: Ttype 1; B: ttype 2; B: \u003d a; // xato! oxiri. Masalan, TTY turi tavsifida A va B o'zgaruvchilar bir-biriga mos kelmaydi. Agar a va b o'zgaruvchilar oddiy ma'lumotlar turlariga tegishli bo'lsa, topshiriq operatori ishlaydi. Maxsus ma'lumotlar turlari

Bir qator bir xil turdagi belgilangan elementlardan iborat kompozit ma'lumotlar turi. Massivni tavsiflash uchun mo'ljallangan massivlar qatorida ishlab chiqilgan. kvadrat qavs ichida so'z qator so'ng, qator chegaralari yozilgan va qator elementlarini so'zdan keyin: turi Tstates string qator \u003d; MOCCordinates \u003d butun son qatori; Cont-tog 'koordinatalari: Tccordinates \u003d (10, 20, 5); (3 butun son) variantsiyalar: TSTAST; (50 ta) belgilar: char masi; (81 belgi - turi belgilash holda) alohida array elementi kirish uchun, siz misol ramzlari uchun, kvadrat qavs ichida uning indeks belgilash kerak: \u003d 'e'; E'tibor bering, massiv elementlarining boshlanishi vergul orqali qavslarda sodir bo'ladi. Qatorlar

Yuqorida e'lon qilingan massivlar bir o'lchovli, chunki bitta indeks mavjud. Bir o'lchovli qatorlar odatda elementlarning chiziqli ketma-ketligini ifodalash uchun ishlatiladi. qator tasvirlab qachon, ikki indeksi ko'rsatilgan bo'lsa, array N indekslari N-o'lchovli bo'lsa, ikki o'lchovli deyiladi. Jadvalni va n-o'lchovni taqdim etish uchun ikki o'lchovli qatorlar bo'sh joyni taqdim etish uchun ishlatiladi. Bu erda 5 ta ustun va 20 qatordan iborat stol e'lonlari misolining misoli: Var stol: juft qatnov massivlari; Xuddi shu narsa ko'proq ixcham shaklda qayd etilishi mumkin: Var jadval: ikki tomonlama massivlar; Ko'p o'lchovli qatorning alohida elementiga kirish uchun siz har bir indeksning qiymatini, masalan, jadval yoki kompakt-disklar ko'p o'lchovli jadval massivlarida ko'rsatishingiz kerak

Misol. CON o'zgaruvchilar baytda turi elementlarini ikki o'lchamli dinamik qator bayoni. Var o'g'li: bayt massivi; Misol. Ko'p o'lchovli massivlar. Var MONBR: bayt massivi; // to'rt o'lchovli tmy_mas \u003d bayt massivi; // turi - ikki o'lchovli qator BORMI MBON 1: TMY_MAS Qator; // to'rt o'lchovli (ikki o'lchovli massivlar qatorlarining ikki o'lchovli massiv) C: Real massivi; // Uch o'lchovli dinamik monamit - MONBABR 1 Caslay elementi - 1 C massivining elementi - 1 C massivining elementi - /////////nmik massali massali misollarining birinchi elementi

Set butun elementlarning to'plamini ifodalash uchun kompozit ma'lumotlar turi. Sekund qiymatlari doirasi uning elementlaridan tashkil topgan barcha turdagi to'plamlar to'plamidir. Belgilarning barcha elementlari bitta bayt tartibli turiga tegishli bo'lishi kerak - asosiy turi. Turi Tletters \u003d "A" jamlanmasi: bir necha turini tasvirlab uchun, ifoda to'plamidir asosiy turi yoziladi shundan keyin ishlatilgan SET hisoblanadi. . "Z"; Var harflar: tokterlar; Belgilar: char; Shakl qavslarida to'plam elementlarining qiymatlari ko'rsatilgan:, ["A", "c"]. Agar belgilangan narsa bo'lmasa, u bo'sh deb nomlanadi:. Misol: Const Firma mahsuloti: Tletters \u003d [ "a", "e", "i", "o", "u"]; Harflarni boshlang: \u003d ["A", "B", "C"]; Belgilar: \u003d; (bo'sh set) tugadi. Set elementlari soni kuchga aylanadi. Delphi tilidagi to'plamning kuchi 256 dan oshmasligi kerak. To'plamlar

Src \u003d "https: //syt/presentation/20070619_133096976/image-25.jpg" alt \u003d "(Lang:! Fotoalbomlarda bilan ishlaganda fotoalbomlarda bilan ishlashda, munosabatlar foydalanish (\u003d ,,,\u003e \u003d, ruxsat etiladi ular bir xil ob'ektlar iborat bo'lsa foydalanish munosabatlar qazish (\u003d,\u003e \u003d,). ikki jamoalari teng deb hisoblanadi. nisbatan fotoalbomlarda elementlar tartibi har qanday qiymatlar mavjud emas. ikki A va B ko'rmagan belgilab ular ixtilof bo'lsa teng B majmui barcha elementlar majmui A. ifoda mavjud bo'lsa hokimiyat yoki qiymati tomonidan biri element To'g'ri \u003d rOST \u003d rOST \u003d True Aksessuarlar natijasida bo'lardi-da (\u003e \u003d, \u003d B rost

Operatsiya qilish. Belgilangan to'plamga tegishli elementni tekshirish uchun ishlatiladi. Odatda shartli operatorlar qo'llaniladi. 5 \u003d True 5 \u003d FALSE The ishga boshqa operatsiyalar o'nlab almashtirish siz, sharoit murakkab sinovlar samarali va aniq bajarish imkonini beradi. Misol uchun, operator (x \u003d 1) yoki (x \u003d 2) yoki (x \u003d 3) yoki (x \u003d 5) yoki (x \u003d 7), keyin tomonidan o'zgartirilishi mumkin, agar bir qisqa: Jurnal keyin x bo'lsa ba'zan rad bilan yozib harakat: X emas S. Ushbu yozuv noto'g'ri hisoblanadi, ikki operatsiyalar ketma-ket amal beri. To'g'ri yozuv: (x) emas. Foydalanish.

To'plamlarni (+) birlashtirish. Ikkala to'plamning kombinatsiyasi ikkala to'plamning elementlarini o'z ichiga olgan uchinchi to'plamdir. + \u003d \u003d To'plamlarning kesishishi (*). Ikkala to'plamning kesishishi uchinchi to'plam bo'lib, unda ikkala to'plamda bir vaqtning o'zida bir vaqtning o'zida kiritilgan elementlar mavjud. * \u003d * \u003d Farqlash (-). ikkita to'plamning farq birinchi majmui elementlarini o'z ichiga olgan uchinchi naushnik, ikkinchi kiritilgan emas. - \u003d - \u003d Delphi tilida, ikki standart protseduralar include va fotoalbomlarda bilan ish uchun mo'ljallangan bo'lib, istisno. Protsedura o'z ichiga (S, I) i elementni o'z ichiga oladi (I, I, S, I, I,), istisno qilish protsedurasi (I, I) I. STES I elementim istisnolarini istisno qilish (I,). uni samaraliroq qiling. Uyushma, chorraha, farqi