az internet ablakok Android

Numerikus változók és adattípusok. DELPHI adattípusok és dupla DELPHI adattípusú munka

Adattípusok használata, a programozó meghatározza a fordítót, hogyan tárolhat információt a programban. A változó kijelentésekor meg kell adnia annak típusát. Bizonyos típusok már a nyelvben vannak meghatározva, a másik programozónak meg kell kérni. A korábbi programozási nyelveknél korlátozott számú adattípust engedélyeztek, és Pascal Kiderült, hogy az egyik első nyelv, amely lehetővé teszi az új típusok programjának meghatározását.

Felhasználó által definiált adattípusok általában úgy vannak beállítva a programban minőségi meghatározások vagy modul (egység), de ez megtehető belül eljárás vagy függvény. A hirdetések adatait az adott blokk korlátain belül érvényesek, amelyben kiküldték őket. Ezen a blokkon kívül lehetetlen ilyen típusokra hivatkozni. Belül, az összes külső típust ugyanazzal a nevével helyettesítik. A bejelentett adattípusok bárhol használhatók a láthatóságuk területén; Tilos csak a megadott típusra való hivatkozás önmagában (itt azonban van egy kivétel a mutatókkal kapcsolatban).

Típusai hirdetések Pascal vannak a fordítóprogram olyasmi, mint a rendszereknek, hogy emlékeznünk kell arra az esetre, ha hirtelen találkozik a linket egyik vagy másik típus a programban. Önmagában a hirdetés nem járul hozzá a programhoz.

Ami a VAR hirdetésekhez hasonlóan a korábban bejelentett típusokhoz kapcsolódó egyes műveleteket állítja be. A változó határértékek típusa mind az értékekkel is elvégezhető értékek és műveletek.

A típusok és változók meghatározása a programelemek több helyén helyezhető el. A következőképpen néznek ki.

típus
Typel \u003d típus definíció; // Az új adattípusok a "Type" szakaszban vannak meghatározva. Minden új
// Írja be a nevet, majd már meghatározza
// meglévő típusok.
Type2 \u003d type__definition2; // Egy "Type" szakaszban többféle típusot is kijelölhet.
// A típus legegyszerűbb meghatározása típusnévből áll,
Típus3 \u003d tiposzt; // korábban definiált.
// új változókat jelentenek be
Var // "var" szakasz. Mindegyik új
VAR1: Típus definíciók; // változó először hozzárendelte a nevet, majd típusot (alapul)
// korábban meghatározott típusok).
Var2, var3: Type Definition4; // egy "VAR" szakaszban több változót is kijelenthet.
// Néhány változó azonos típusú lehet.
Var4: tiposzt; // A program könnyebben olvasható, ha a változók hozzárendelve vannak
// meglévő típusok.

Objektum A Pascal Syntax lehetővé teszi, hogy kivételesen összetett típusokat és a változók meghatározását egyidejűleg konstrukálhassa. Az egyes blokkok típusszelvényeiben szereplő típusok meghatározása azonban lehetővé teszi, hogy ezeket a típusokat a program különböző részeiben használják. Az új típusokat az alábbi kategóriák típusai alapján határozzák meg.

  • Egyszerű típusok a számok és egyéb "megrendelt" értékek formájában történő tárolására.
  • A karakterek szekvenciáinak tárolására szolgáló karakterláncok.
  • A különböző típusú információk egyidejű tárolására szolgáló szerkezeti típusok.
  • Pont típusok a megadott típusú változók közvetett eléréséhez.
  • Az eljárási típusok a változóknak tekintett eljárásokra és funkciókra gyakorolt \u200b\u200bfellebbezések.
  • Variant típusok a különböző típusú változó adatokban.

Általában a típusazonosítók csak akkor használhatók, ha új típusok vagy változók nyilatkozatának meghatározása. Vannak azonban több olyan funkció, amelyben a típusnév az üzemeltető részeként használható. Például a Sizeof funkció (T) visszaadja a T. változó által elfoglalt bájtok számát.

A sizeof funkció nagyon fontos az íráshoz hatékony programok. Az objektumos Pascal típusok közül sokan nagyon összetett struktúrával rendelkeznek, és nagyon sok helyet lehetnek a memóriában. Ebben az esetben az ilyen típusok elemei többet hoznak létre az értékek bemutatásához néhány logikai sorrendben, és nem annak érdekében, hogy helyet foglaljanak a memóriában. A Someoof funkció kiküszöböli a programozót az adatok mennyiségének kiszámításához ilyen esetekben.

Egyszerű adattípusok

Rendszertípusok
Teljes típusú
Szimbolikus típusok
Boolean típusok
Felsorolt \u200b\u200btípusok
Subadiapan típusok
Érvényes típusok

Bármely ténylegesen meglévő adattípus, függetlenül attól, hogy milyen nehéznek tűnik az első pillantásra, egyszerű összetevők, amelyeket a processzor manipulálhat. A Pascal objektumban ezek az egyszerű adattípusok két csoportra oszthatók: rendező, amely különböző mennyiségű adatokat képvisel, amelyet a processzor könnyen manipulálhat, és érvényes, amely megközelítőleg matematikai értékeket képviselhet. Az ordinális és érvényes típusok szétválasztása némileg feltételes. Ugyanígy az egyszerű adatok számokra és nem számokra oszthatók. Azonban az objektumban a Pascal nyelv, az ordinális és az érvényes adatok eltérő módon értelmeznek, és ez az elválasztás még hasznos.

Rendszertípusok

Ezeknek a szekvenciáknak a egyszerű típusai a legegyszerűbbek. Ezekben a típusokban az információk egyedi elemek formájában kerülnek bemutatásra. Az egyes elemek és a memória képviselete közötti kapcsolat meghatározza az elemek közötti természetes kapcsolatot. Ezért a név megrendelések.

Az objektum Pascal három csoportot határoz meg, és a felhasználó által meghatározott kétféle típusú csoportot. A csoportok egész szám, szimbolikus és logikai típusok. A felhasználó által meghatározott szekvencia típusok listázási és alsávok.

Minden szekvencia típusának minden értéke megrendelt szekvenciát képez, és a szekvencia típusának változójának értékét a helye ebben a szekvenciában határozza meg. Kivéve a változó integer típusú, az értékeit, amely egyaránt lehet pozitív és negatív, az első eleme bármilyen szekvencia típusú számos 0, a második elem - 1-es szám, stb Az egész érték szekvencia száma megegyezik a legtöbb értékkel. A megrendelési arány meghatározza az összes SEQUE típusú műtéttípust. Az ilyen típusú szabványos funkciók beágyazódnak a Pascal objektumba. A táblázatban szerepelnek. 1.1.

Az objektum Pascal összes szekvencia típusához van egy típusú feladat művelet, hogy teljes értékeket konvertáljon a megfelelő szekvencia típusok értékeihez. Ha t a szekvencia típusának neve, és az x egy egész expresszió, akkor t (x), aki a t értékét az X sorszámmal forgatja.

1.1. Táblázat. Az ordinális típusok műveletei

Művelet

Leírás

Az ordinális típusa minimális értéke

A t szekvenciális típus maximális értéke

A szekvencia típusának expressziós értékének sorszáma. Egy egész kifejezésre egyszerűen jelentése. Az ORD fennmaradó ordinális típusai esetében az expressziós eredmény fizikai ábrázolása egész számként értelmezhető. A visszatérési érték mindig az egész típushoz tartozik

Előző sorrendben. Az X-1-nek megfelelő teljes kifejezésekhez

A megrendelés értéke. Az x + 1-vel egyenértékű kifejezések esetében

Csökkenti a változó értékét 1. egyenértékű v: \u003d pred (v)

Növeli a változó értékét 1. egyenértékű V: \u003d Succ (V)

Teljes típusú

Változó típusú típusok esetén az információ egész számok, azaz azaz. Számok, amelyeknek nincs frakcionálása. A Pascal objektumban meghatározott egyes típusok fizikai (alapvető) és logikus (általános) vannak osztva. A programozás során kényelmesebb olyan logikai egész számok használata, amelyek a mikroprocesszor típusától és a működési környezetetől függően a változók mennyiségét úgy állítják be, hogy a maximális hatékonyságot elérjük. A fizikai egész típusokat csak olyan esetekben kell alkalmazni, ha az értékek és a fizikai térfogatváltozó elsősorban fontos. Az objektum Pascal meghatározza a következő teljes típusokat.

Egész szám
Hirtelen.
Kicsi.
Longint.
Byte
Szó.
Bíboros.

Felhívjuk figyelmét, hogy az egyik ilyen típusnak egész szám (egész szám). Néha zavart okozhat, de könnyen elkerülhetjük az egészet. Típusú csoport, egész szám - egy adott típusú a programban meghatározott meghatározott típushoz kulcsszó. A fizikai egész típusú változók különböző értéktartományok vannak attól függően, hogy hány memória bájtot foglalnak el (ami megegyezik a Sizeof funkció által visszaadott értékkel ez a típus). Az összes fizikai típus értékei a táblázatban szerepelnek. 1.2.

1.2. Táblázat.Fizikai egész típusok

Hatótávolság

Fizikai formátum

8 bit, jelzéssel

16 bit, jelzéssel

2 147 483 648-2 147 483 647

32 bit, jelzéssel

8 bit, nincs jel

16 bit, nincs jel

A fizikai egész típusok értékeinek és formátuma nem függ a mikroprocesszortól és az operációs rendszertől, amelyben a programot elvégzik. Nem változnak (vagy legalábbis nem kell megváltoztatni) a Pascal objektum végrehajtásának vagy verziójának változásával.

A logikai egész típusok (egész és bíboros) értékeinek tartományait teljesen más módon határozzák meg. Amint az a táblázatból látható. 1.3, nem kapcsolódnak a megfelelő fizikai típusok tartományaihoz. Kérjük, vegye figyelembe, hogy az alapértelmezett Delphi 32 bites nézetre van állítva.

1.3. Táblázat.Logika egész típusai

Értéktartomány

Fizikai formátum

16 bit, jele (smaliint)

2 147 483 648-2 147 483 647

32 bit, jelzéssel (longint)

16 bit, nincs jel (szó)

32 bit, nincs jel (longint)

Az ordinális típusokhoz meghatározott összes műveletet az egész adatokon végzik, de még mindig kényelmesebb a számokkal való munkához, mint a számokkal, és nem "nem szekvenciális szekvenciatípusokkal". Az "élő" számokhoz hasonlóan az egész típusú adatok behajthatók (+), levonva (-) és szaporodva (*). Az egész számok adataira alkalmazott egyes műveletek és funkciók kissé eltérő jelentése van.

Szimbolikus típusok

A szimbolikus adatok jelentése nyilvánvaló, ha megjelenik a képernyőn vagy a nyomtatóban. A szimbólum típusának meghatározása azonban attól függ, hogy mit jelent a szó szimbóluma alatt. Jellemzően a szimbolikus adattípusok meghatározzák az interakciós áramkört a különböző kötetek és néhány között szabványos módszer Kódolás / dekódolás a szimbolikus információk megosztására. A klasszikus nyelvű Pascal-ban nincs olyan rendszer, és konkrét implementációkban alkalmazták, hogy mindegyiket mindegyiket használhassa.

Az első mikroprocesszorok Pascal nyelvének megvalósításában egy 7 bites, az ASCII (American Standard) Kódolás Információs interchange - amerikai szabványos kód az információcserére). Ez a rendszer még mindig széles körben elterjedt, de az információkat általában a memória 8-bites részeiben tárolják. Egy további bit megduplázza a lehetséges karakterek ábrázolásának számát, de a kiterjesztett készlet végrehajtását aSCII szimbólumok. Gyakran messze van a szabványtól. Ez a változat a Delphi meghatároz egy 8 bites karaktereket, az úgynevezett Advanced (Extended) ANSI (American National Standards Institute - Amerikai Nemzeti Szabványügyi). Legyen, mivel lehet, hogy a szimbolikus rendszert úgy kell érzékelni, hogy az operációs rendszer érzékeli. Ablak operációs rendszer A Microsoft egy ANSI-rendszer, amely korlátozott számú nemzetközi jelet tartalmaz. A vágy, hogy alkalmazzon egy kiterjedtebb nemzetközi jelek. Az egész számítógépes világ egy unicode nevű 16 bites sémára halad, amelyben az első 256 karakter egybeesik az ANSI-rendszerben meghatározott karakterekkel.

Az objektum Pascal összes nézeteivel való kompatibilitás érdekében két fizikai szimbólumtípust és egy logikát definiálunk.

A fizikai típusok az alábbiakban találhatók.

A kettős szó (32 bit) szimbolikus típusai hiányoznak.

A logikai szimbólumtípust charnak nevezik. A klasszikus nyelv Pascal Char, az egyetlen karakter típus. A Delphi Char mindig megfelel az Ansichar adatok fizikai típusának. Az amerikai programozóknál a szimbólumszövetség egyetlen paktumcellával, sok éven át gyökereződött annyira, hogy gyakran egyszerűen nem fordul elő, hogy más kódolási rendszerek is használhatók. Az Internetben és a World Wide Web programok nemzetköziesítésével kapcsolatos megbeszélések azonban jelentősen megváltoztathatják a szimbolikus adatok problémájához való hozzáállását. Alkalmaz logikai típus A CHAR-t más mikroprocesszorokhoz és operációs rendszerekhez kell végrehajtani, amelyekben Char Widechar-nak lehet meghatározni. Ha olyan méretű programokat ír elő, amelyek bármilyen méretű vonalat kezelhetnek, hogy meg kell adni ezt a méretet, javasoljuk, hogy a sizeof funkciót anélkül, hogy meg kell adnod. Az ORD (C) funkció, ahol C bármilyen karakter típusváltozó, visszaadja az egész számot, amelyhez az S szimbólum memóriában jelenik meg.

Boolean típusok

A képzés korai szakaszában a programozók egy kicsit elsajátítják a két államot, amelynek két államot lehet használni az egyik kétkövetkező információ rögzítésére. Egy kicsit kijelölhet 0 vagy 1, igen vagy nem, be- és kikapcsolás, felső vagy alsó, állvány vagy go. Az objektum Pascal, információ arról, hogy bármi, amit az igazság (igaz) vagy hamis (FALSE) ábrázolhat, a logikai változókban tárolják. A kvizek teljes típusai, és a táblázatban szerepelnek. 1.4.

1.4. Táblázat.A logikai típusok változók méretei

2 bájt (kötet szó)

4 bájt (longint volumen)

Az egész számmal és szimbolikus típusokkal analógiával, fizikai és logikusra osztva természetes, hogy feltételezzük, hogy ByteBool, Wordbool és Longbool - Fizikai típusok, Boolean - Logical. De ebben az esetben ez nem egészen így van. Mind a négy típus más. Az objektum Pascal esetében a Boolean típus előnyös, a fennmaradó maradékot más programozási nyelvekkel és operációs rendszerekkel való kompatibilitásra definiálják.

A Boolean típusú változók csak igaz (igazság) és hamis értékek rendelhetők. Változók byteboool, WordBool és Longbool is kap más sorrend értékek, összefonódó általában hamis esetén nulla és igaz - minden nullától különböző értéket.

Felsorolt \u200b\u200btípusok

Írja be az enum típusát \u003d (első érték, érték2, érték3, utolsó érték);

Jellemzően ezek a típusú listák diszkrét értékeket tartalmaznak, amelyek nem számok és nevek. A Boolean típus a Pascal objektum legegyszerűbb listája. A logikai változók két értéket vehetnek fel az igazi és hamis nevek által kifejtett érték, és maga a típusa a Pascal objektumban van meghatározva, mintha a következőképpen kerülne kimutatásra:

Típusú boolean \u003d (hamis, igaz);

A Pascal boolean típusát, az összehasonlításokat elvégzik, az azonos típusú típusok többsége egyszerűen az egyedi célú egyedi nevek vagy azonosítók listája. Például létrehozhat egy olyan típusú MyColor (színem) értékeivel MyRed, MyGreen és MyBlue (a vörös, a zöld, a kék). Ez meglehetősen egyszerű:

Type Mycolor \u003d (Myred, MyGreen, MyBlue);

Ez a vonal négy új azonosítót jelentett be: Mycolor, Mycred, MyGreen és MyBlue. A Mycolor azonosítóját a szekvencia típusa jelzi, ezért az objektum Pascal szintaxisában ez az azonosító mindenhol használható, ahol a felsorolt \u200b\u200btípusok megengedettek. A fennmaradó három azonosítók a mycolor típusú értékek. Mint a szimbolikus I. boolean típusok A hallgatott nem számok, és azok használata, mint a számok nem értelme. A felsorolt \u200b\u200btípusok azonban sorrendűek, így az ilyen típusú értékek értékeit rendezik. A listán szereplő azonosítók szekvenciaszámok szekvenciális számokként vannak hozzárendelve. Az első név hozzárendeli a 0 sorszámot, a második - 1 stb.

Subadiapan típusok

Az alsávok típusának változásai tartalmaznak olyan információkat, amelyek megfelelnek a forrás típusú értékek bizonyos tárcsázási tartományának, amely bármilyen szekvenciatípust képvisel, kivéve a Subadiapan-t. Az alsáv típusának meghatározásának szintaxisa a következő űrlap:

Típus Subange típus \u003d alacsony érték ... nagy érték;

Az alsávváltozók megtartják a forrás típusának összes funkcióját. Az egyetlen különbség az, hogy az alsávváltozó csak a megadott alsávban szereplő értékeket rendelheti hozzá. Az állapot ellenőrzését a tartomány ellenőrzési teszt parancs adja meg.

Az alsávot kifejezetten meghatározásának szükségessége ritkán fordul elő, de minden programozó implicit módon használja ezt a kialakítást a tömbök meghatározásakor. Aladd kialakítás formájában van, hogy a tömb elemeinek számozásának rendszere be van állítva.

Érvényes típusok

Változó érvényes típusok, olyan számokat tartalmaz, amelyek egész számból és frakcionált részekből állnak. Az objektum Pascal hat érvényes típusú. Minden típus a 0 számot képviselheti, azonban eltérőek a küszöbértékben (minimális pozitív) és maximális értékekamely képviselhető, valamint a pontosság (a jelentős számjegyek száma) és a kötet. A tényleges típusokat a táblázat írja le. 1.5.

1.5. Táblázat. Érvényes típusok.

Az egész típusok egész számokat képviselnek, vagyis Számok, amelyek frakciója nulla. A két egyenlőtlen egész szám közötti különbség nem lehet kevesebb, mint egy. Ennek oka, hogy az egész számokat diszkrét értékek kijelölésére használják, függetlenül attól, hogy a valódi tárgyak bármilyen hozzáállása van-e a számokhoz. A tényleges típusok úgy vannak kialakítva, hogy olyan számokat képviseljenek, amelyek frakcionált részük lehetnek, ezért hasznosak azok, amelyek meglehetősen közel vannak, majdnem folyamatos értékek megjelenítéséhez.

MEGJEGYZÉS, majdnem majdnem. Annak ellenére, hogy a név érvényes, az ilyen típusok változók különböznek a matematikai érvényes számoktól. A Pascal objektumban az érvényes típus a matematikai érvényes számok részhalmaza, amelyek ábrázolhatók egy lebegőpontban és egy meghatározott számú számban. A megkülönböztető programozók esetében a helyzetet súlyosbítja azt a tényt, hogy az IEEE formátumokban (Elektromos és elektronikus és elektronikus Engi-Neers Intézet - Elektromos és Elektromos Mérnöki Intézet), amelyet a Delphi programokban és általában a legtöbb Windows programban használnak, lehetséges hogy pontosan csak rögzített számmal rendelkezzen. Bit frakcionális részben. Meglepő módon egy ilyen egyszerű szám, mint 0,1, egy kiterjesztett IEEE formátumban van írva, néhány hiba, még akkor is, ha nagyon kicsi. Ennek következtében egy lebegőpontos ábrázolás kissé kényelmetlen azoknak a programoknak, amelyekben a numerikus értékek tizedeskibocsátásainak rögzített száma megmarad. Ez vonatkozik az "élő" pénzzel dolgozó programokra.

A probléma részleges megoldásához a Pascal objektumban két rögzített vesszővel rendelkező formátum van meghatározva. A COMM típus (számítástechnikai számítástechnika) csak az egész számokat tartalmazza a -2 63 +1 és 2 63 -1 közötti tartományban, amelyek nagyjából megfelelnek a -9.2X10 18 és 9.2X10 közötti tartománynak. Amikor az amerikai valutával rendelkező programozási műveletek, a fejlesztőknek rendszerint meg kell keresniük a pénzösszegek írásának természetes módját, amelyben a szám egész része meghatározza a dollár, a frakcionális centek számát. Ha ilyen értékeket rögzítenek változó típus A Comp meg kell képviselnie őket egész számú centként. Ebben az esetben meg kell szednie az értéket 100-ra, hogy a centek dollárba kerüljön, majd ossza meg 100-ra, hogy újra megkapja a központokat.

Ezek az aggodalmak elkerülhetők, ha a pénznem típusa. Ebben az esetben a skála kiválasztásának feladata a fordítót veszi igénybe. Fizikailag, valuta értékek kerülnek rögzítésre emlékére térfogata azonos Comp, egészek, azonban a fordító nem elfelejteni, hogy ossza meg az értéket 10.000 (nem 100!), Hogy az összhangban legyen a monetáris megjelölés és szorozzuk meg 10.000 A memóriában írás előtt. Ez négy decimális tizedesjegyű abszolút pontosságot biztosít.

Numerikus változók és adattípusok

A Delphi programozó rendszer egy modern és nagyon hatékony eszköz a programok létrehozásához. Ebben meg tudná győződni arról, hogy tanulmányozza a rendszer szerkesztője elemi képességeit. Az ilyen szerkesztőben való munka nem nehéz, és gyakran egyszerűen a felhasználót örömmel nyújtja a képességek sokaságát. A Delphi-ban létrehozott programok meglehetősen hatékonyak, és lehetővé teszik, hogy a számítástechnika összes teljesítményét használja.

Az egyik legfontosabb akadály a kötet véletlen hozzáférési memória és a számítógép sebessége. A programozónak mindig azt kell gondolnia, hogyan csökkentheti a program szükségességét a memóriában. A probléma megoldásának egyik módja a programban használt változók számának korlátozása, vagy a tároláshoz szükséges memóriatűsek méretének csökkentése.

Már tudod, hogy az egész és a valódi típus változatait hirdetik. Ezen változók mellett a Delphi rendszerben több adattípus létezik. Ezek csak a tárolásához szükséges memória mérete, és ennek megfelelően a változókban tárolható számok tartománya. Így a programozó kiválaszthatja a szükséges numerikus típusát, és racionálisan használja a memóriát. Tehát mi az adattípusok.

Adattípusok

Bármilyen adat, azaz A DELPHI-ben lévő funkciók vagy kifejezések állandóságai, változók, tulajdonságai, függvényei vagy kifejezéseitípusok jellemzik. A típus meghatározza az egy vagy egy másik objektum megengedett értékét, valamint számos megengedett műveletet. Ezenkívül a típus meghatározza az adatok belső ábrázolásának formáját is a PC-memóriában.

Delphi. A kiterjedt adattípus-struktúra jellemzi:

Eddig csak egyszerű típusokat fogunk vállalni.

Rendszertípusok

Az ordinális típusokat jellemzi, hogy mindegyikük véges számú lehetséges értékkel rendelkezik. Ezeket az értékeket bizonyos módon lehet megrendelni (innen és a típusok nevétől), és ezért mindegyikük összehasonlíthatja valamennyi egész számot - az érték sorszámát.

A szekvencia típusok közé tartoznak az egész számok, logikai, szimbólum, felsorolt \u200b\u200bés típusú tartomány. Bármelyikükhez az ORD (x) függvény alkalmazható, amely visszaadja az X expresszió értékének sorszámát.

Teljes típusú

Név

Hossz, byte

Értéktartomány

Bíboros.

0. .. 2 147 483 647

Byte

0...255

Hirtelen.

128...+127

Kicsi.

32 768...+32 767

Szó.

0...65 535

Egész szám

Longint.

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

Int64.

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

Hosszúság.

0. . .4 294 967 295

A Longword és Int64 típusai először a 4. verzióba kerülnek, és a Smallint és a bíboros típusok hiányoznak a DELPHI 1. Az egész verzió típusa 2 bájtot vesz igénybe, és a -32768-tól +32767-ig tartó értéke van .

Az egész típusokra vonatkozó szabványos eljárások és funkciók

Fellebbezés

Az eredmény típusa

törvény

aBS (x)

Visszaadja az X modult

cHR (B)

Char.

Visszaadja a szimbólumot a kódjában

dec (vx [, i)

Csökkenti a VX értékét, és az i - az 1-es hiányban

inc (vx [, i])

Növeli a vx értékét, és az i-it 1 hiánya 1

Hi (w)

Byte

Visszaadja a vezető érv íját

Szia (i)

Is

Visszaadja a harmadik bájtot

Lo (i)

Visszaadja a fiatalabb bájt érvét

Lo (w)

Is

furcsa (l)

Boolean.

Visszatér, ha egy argumentum páratlan szám

Véletlen (w)

Mint a paraméter

Visszaadja a pszeudo-véletlen számot, egyenletesen elosztva a 0 ... (W-l) tartományban

sqr (x)

Visszaadja az érv négyzetét

swap (i)

Egész szám

A szavak bájtjainak változása a szóban

swap (w)

Szó.

Is

Emellett az Ön által ismert aritmetikai műveletek mellett még két: div és mod.

d IV. - Az egész számok megosztása a frakcionált rész szemétjével. Például:

egy div b Ha A \u003d 10 és B \u003d 3, akkor az eredmény 3.

mod. - az egész számok megosztása. Például:

egy mod B. ha A \u003d 10 és B \u003d 3, akkor az eredmény 1

Egész számok képviselete

Az egész számok képében csak vannak jelek és számok (a + + jel nem jelezheti). A decimális számrendszert feltételezzük, de hexadecimális lehet. Ebben az esetben, mielőtt a számot meg kell tenned egy $ jelet.

Típustartomány

Minden egész típus az úgynevezett felsorolt \u200b\u200bvagy szekvenciatípusokra vonatkozik. Bármely szekvencia típusban kiválaszthatja az értékek egy részét, amelyben a forrás típusának összes értéke szerepel. A tartománytípus a Típusú hirdetésekben található, ha megadja a két pont által elválasztott minimális és maximális értékeket. A hirdetéseket mindig a Type Service Word elindítja. Például:

Írja be a PIR \u003d [1..2006];

Felsorolt \u200b\u200btípus

A típus típusát a befogadó értékek felsorolása határozza meg. Minden értéket bizonyos azonosítónak nevezik, és a kerek zárójelben keretezett listában található, például:

Typecolors \u003d (piros, fehér, kék);

Szimbólum típusa

A szimbolikus típusértékek az összes PC karakterkészlet. Minden karakter a 255-ös tartományban lévő egész számnak tulajdonítható. Ez a szám a szimbólum belső ábrázolásának kódjaként szolgál, visszaadja az ORD funkciót.

A Windows-i kódoláshoz egy ANSI kódot használnak (az American National Standard Institute - az American Standardization Institute, amely ezt a kódot javasolta). A PC-karakterek első felét a 0 ... 127 kódokkal rendelkező első fele megfelel a 7.3. Táblázatnak. A szimbólumok második felét a 128 ... 255 kódokkal végzett szimbólumok különböző betűtípusok esetén változik. Standard Windows Fonts Arial Cyr, futár Új Cyr és Times Új római. Hogy képviselje a szimbólumok a cirill (anélkül, „E” és „E”) használja az utolsó 64 kódok (192-256): „A” ... „I” által kódolt értékei 192..223 , "A" ... "I" - 224 ... 255. Az "E" és az "E" karakterek 168 és 184 kódok vannak.

Az ANSI szabványnak megfelelően kódolva

A kód

Szimbólum

A kód.

Szimbólum

A kód.

Szimbólum

A kód

Szimbólum

Zóna

Etető

F.

-

/

DC 4.

F.

A 0 ... 31 kódok szimbólumai a szolgáltatási kódokhoz tartoznak. Ha ezeket a kódokat a program szimbolikus szövegében használják, szóköznek tekintik.

A char típusú alkalmazások alkalmazható kapcsolatok, valamint beágyazott funkciók:

CHR (B) - CHAR típusú funkció; átalakítja a kifejezést a bájt típusába a szimbólumba, és visszaadja annak értékére;

UPCASE (CH) - CHAR típusú funkció; Visszaadja a nagybetűt, ha a CH kisbetűs latin betű, különben a szimbólum visszaadja a Cyrillic forrás karakterét).

Valódi típusok típusai

Az ordinális típusokkal ellentétben az értékek mindig több egész számmal vannak összehasonlítva, és ezért teljesen pontosan pontosan pontosan pontosan vannak, a valós típusok értékei az önkényes számot csak a véges pontossággal határozzák meg a valós szám belső formátuma.

Valódi típusok típusai

Hossz, byte

Név

Az értelemjegyek száma

Értéktartomány

8

4

8

10

8

8

Igazi

Egyetlen

Kettős.

Kiterjedt

Comp

Valuta.

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

A DELPHI 1-es verzióiban ... 3 Írja be a REAL FROVIED 6 bájtot, és számos értéke volt 2, 9 * 10-39 és 1,7 * 10 38 között. 4. és 5. verziók Ez a típus egyenértékű kettős típusú. Szükség esetén (kompatibilitási célokra), használja a 6-Bail Real-t, meg kell adnia a fordítói irányelvet (SrealCompatility On).

Amint az előző táblázatból látható. Teljes szám Delphi. 4-10 szomszédos bájtból áll, és a PC-memóriában a következő struktúrával rendelkezik:

S.

E.

M.

Itt s egy jelkibocsátás; e - exponenciális rész; bináris rendet tartalmaz; M - Mantissa szám.

Mantissa M hossza 23 (for Single) 63 (kiterjesztett) bináris kisülések, amely pontossága 7 ... 8 egyszemélyes és 19 ... 20 hosszabb decimális számjegy. A tizedespontot (vessző) a Mantissa bal oldali (vezető) kivételével, de a számmal végzett műveletek alatt álláspontja az exponenciális részben tárolt szám bináris sorrendjével összhangban balra vagy jobbra tolódik , Tehát a valós számokra vonatkozó intézkedéseket lebegőpontos aritmetikai (vessző) nevezik.

Megjegyezzük, hogy a számtani koprocesszor mindig feldolgozza a számok a kiterjesztett formátumban, és három másik igazi fajta ebben az esetben kapunk egyszerű csonkolása az eredményeket a kívánt méretre, és főként a memóriát.

Az alábbi táblázatban bemutatott beépített matematikai funkciók használhatók a következő lapon megadott valós adatokkal. Ebben a táblázatban a valóság minden valós típusú, egész számot jelent - bármilyen típusú.

Standard matematikai funkciók Delphi.

Fellebbezés

A paraméter típusa

Az eredmény típusa

jegyzet

aBS (x)

Igazi, egész szám

Valódi argumentum típusa

Argument Modul

N \u003d 3.141592653 ...

Arctan (x)

Archangencia (érték a radianban)

cos (x)

Ugyanaz<<

Ugyanaz<<

Cosine, szög radianban

exp (x)

Kiállító

frac (x)

A szám frakcionált része

int (x)

A szám egészének része

ln (x)

Természetes logaritmus

Véletlen

Pszeudo-véletlen szám, egyenletesen elosztva a 0-as tartományban ...

Véletlenszerű.fx)

Egész szám

Egész szám

Pszeudo-véletlen egész szám, egyenletesen elosztva a 0 ... (x-1) tartományban

Véletlenszerűen.

A pszeudo-véletlen számok generátorának megkezdése

sin (x)

Igazi

Igazi

Sinus, szög a radianokban

sqr (x)

Ugyanaz

Ugyanaz

Négyzetes argumentum

sqrt (x)

Négyzetgyök

Megjegyzés: Az ál-generátor véletlen számok olyan funkció, amely némi értéke nevezett alap, nem változik, a kibocsátások szerint egy speciális algoritmust, és ad egy új számot. Ugyanakkor az új szám alapvetővé válik a következő funkciók kezelésében; és így tovább. Ez azt jelenti, hogy a véletlenszerűen a különböző, programok (vagy egy program több futammal) soros hozzáférése van, az egyik és ugyanazon szekvenciája a pszeudo-véletlen számok mindig esik.

A valós számok ábrázolása

A reálszámok a képpontjukon és / vagy jelzőjükben (E vagy E szimbólum) tartalmaznak, például:

X \u003d -0,5;

Y \u003d 1,34;

Z \u003d -1 E -5;

W \u003d 7,5 E +15;

Adat típusú konverziós funkciók

Kerek (X. ) - A valós szám kerekítése a legközelebbi egészre. A funkció argumentuma az igazi típus értéke, és az eredmény kerekítve a Longint típusának legközelebbi egész számára. Ha az eredmény a longint értékek tartományát jelenti, akkor hiba lép fel a program végrehajtásakor.

TRUCH (X. ) - A valós szám egész részének megszerzése. Eredménytípus - Longint. Ha az eredmény a longint értékek tartományát jelenti, akkor hiba lép fel a program végrehajtásakor.

Írja be a dátumot

A dátumidő típusa a standard tdatetime azonosító határozza meg, és egyidejű tárolásra és dátumra és időre tervezték. A belső ábrázolásban 8 bájtot foglal el, és mint a valuta valódi szám, rögzített frakcionális rész: A dátum teljes részében a dátumot a frakcionált idő alatt tárolják. A dátumot a 1899. december 30-án, 1899-es évektől eltelt napok száma határozza meg, és az időtartamot a 0 órás nap részeként, így a 36444,837 érték megfelel a 20099.10.10-es időpontnak és a 20: 05-es időpontnak. A napok száma lehet negatív, de az értékek kisebbek -693594 (megfelel a dátum 00.00.0000 a Születés Krisztus) nem veszi figyelembe a dátumokat konverziós funkciók a string típusú.

Ugyanazokat a műveleteket definiáljuk, mint a tdatetime típusa, mint a valós számok, és az egész szám és a valós típusok állandóságai és változók is részt vehetnek az ilyen típusú kifejezésekben.

Az alábbi táblázatban felsorolt \u200b\u200balprogramok a dátum és az idő működésére szolgálnak.

Alprogramok a dátummal és az idővel való munkavégzéshez

Funkció. Dátum: tdatetime;

Funkció. DATETOSTR (D: TDATETIME): Húr;

Funkció. DATETIMETOSTR (D: TDATETIME): Húr;

Funkció. FORMATIONDATETIME (formátum: Húr;

Érték (tdatetime): Húr;

Funkció. Most: tdatetime;

Funkció. Idő: tdatetime;

Funkció. Timetostft (tdatetime): string;

Visszaadja az aktuális dátumot

Konvertálja a dátumot a karakterláncban

Konvertálja a dátumot és az időt a karaktersorozatban

A formátumparaméter-speciffióknak megfelelően a karakterláncban lévő értékparaméterből származó dátumot és időt konvertálja (lásd: A 7.3. Pontban szereplő magyarázatok)

Visszaadja az aktuális dátumot és időt

Visszaadja az aktuális időt

Átalakítja az időt a sorhoz

A Delphi nyelven beépített adattípusok közé tartozik az egész számok, érvényesek, szimbólumok, húrok, mutatók, logikai.

Rendszertípusok. A megrendelés (ordinális) típusokat azoknak nevezik, amelyekben az értékeket megrendelik, és mindegyikük megadhatja az előző és a későbbi értékeket.

Szerkezeti típusok. A szerkezeti típusok közé tartoznak a készletek, tömbök, bejegyzések, fájlok, osztályok, interfészek.

Adatok típusai. Változó típusú típusok esetén az információ egész számok, azaz azaz. Számok, amelyeknek nincs frakcionálása.

1. táblázat Az ordinális típusok műveletei

Művelet

Leírás

Az ordinális típusa minimális értéke

A t szekvenciális típus maximális értéke

A szekvencia típusának expressziós értékének sorszáma. Egy egész kifejezésre egyszerűen jelentése. Az ORD fennmaradó ordinális típusai esetében az expressziós eredmény fizikai ábrázolása egész számként értelmezhető. A visszatérési érték mindig az egész típushoz tartozik

Előző sorrendben. Az X-1-nek megfelelő teljes kifejezésekhez

A megrendelés értéke. Az x + 1-vel egyenértékű kifejezések esetében

Csökkenti a változó értékét 1. egyenértékű v: \u003d pred (v)

Növeli a változó értékét 1. egyenértékű V: \u003d Succ (V)

2. táblázat

Értéktartomány

2147483648 -- 2147483647

8 bit, kifogásolt

16 bit, kifogásolt

32 bit, nyugodt

Van olyan típus, mint az egész szám, amely egyenértékű a Longint típusú. Tartománya -2147483648 és 21474836478 között. A Pämyat-ban 4 bájt van. A hálózat egész szám és bíboros, így a legtöbb esetben kívánatos ezeket a típusokat használni.

A szekvenciatípusokra meghatározott összes műveletet minden adat fölött végezzük. Teljes típusú műveletek:

3. táblázat.

Érvényes adattípusok. Változó érvényes típusok, olyan számokat tartalmaz, amelyek egész számból és frakcionált részekből állnak.

4. táblázat.

A maximális teljesítmény fő rendelkezése az igazi típus, amely jelenleg kettős típusú.

5. táblázat Az érvényes típusok funkciói

Visszatérési érték

Abszolút érték x.

Arcthangencia H.

Cosine x (X-t sugároznak, és nem fokozatosan)

Exponenciális funkció az x-től

Frakcionális rész.

Egész X rész. A név ellenére érvényes értéket (lebegő pontosvessző), azaz. Csak a frakcionált részben nulla

Természetes logaritmus x

PI szám (3.1416 ...)

A legközelebbi K x egész szám. Visszaadja az egész típus értékét. A "legközelebbi X" állapot nem működik, ha a felső és az alacsonyabb értékek egyenlőek (például, ha a frakcionált rész pontosan 0,5). Ezekben az esetekben a Delphi az oldatot az operációs rendszerre váltja. Általában az Intel processzorok ezt a problémát megoldják az IEEE ajánlásnak megfelelően, amely a legközelebbi egész szám felé kerekített. Néha ezt a megközelítést "bankár kerekítésnek" nevezik

Négyzet, X, I.E. X * X.

Négyzetgyökér x

Egész X rész. Ellentétben az int visszatéréssel

Szimbolikus adattípusok. A szimbolikus típusok egy karakter tárolására szolgálnak.

6. táblázat.

Booleans adattípusok. A logikai adattípusok változásai logikai értékeket jelentenek, például igaz (igazság) és hamis.

7. táblázat A logikai típusok mérete

2 bájt (kötet szó)

4 bájt (longint volumen)

A tömb egy adatstruktúra, amely ugyanolyan típusú változókészlet, amelyek közös névvel rendelkeznek. A tömböket kényelmesen használják raktározáshoz a természetben, például asztalok és listák.

A Massiva bejelentése

A változó hirdetések használata előtt egy tömböt, mint bármely programváltozót kell bejelenteni. Általánosságban elmondható, hogy a tömb nyilatkozatának utasítása a következőképpen igazodik:

Név: [nizhny_index..pine_index] típus

ahol: a név a tömb neve;

a tömb egy fenntartott szó Delphi, amely azt jelzi, hogy a bejelentett név a tömb neve;

nizhny_index és Upall_Index - átlagos konstansok, amelyek meghatározzák a tömbelemek indexének változásait, és implicit módon, a tömb elemeinek (méretének) számát;

típus - tömbelemek típusa.

Mi írja a könyveket a Delphi Grigoriev A. B.

3.2.2. A DELPHI típusai

A Delphiben négy valós típus van: egyetlen, kettős, kiterjesztett és valós. Általános formátumuk megegyezik (3.1. Ábra, A).

A jel mindig egy kicsit. A pozitív számok és a negatív egység nulla. Ami a mantis és a kiállítók méretét illeti, ez a típusa közötti különbség van.

A konkrét számokhoz való áttérés előtt fontolja meg részletesebben a valódi típusú, kis kirándulás ehhez. Valódi a Pascal nyelv standard típusát, amely eredetileg ott volt. Amikor Pascal létrejött, a processzorok még nem voltak beépített támogatást a valós számok számára, így minden típusú művelet az egész számokkal történő műveletekre csökken. Ennek megfelelően az igazi típusú mezők méretét választották ki, hogy optimalizálják ezeket a műveleteket.

a) A valós szám általános nézete

b) Az egyes típusok számának bináris ábrázolása

Ábra. 3.1. Valódi szám tárolása a memóriában

Az Intel 8086/88 mikroprocesszor és továbbfejlesztett lehetősége - 80286 és 80386 - szintén nem volt hardvertámogatás a valós számok számára. De ezeknek a processzoroknak a rendszerei voltak lehetőségük az úgynevezett koprocesszor csatlakoztatására. Ez a mikrokircuit a fő processzor gumiabroncsokon keresztül memóriával dolgozott, és a valós számok hardveres támogatását szolgáltatta. A középső kézi rendszerekben a koprocesszor fészke általában üres volt, mivel csökkentette az árat (természetesen, beilleszti a koprocesszort, nem volt probléma). Minden központi processzor esetében koprocesszorokat készítettek, az Intel 8087, 80287 és a 80387 jelzéssel. Van még más vállalatok által készített koprocesszorok is. Gyorsabban dolgoztak, mint az Intel Coprocessjei, de később jelentek meg a piacon. A koprocesszorok által támogatott valós számok típusa nem egyezik meg a valódi. Az IEEE szabvány (elektromos és elektronikai mérnöki intézet) határozza meg.

Ahhoz, hogy az IEEE típusú támogatást nyújtson a rendszereiben, Borland belép Turbo Pascal típusok egyetlen, dupla és kiterjesztve. A bővített a fő kopprocesszor típus, egyetlen és kettős, egy nagyon egyszerű csonkolás. A Coprocessor parancsok rendszere lehetővé teszi, hogy dolgozzon ezekkel a típusokkal: amikor betölti az egyes vagy kettős típusú típus számát a kopo-processzor belső nyilvántartásához, az utóbbi átalakítja őket. Éppen ellenkezőleg, amikor az ilyen típusok számának kirakodása a regiszterre a memóriába, a koprocesszornak a kívánt méretre számít. A belső műveletek mindig az adattípussal vannak végrehajtva (azonban ez a szabály kivétele van, amelyen később a különböző típusok formátumának részletes megfontolása után fogunk összpontosítani). Egy és kettős lehetővé teszi, hogy mentse a memóriát. Egyik sem egyeznek meg a valódi típussal is. A koprocesszorokkal rendelkező rendszerekben az új típusok jelentősen feldolgozzák (2-3 alkalommal) gyorsabban (ez azon a tényen alapul, hogy a megfelelő transzformáció után a tényleges transzformációt a koprocesszor is feldolgozza; ha összehasonlítjuk a kiterjesztett típus feldolgozását A gépen koprocesszorral és valódi a gépen a koprocesszor nélkül, akkor az egyéni műveleteknél kb. 100 alkalommal elérte a sebességváltást). Az ilyen típusú programok esetében a koprocesszor nélküli rendszerekben végezhető el, lehetőség van arra, hogy összekapcsolja a koprocesszoros szoftver emulátort. Az ilyen típusok emulátor általi feldolgozása lassabb volt, mint a valódi feldolgozás.

A 486. Intel sorozatból kiindulva a processzor és a koprocesszor ugyanabban a chipben történő integrációját veszi át. A zsetonok házasságának százalékos aránya túl nagy, így az Intel a ravaszsághoz megy: ha a zsetonok csak a koprocesszor részén vannak, akkor a kopprocesszort blokkoló jumperek, és a chipet blokkolják ezt a kristályt, és a mikrocirkót 80486SX-ként értékesítik Processzor, amely nincs beépített koprocesszorral (ellentétben a teljes verzióval, amelyet 80486dx-nek neveztek). Volt olyan inverz helyzetek, amikor a károsodás koprocesszora nem volt, de a processzor nem működött. Az ilyen zsetonok "Coprocessor 80487" lettek. De ez az egzotikus területről van szó, és adataink szerint ez a koprocesszor nem érte el Oroszországot.

A Pentium processzor minden saját opciójában beépített lebegőpontos számítástechnikai egység (FPU-lebegőpontos egység), és egy különálló koprocesszornak nem volt szüksége rá. Így a processzor megérkezésével a valós típus csak a visszafelé kompatibilitásra maradt, és az egységes, kettős és kiterjesztett típusai megjelentek. A Delphi 4-el kezdve az igazi típus a kettős típusú szinonimává válik, és a régi 6-bájtos típus megkapja a Real48 nevet.

jegyzet

Van egy fordító irányelv ($ realCompatibility ON / OFF), amikor bekapcsolja, amelyre (alapértelmezés szerint le van tiltva) A REAL szinonimája a real48-nak, nem dupla.

A különböző valós típusok mezők méretei táblázatban vannak feltüntetve. 3.1.

3.1. Táblázat. Terepi méretek valódi típusokban

Egy típus Méret típus, bájtok Mantissa méret, bitek Kiállító mérete, bitek
Egyetlen 4 23 8
Kettős. 8 52 11
Kiterjedt 10 64 15
Igazi 6 40 7

Az igazi típusok, például a tartomány és a pontosság más paraméterei megtalálhatók a Delphi Súgóban.

A könyvből, a 2005-ös és a platform.net 2.0 programmal rendelkező könyvből. Troelsen Andrew.

Az értékek által jellemzett típusok, a referenciatípusok és a hozzárendelési operátor most olvassa el a következő fő () módszert, és vegye figyelembe az 1. ábrán látható kimenetét. 3.12.Szatok Void Main (String Args) (Console.writeline ("*** típusú típusú értékek / referenciatípusok ***"); konzol.writeline (-\u003e P1 létrehozása "); Mypoint

A Delphi könyv tippjeiből. 1.0.6 verzió. Szerző Ozers valentin

Az értékek által jellemzett típusok és a referenciatípusok tartalma most, hogy úgy érzi, hogy a különbség az értékkel jellemzett típusok és a referenciatípusok között, fontolja meg egy összetettebb példát. Tegyük fel, hogy a következő referencia típus (osztály) van,

Az internetes megoldások könyvétől Dr. Bob Szerző Svort Bob

Az értékek és referenciatípusok által jellemzett típusok: Végleges megjegyzések a téma megvitatásának befejezéséhez, megtanulják az információs táblázatot. 3.8, amely rövid összefoglalót ad a legfontosabb különbségekről az érték, és a referenciatípusok között. Táblázat

A Book Delphi. Trükkök és hatások Szerző Chirtik Alexander Anatolyevich

A könyv alapvető algoritmusok és adatszerkezetek Delphiben Szerző Baknell Julian M.

1.3.3. DELPHI ÉS CGI Ebben a fejezetben elmondom, hogyan írhatok egy egyszerű Delphi CGI alkalmazást, webmodulok vagy más ügyfél / kiszolgáló modulok használata nélkül. Az első CGI rövidítés a közös átjáró felületet jelenti, és ez csak egy név, amely az információk az ügyfél a szerverre. Az ügyfél oldalán

A Book World Interbase-ból. Építészet, adminisztráció és fejlesztés adatbázis-alkalmazások Interbase / Firebird / Yaffil Szerző Kovyzin Alexey Nikolaevich

2.1.1. Delphi és HTML A fő eszközfejlesztők DELPHI, és megírjuk a Delphi adatbázis HTML szakértőjét ebben a fejezetben. A Delphi lehetővé teszi, hogy a formátum szinte adatbázisához csatlakozzon. A BDE-t a Paradox és a DBase-hez, az ODBC-vel, például a hozzáféréssel és az SQL linkekkel nagy DBMS típusú linkekkel

A szerző könyv Delphi virtuális könyvtárából

9.3. Az OLE-t DELPHI-ban, mint sok modern programozási környezetben, a Delphi támogatja a különböző SOM szolgáltatásokkal vagy szerverekkel működő alkalmazások automatikus fejlesztését. Az alkalmazás elveinek mélyebb megértése érdekében,

A nyelvi leírásból a Pascalabc.net Szerző Kollektív roughard

A DELPHI-ben lévő tömbök típusai A DELPHI-ben háromféle tömbök vannak, amelyeket a nyelv támogat. Az első olyan szabványos tömb, amelyet a tömb kulcsszó segítségével jelent meg. A második típust először a Delphi 4-ben vezették be, mint régen a vizuális alapvető, - dinamikus

Az ABC Pascal programozási nyelv könyve Szerző Virágok Alexander Stanislavovich

Az adattípusok típusa valódi típusokhoz (azokat a lebegőpontos számok típusának is nevezik), beleértve az úszást és a kettős pontosságot is. Azonnal kövesse az olvasót az úszó típus használatából - annak pontossága nem elegendő a legtöbb frakcionált érték tárolásához. Különösen NE.

A szerző könyvétől

Kérdések a Delphi 2.0-nál Mi az újdonságok a Delphi 2.0-ban a Delphi 1.0-val összehasonlítva? A verzió a Delphi 1.0 megjelent 1995 februárjában lett az első Windows eszköz, amely egyesíti a optimalizáló fordítót, kétirányú eszközök vizuális fejlesztési mechanizmusok és méretezhető adatbázis feldolgozó architektúra.

A szerző könyvétől

Újdonságok a Delphi 2.0-ban, összehasonlítva a Delphi 1.0-val? A verzió a Delphi 1.0 megjelent 1995 februárjában lett az első Windows eszköz, amely egyesíti a optimalizáló fordítót, kétirányú eszközök vizuális fejlesztési mechanizmusok és méretezhető adatbázis feldolgozó architektúra. Ma száz

A szerző könyvétől

A szerző könyvétől

A szerző könyvétől

Az alábbiakban az igazi típusok valódi típusok, amelyek méretüket tartalmazzák, az értelmes számjegyek számát és az érvényes értékek számát: Típusméret, bájtok száma A jelentés számjegyei Valódi értékek Seal 8 15-16 -1,8? 10308 .. 1.8 ? 10308 Dupla 8 15-16 -1,8 10308 ..

A DELPHI-ben lévő program szövege betűkkel, számokkal és speciális karakterekkel van kialakítva. Levelek a nagybetűs és kisbetűs szimbólumok a latin ábécé és aláhúzás szimbólum: ABCDEFGHIJKLMKL x YZABCDUVW x YZABCDEFGHIJKLMNOPQRS TUVWXYZ _ A számok képviselik a standard arab formájában Felvétel: 0 1 2 3 4 5 6 7 8 9 Különleges karakterek + - * / \u003d ,,. :; "() () @ # $ & ^ főként az aritmetikai műveletek, elválasztók, korlátozók stb., Speciális karakterekből származó, összetett szimbólumok alkotnak: \u003d .. (..) (* *) //: \u003d ők Különösen a "nem egyenlő", "nagyobb vagy egyenlő" műveletek jelölésére, az értékek, a kommentálási program stb.

Ugyanez a szám különböző módon rögzíthető, például: 15 (egész) 15. 0 (igazi rögzített ponttal) 1. 5 E 01 (lényeges lebegőpontos) $ f (hexadecimális) a Delphi nyelven Az összes módszer beiratkozása, de leggyakrabban használja az egész és a valós számokat. Az egész számok csak számok és jel + vagy -. Ha a jel elhagyása, és a szám nem egyenlő 0-val, akkor pozitívnak tekinthető, például: 0 (0 egész számként értelmezve) 17 (pozitív egész szám) -39 (negatív egész szám) numerikus adattípusok

A valós számok tartalmaznak egy egész és tört része, elválasztva egy pont: 0. 0 (0 értelmezni, mint egy valós szám) 133. 5 (pozitív valós szám) -0. 7 (negatív reálszám) A valós számok két formában ábrázolhatók: fix és lebegőponttal. A rögzített ponttal rendelkező forma egybeesik a számok szokásos rekordjával: 27800 (a szám végén a szám kihagyása) 3. 14 Lebegőpont (exponenciális forma), ha nagyon nagy vagy nagyon kis számokkal dolgozunk. Ebben az űrlapon az E-es számot az E: 7. 13 E + 14 (7. 13 x 1014) 1. 7 E-5 (1. 7 x 10 -5) 3. 14 E 00 (3 x 14 100 \u003d 3 14) a szám felé az E betű hívják mantissza, és az azt követő szám az E betű közönséges. Numerikus adattípusok

Megjegyzések segítségével megmagyarázhatja a program munkájának logikáját. A megjegyzést a fordító átadja, és a program bármely helyén lehet. A megjegyzés: (bármely göndör zárójelben lévő szöveg) (* bármely szöveges zárójelben csillagok *) // bármely szöveg egy kettős ferde vonalból a sor végéig, ha a szimbólumok (vagy (* azonnal megyek a dollár $ $ A zárójelben lévő szöveg nem tekinthető megjegyzések és fordító irányelv. Példák az ilyen irányelvekre: ($ optimalizálás) ($ Figyelmeztetés) ($ RangeChecks Off) Megjegyzések

A végrehajtási folyamat programja mindig a kakeliibo adatokat feldolgozza. Az adatok egész számok és frakcionált számok, szimbólumok, húrok, tömbök, készletek stb. Tehát a számítógép csak olyan gép, amelyre az adatok a nullák és egységek sorozata, feltétlenül "tudnia kell", hogyan kell értelmezni őket. Ezért a Delphi nyelv összes adatait típusokra osztják. Az adattípus azt jelzi, hogy mely adatok értékei és mely műveletek végezhetők velük. Minden adattípus megfelel bizonyos mennyiségű memória, amely az adatok elhelyezéséhez szükséges. Például a Delphi nyelven van egy byte adattípus. Az ilyen típusú adatok a 0-tól 255-ig terjedő egész számú értékeket vehetnek igénybe, részt vehetnek az adagolás, kivonás, szorzás, divízió, és elfoglalva 1 bájtos memóriájában. Adattípusok

A Delphi összes adattípusa az alábbiak szerint besorolható: Egyszerű adattípusok. Ezek viszont ordinálisak és valós adattípusokra vannak osztva. Az ordinális típusok közé tartoznak az egész, szimbolikus, logikai, felsorolt \u200b\u200bstb. Típusok; Ideiglenes adattípus. A dátum és az időértékek képviseletére szolgál; String adattípusok. Szolgálja a karakterek szekvenciáit, például szöveget; Összetett adattípusok. Az összes többi típus alapján. Ezek közé tartoznak a tömbök, készletek, rekordok, fájlok, osztályok és hivatkozások az osztályokba; Eljárási adattípusok. Engedélyezze az eljárások manipulálását és működését a program adataiként; Adattípusok indexelése. Ezek a típusok tárolják más adatok (listák, fák stb.) Címét; Adattípus nem állandó értékekkel. Olyan értékeket képvisel, amelyek típusát előre ismeretlenek; Ezzel könnyen kezelhető a diverzifikált értékek listájával; Az adattípusok osztályozása

Tekintsük a változók, a konstansok és a típusok leírásának formáját. Típusok leírása: Típus \u003d; Leírás Constant: CONST: \u003d; A változók leírása: var :; Adatleírás űrlap

Példa egy konstans írására: CONST DELPHI. Nyelv \u003d "objektum Pascal"; Kylix. Nyelv \u003d Delphi. Nyelv; Yard \u003d 914. 4; Láb \u003d 304. 8; Másodpercek. Ban ben. Perc \u003d 60; Másodpercek. Ban ben. Óra \u003d másodperc. Ban ben. Perc * 60; // Állítsa be a másodperceket állandóan. Ban ben. Nap \u003d másodperc. Ban ben. Óra * 24; // A konstans kijelentésekor kifejeződésként megadhatja annak típusát: CONST%: DOUBLE \u003d 0. 15; Fájl. Név: String \u003d "Súgó. Txt"; Az ilyen konstansokat beírták; Fő céljuk az összetett adattípusok állandó értékeinek kijelölése. Állandó leírás

A standard adattípusok mellett a DELPHI nyelv támogatja a programozó által meghatározott típusokat. Az új adattípust a fenntartott típusú típusú, majd a típusazonosító, az egyenlőség és a leírás jele követi. Például meghatározhat egy új típus: típusa tunikode \u003d széles. Char; Tfloat \u003d kettős; Tdirection \u003d (Észak, Dél, Kelet, Nyugat); Könnyű észrevenni, hogy az új típusok azonosításai a példában tőke betűvel kezdődnek (a szó típusának első betűje). A programozó típusára vonatkozó ilyen megállapodást a Delphi környezetfejlesztőjei fogadják el, de ez nem szigorú. Mindazonáltal javasoljuk, hogy tartsa be, mivel hozzájárul a program forráskódjának könnyebb érzékeléséhez. A típusok leírása

Teljes típusú tartomány Sharisin Smlisent Integer Longint Longint Cardinal Int 64 Byte Word Longword -128. . 127 jel 8 -bit -32768. . 32767 jel 16 -bit -2147483648. . 2147483647 jel. 32-Bit 0 .. 4294967295 Ha nincs jele 64-bit -263. . 263 -1 jel 64-bit 0 .. 255 Nincs jel 8 -bit 0 .. 65535 Nincs jel 16-bit 0 .. 4294967295 Nincs jel 32-Bit formátumú egyszerű adattípusok

Típusok tartománya. Real 48 Egyágyas Dupla Extended 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 számjegyű Comp - 9223372036854775808. 9223372036854775807 19-20 pénznem - 922337203685477. 5808. 922337203685477. 5807 19-20 REAL típusok Byte 8 6 4 8 10 8 8

A szimbolikus típusokat az adatok leírására használják, amelynek értéke a levél, a számjegy, az írásjelek és más karakterek. Két alapvető szimbólum adattípus létezik: ANSI. Char és széles. Char. Két különböző szimbólumkódoló rendszernek felelnek meg. ANSI típusú adatok. Char elfoglalja az egy memória bájtot, és kódolja az ANSI kibővített kód táblázatának 256 lehetséges karakterét, széles adatokat. Char elfoglalja a két memória bájtot, és kódolja az egyik a 65536 Unicode kód táblázat szimbólumát. Az Unicode Code Table egy kettős bájtos szimbólum kódolási szabvány. Az Unicode táblázat első 256 szimbóluma megfelel az ANSI asztalnak, így az ANSI adattípus. A char széleskörű részhalmaznak tekinthető. Char szimbólum típus

Alapvető adattípusok: Adat típus memória kapacitás (byte) ANSI. Char 1 széles. CHAR 2 Általános adatok típusa: Adat típusú memória (bájt) CHAN 1 (de egyenértékű lehet a széles) Logikai adatok Típus Var Good_file: Boolean; Boolean adattípusok bájt. Bool, szó. Bool és hosszú. BOOL vezették be a Delphi nyelv kifejezetten kompatibilitást más nyelvek, különösen a C és C ++ nyelven. Minden logikai adattípus kompatibilis egymással. Szimbolikus és logikai adattípus

Példa. Az állandó és változó szimbólum típusának leírása. CONST CH_P \u003d 'A'; // szimbolikus konstansok ch_l: char \u003d 'f'; Ch_k: széles. Char \u003d '5'; Var ch_l: char; // szimbolikus változó A változók programértékeiben és a karaktertípusok konstansjaiban az apostrophákban (nem lehet összetéveszteni az idézőjelekkel!), Például: szimbólum: \u003d "A"; // szimbólum van hozzárendelve a szimbolikus adattípusok példájára

A sorok dinamikus karakterek. Sztring - hossza legfeljebb 256 karakter. Széles. Sztring - hossza több mint 256 karakter. Az információ olyan karakterláncnak tekinthető, ha egy idézőjelre zárva van: "Mary It Kenyér" - a "Mária IT Kenyér" karakterlánc nem egy karakterlánc. Határozza meg a karakterlánc típusának állandó és változóját. CONST S_WEETHER \u003d "hideg ..."; VAR S 1: C_Whether; S 2: string; String adattípus

Felsorolt \u200b\u200btípus. A felsorolt \u200b\u200badattípus olyan értékek listája, amelyek ilyen típusú változót kaphatnak. Mindegyik értéket a programban használt azonosítóhoz hozzárendeli, hogy megadja ezt az értéket. Példa. Típus TCOLORS \u003d (piros, fehér, kék); Tmonth \u003d (Jnu, február, március, április, június, július, jul, agu, szept, október, november, december); Tdirection \u003d (Észak, Dél, Kelet, Nyugat); VAR hónap: tmonth; Irány: tdirection; Kezdje el az irányt: \u003d észak; vége. Felsorolt \u200b\u200badattípus

Valójában a felsorolt \u200b\u200btípus értékeinek azonosítói az egész állandó állandók. Alapértelmezésben az első konstans értéke 0, a második az 1, stb Lehetőség van kifejezetten rendelni az érték a Type Tsize azonosítót. Egység \u003d (byte \u003d 1, kilobite \u003d 1024 * byte, megabyte \u003d kilobyte * 1024, gigabyte \u003d megabyte * 1024); A felsorolt \u200b\u200btípus maximális teljesítménye 65536 érték, így valójában a felsorolt \u200b\u200btípus meghatározza az egész típusú szó egyes részhalmazát, és a 0, 1-es értékekkel rendelkező egész számok kompakt bejelentése tekinthető meg, stb.

Az intervallum adattípusok Az intervallum adattípust két konstans határozza meg, amelyek korlátozzák az ilyen típusú változók tartományát. Mindkét konstansnak a szabványos szekvencia típushoz kell tartoznia (de nem valós és nem string). Példa: tdigit \u003d 0 .. kilenc; DIGIT \u003d "0". . "kilenc"; Dig 2 \u003d 48 .. 57; VAR DIGIT: TDIGIT; Hónap: 1 .. 12; Kezdje a számjegyet: \u003d 5; Számjegy: \u003d 10; // hiba! Kilép a végtartomány határainak kilépése; Intervallum vagy típus-tartomány.

A különbség ezen módja a típus és a közös (nem szó típus) fog megnyilvánulni, ha tanul tömbök, rekordok és osztályok. Húzza előre és adjon példát: Írja be a ttype 1 \u003d egész számú tömböt; Ttype 2 \u003d típusa ttype 1; Var a: ttype 1; B: TTYPE 2; BESS B: \u003d A; // hiba! vége. A példában a változókat és B összeegyeztethetetlen egymással, mert a szó Írja be a leírása TType típus 2. Ha az a és b változó tartoznak az egyszerű adattípusok, az értékadó operátor fog működni. Speciális adattípusok

A tömb egy kompozit adattípus, amely ugyanolyan típusú elemből áll. A tömb leírásához a kifejezés tömbje. A Square zárójelben lévő szó tömbje után a tömb határait írták, és a tömb elemeinek szava után: tstates típusa \u003d tömb; Tcoordinates \u003d egész számú tömb; CONST Koordináták: Tcoordinates \u003d (10, 20, 5); (3 egész szám) VAR-államok: tstates; (50 Strings) Szimbólumok: Array of Char; (81 karakter - típus-definíció nélkül) A külön tömbelem eléréséhez meg kell adnia az indexet négyzet alakú zárójelben, például szimbólumok: \u003d 'ё'; Kérjük, vegye figyelembe, hogy a tömb elemeinek inicializálása a vesszőn keresztül zárójelben történik. Tömbök

A fent megadott tömbök egydimenziós, mivel csak egy index van. Az egydimenziós tömbök általában egy lineáris elemszekvenciát jelentenek. Ha a tömb leírásakor két index van megadva, a tömböt kétdimenziósnak nevezik, ha n indexek N-dimenziós. Kétdimenziós tömböket használnak az asztal bemutatására, és az N-dimenziós - terek. Itt van egy példa az 5 oszlopból és 20 sorból álló táblázat hirdetésekre: VAR Táblázat: Dupla tömbje; Ugyanez a kompaktabb formában rögzíthető: VAR táblázat: Dupla tömb; A többdimenziós tömb különálló elemének eléréséhez meg kell adnia az egyes indexek értékét, például táblázatot vagy kompakt belépési többdimenziós asztali tömböket

Példa. A BYTE típusú kétdimenziós dinamikus tömb leírása a CON változóban. VAR fia: a bájt tömbje; Példa. Többdimenziós tömbök. Var Mbon: Byte tömbje; // négydimenziós típusa tmy_mas \u003d byte tömb; // Típus - kétdimenziós tömb VAR MBON 1: TMY_MAS tömbje; // négydimenziós (kétdimenziós tömbök kétdimenziós tömbje) C: Real tömb; // Háromdimenziós dinamikus MBON tömb - eleme a MBON MBON 1 tömb elemet - az elem a MBON 1 C - // az első eleme a dinamikus tömb példák a dinamikus tömbök

A készlet egy kompozit adattípus, amely egyes elemek egészét ábrázolja. A beállított értékek tartománya az elemeiből álló valamennyi alcsoport készlet. A készlet minden elemének egybájtos rendelési típushoz kell tartoznia - az alaptípust. A többféle típus leírásához a kifejezést használják, majd a készlet alapvető típusát rögzíti: Típus TLetters \u003d "A" készlet. . "Z"; Var betűk: TLetters; Szimbólumok: Char készlet; Kifejezésekben a készlet elemeinek értékei négyzet alakú zárójelben vannak feltüntetve :, ["A", "B", "C"]. Ha a készletnek nincs eleme, akkor üresnek nevezik :. Példa: CONST CONDELLS: TLETTERS \u003d ["A", "E", "I", "O", "U"]; BEGIN LETTING: \u003d ["A", "B", "C"]; Szimbólumok: \u003d; (üres készlet) vége. A készlet elemeinek számát hatalomnak nevezik. A delphi nyelven lévő beállított ereje nem haladhatja meg a 256-ot. Beállítja

Src \u003d "https: //syt/presentation/20070619_133096976/image-25.jpg" alt \u003d "(! Lang: A készletekkel való munkavégzés során a kapcsolatok használata (\u003d,,,,,,,,,,) Használja a kapcsolati műveleteket (\u003d,\u003e \u003d,). Két készlet egyenlőnek minősül, ha ugyanazon elemekből állnak. Az elemek sorrendje összehasonlításban nincs értéke. Két A és B készlet nem egyenlő, ha eltérőek hatalomban vagy értékben, bár az egyik elem a TRUE \u003d TRUE \u003d TRUE \u003d TRUE tartozékok (\u003e \u003d, \u003d B igaz lenne, ha a B készlet összes eleme az A. szettben található

Üzemeltetés. A megadott készlethez tartozó elem ellenőrzésére szolgál. Általában feltételes operátorokban alkalmazzák. 5 IN \u003d TRUE 5 IN \u003d FALSE Az üzembe helyezés lehetővé teszi, hogy hatékonyan és egyértelműen elvégezze a komplex feltételeket, miközben több tucatnyi más műveletet cserél. Például a kezelő, ha (x \u003d 1) vagy (x \u003d 2) vagy (x \u003d 3) vagy (x \u003d 5) vagy (x \u003d 5) vagy (x \u003d 7), akkor rövidebb: ha x azután működik Néha megpróbálja nyilvántartani a tagadással: x nem S. Ez a bejegyzés hibás, mivel két művelet követ egy sorban. A helyes bejegyzés: nem (x s). Az in.

A készletek kombinálása (+). A két készlet kombinációja a harmadik készlet, amely mindkét készlet elemeit tartalmazza. + \u003d + \u003d Készletek metszéspontja (*). A két készlet metszéspontja a harmadik készlet, amely olyan elemeket tartalmaz, amelyek mindkét készletben egyidejűleg szerepelnek. * \u003d * \u003d Különbségek beállítása (-). A két készlet különbsége a harmadik készlet, amely tartalmazza az első készlet elemeit, amely nem szerepel a második készletben. - \u003d - \u003d A DELPHI nyelven két szabványos eljárás magában foglalja a mellékelt és a kizárást, amelyet a készletekkel dolgoznak. Az eljárás magában foglalja az (S, I) pontot az I. beállított elemben. A kizáró eljárás (S, I) kizárja az I. SET elemet. A műveletet másolják - / + az egyetlen különbséggel és hatékonyabbá teszi. Szövetség, metszéspont, különbség