internet Okná Android
Rozbaľovať

Numerické premenné a typy údajov. DELPHI TYPY ÚDAJOV A PRÁCE S DOUBLE DELPHI TYPU

Používanie typov údajov, programátor špecifikuje kompilátor, ako ukladať informácie v programe. Pri deklarovaní premennej musíte zadať svoj typ. Niektoré typy sú už definované v jazyku, druhý programátor musí byť požiadaný. V skorších programovacích jazykoch bol povolený obmedzený počet typov údajov a Pazd Ukázalo sa, že je jedným z prvých jazykov umožňujúcich definíciu v programe nových typov.

Užívateľom definované typy údajov sú zvyčajne nastavené v definíciách kvality programu alebo modul (jednotka), ale to môže byť vykonané v rámci postupov alebo funkcií. Typové reklamy sú platné v medziach tohto bloku, v ktorom sú zverejnené. Mimo tohto bloku nie je možné odkazovať na takéto typy. Vnútri nahradia všetky externé typy s rovnakým názvom. Ohlásené typy údajov môžu byť použité kdekoľvek v oblasti ich viditeľnosti; Je zakázané len odkaz na špecifikovaný typ na sebe (tu však existuje jedna výnimka týkajúca sa ukazovateľov).

Typy inzerátov v Pascal sú pre kompilátor niečo ako schémy, ktoré musia pamätať v prípade, ak náhle spĺňa odkaz na jeden alebo iný typ v programe. Samozrejme, typ reklamy neprispieva k programu.

Pokiaľ ide o reklamy VaR, nastavili kompilátor niektoré akcie týkajúce sa predtým oznámených typov. Typ variabilných limitov tak jeho hodnoty a operácie, ktoré môžu byť vykonané s týmito hodnotami.

Definície typov a premenných môžu byť umiestnené na niekoľkých miestach programových komponentov. Vyzerajú nasledovne.

typ
Typel \u003d typ definície; // Nové typy údajov sú definované v časti "Typ". Každý nový
// zadajte meno, potom sa určí prostredníctvom už
// Existujúce typy.
Type2 \u003d TYPER__DEFINÍZIE2; // v jednej časti "Typ" Môžete deklarovať niekoľko typov.
// najjednoduchšia definícia typu pozostáva z typového mena,
Type3 \u003d Typel; // definované skôr.
// nové premenné sú oznámené v
VAR // Sekcia "var". Každý nový
VAR1: Typové definície; // Premenná najprv priradená meno a potom - typ (na základe
// predtým definované typy).
VAR2, VAR3: Typ definície4; // v jednej časti "var" môžete deklarovať niekoľko premenných.
// niekoľko premenných je možné priradiť rovnaký typ.
VAR4: Typel; // Program je jednoduchší čítať, ak sú premenné priradené
// Existujúce typy.

Objekt Pascal Syntax umožňuje súčasne konštruovať výnimočne zložité typy a definovanie premenných. Definícia typov v typových úsekoch určitých blokov však umožňuje použitie týchto typov v rôznych častiach programu. Nové typy sa určujú z typov nasledujúcich kategórií.

  • Jednoduché typy na ukladanie informácií vo forme čísel a iných "objednaných" hodnôt.
  • Typy String pre ukladanie sekvencií znakov.
  • Štrukturálne typy na simultánne skladovanie informácií rôznych typov.
  • Typy bodu pre nepriamy prístup k premenným špecifikovaným typom.
  • Procesné typy odvolanie na postupy a funkcie považované za premenné.
  • Variačné typy pre skladovanie v jednej variabilnej dáta rôznych typov.

Zvyčajne sa používajú identifikátory typu len pri definovaní nových typov alebo vyhlásenia premenných. Existujú však niekoľko funkcií, v ktorých môže byť typový názov použitý ako súčasť vykonávaného operátora. Napríklad funkcia SIZEOF (t) vráti počet bajtov obsadených premennou T.

Funkcia SIZEOF je veľmi dôležitá pre písanie efektívne programy. Mnohé z tých, ktoré sú definované v objektov Pascal typy, majú veľmi zložitú štruktúru a môžu byť v pamäti pomerne veľa priestoru. V tomto prípade sú prvky takýchto typov vytvorené viac pre prezentáciu hodnôt v určitom logickom poradí, a nie na obsadenie miesta v pamäti. Veľkosť veľkosti eliminuje programátor od potreby vypočítať množstvo údajov v takýchto prípadoch.

Jednoduché typy údajov

Typy
Celé typy
Symbolické typy
Typy booleov
Vymenované typy
SubedaPan Typy
Platné typy

Akýkoľvek skutočne existujúci typ údajov, bez ohľadu na to, aké ťažké sa zdá, že na prvý pohľad je jednoduché komponenty, ktoré procesor môže manipulovať. V objekte Pascal sú tieto jednoduché typy údajov rozdelené do dvoch skupín: Obradové, reprezentujúce údaje z rôznych zväzkov, ktoré procesor môže ľahko manipulovať a platiť predstavujúce približne matematické hodnoty. Oddelenie typov na ordinálnom a platnom je trochu podmienené. Rovnakým spôsobom by mohli byť jednoduché údaje rozdelené na čísla a nie čísla. Avšak, v objekte Pascal jazyk, poradové a platné dáta sú interpretované inak a toto oddelenie je dokonca užitočné.

Typy

Z jednoduchých typov týchto sekvencií sú najjednoduchšie. V týchto typov sú informácie prezentované vo forme jednotlivých prvkov. Vzťah medzi jednotlivými prvkami a ich zastúpením pamäte určuje prirodzený vzťah medzi týmito prvkami. Z tohto dôvodu.

Objekt Pascal definuje tri skupiny typov sekvencií a dva typy definované užívateľom. Skupiny sú celočíselné, symbolické a booleovské typy. Typy sekvencií definované užívateľom sú zoznam a subbons.

Všetky hodnoty akéhokoľvek sekvenčného typu tvoria usporiadanú sekvenciu a hodnota premennej sekvenčného typu je určená svojím miestom v tejto sekvencii. S výnimkou typov variabilných cieľov, ktorých hodnoty môžu byť pozitívne aj negatívne, prvý prvok akéhokoľvek sekvenčného typu má číslo 0, druhý prvok - číslo 1, atď. Sekvenčné číslo celej hodnoty sa rovná najvyššej hodnote. Pomer objednávky určuje spoločné pre tieto typy všetkých sekvenčných typov chirurgie. Niektoré štandardné funkcie tohto typu sú zapustené do objektu Pascal. Sú prezentované v tabuľke. 1.1.

Pre všetky typy sekvencií v objekte Pascal, existuje operácia typu, ktorá previesť celé hodnoty na hodnoty zodpovedajúcich typov sekvencií. Ak t je názov typu sekvencie a X je celočíselná expresia, potom t (x), ktorá otáča hodnotu T s poradovým číslom X.

Tabuľka 1.1. Operácie na ordinálnom type

Operácia

Popis

Minimálna hodnota ordinálneho typu t

Maximálna hodnota sekvenčného typu t

Poradové číslo výrazovej hodnoty sekvenčného typu. Pre celý výraz je to jednoducho jeho význam. Pre zostávajúce druhy ordinálnych druhov sa fyzikálne znázornenie výsledku výrazu interpretuje ako celé číslo. Návratová hodnota vždy patrí do jedného z celých typov

Predchádzajúca hodnota. Pre celé výrazy ekvivalentné X-1

Nasledujúca hodnota objednávky. Pre celé výrazy ekvivalentné X + 1

Znižuje hodnotu premennej na 1. ekvivalent v: \u003d pred (v)

Zvyšuje hodnotu premennej o 1. ekvivalent v: \u003d succ (v)

Celé typy

V premenných typoch typov sú informácie reprezentované ako celé čísla, t.j. Čísla, ktoré nemajú frakčnú časť. Určité typy definované v objekte Pascal sú rozdelené na fyzické (zásadné) a logické (všeobecné). Pri programovaní je vhodnejšie používať logické celé čísla, ktoré nastavujú množstvo premenných v závislosti od typu mikroprocesora a prevádzkového prostredia takým spôsobom, že sa dosiahne maximálna účinnosť. Fyzifilné celé typy by sa mali aplikovať len v prípadoch, keď sú rozsah hodnôt a premenná fyzickej objemovej objemovej úrovne dôležitá. Objekt Pascal definuje nasledujúce celé typy.

Celé číslo
Skratka.
Smaltint.
Longint.
Bajt
Slovo.
Kardinál.

Upozorňujeme, že jeden z týchto celých typov sa nazýva celé číslo (celé číslo). Niekedy to môže viesť k nejasnostiam, ale môžeme sa ľahko vyhnúť, aplikovať termín celé. Typ skupiny, celé číslo - pre konkrétny typ určený v programe kľúčové slovo. Premenné typy fyzických celočísených majú rôzne rozsahy hodnôt v závislosti od toho, koľko pamäťových bajtov, ktoré zaberajú (čo sa rovná hodnote vrátenej funkcii SIZEOF tento typ). Rozsahy hodnôt pre všetky fyzické typy sú uvedené v tabuľke. 1.2.

Tabuľka 1.2.Fyzikálne typy

Rozsah

Fyzický formát

8 bitov, so znakom

16 bitov, so znakom

2 147 483 648-2 147 483 647

32 bitov, so znakom

8 bitov, žiadne znamenie

16 bitov, žiadne znamenie

Rozsahy hodnôt a formátov fyzikálnych typov nešpecializujú sa na mikroprocesorov a operačného systému, v ktorom sa program vykonáva. Nemenia sa (alebo aspoň nemusia zmeniť) so zmenou implementácie alebo verzie objektu Pascal.

Rozsahy hodnôt logických celých typov (celé číslo a kardinál) sú určené úplne iným spôsobom. Ako možno vidieť z tabuľky. 1.3 Nie sú spojené s rozsahmi relevantných fyzických typov. Upozorňujeme, že predvolené Delphi je nastavené na 32-bitový pohľad.

Tabuľka 1.3.Logické celé typy

Rozsah hodnôt

Fyzický formát

16 bitov, so znakom (smaliint)

2 147 483 648-2 147 483 647

32 bitov, so znakom (Longint)

16 bitov, žiadne znamenie (slovo)

32 bitov, žiadne znamenie (Longint)

Všetky operácie definované pre ordinálne typy sa vykonávajú na celom dáte, ale je ešte vhodnejšie pracovať s číslami ako s číslami, a nie s "non-sekvenčným typom sekvencií". Podobne ako "živé" čísla môžu byť údaje o celoštátnych typoch zložené (+), odpočet (-) a množiť (*). Niektoré operácie a funkcie aplikované na údaje o mnohých typoch majú mierne odlišný význam.

Symbolické typy

Význam symbolických údajov je zrejmý, keď sa zobrazia na obrazovke alebo tlačiarni. Definícia typu symbolu však môže závisieť od toho, čo znamenať pod symbolom slov. Typicky, symbolické typy údajov nastaviť interakčný obvod medzi rôznymi objemmi a niektorými Štandardná metóda Kódovanie / dekódovanie na zdieľanie symbolických informácií. V klasickom jazyku Pascal nie je špecifikovaný žiadny systém a v špecifických implementáciách sa použilo, že každý by mohol použiť.

V implementáciách Pascalového jazyka pre prvé mikroprocesory, 7-bitová schéma, nazývaná ASCII (Americký štandard Kódu Informácie Interchange - Americký štandardný kód na výmenu informácií). Táto schéma je stále rozšírená, ale informácie sú spravidla uložené v 8-bitových častiach pamäte. Ďalší bit zdvojnásobuje počet možných reprezentácií znakov, ale implementácia rozšírenej sady symboly ASCII. Často ďaleko od štandardu. Táto verzia Delphi definuje súbor 8-bitových znakov, známych ako pokročilých (rozšírených) ANSI (American Národný štandardný inštitút - Americký národný inštitút štandardov). Buďte tým, že by to mohlo byť symbolická schéma vnímaná ako operačný systém vníma. Pre okno operačné systémy Microsoft je systém ANSI, ktorá zahŕňa obmedzený počet medzinárodných znakov. V túžbe aplikovať rozsiahlejší súbor medzinárodných značiek. Celý počítačový svet prebieha na 16-bitovú schému s názvom Unicode, v ktorej sa prví 256 znakov zhodujú s znakmi definovanými v systéme ANSI.

Pre kompatibilitu so všetkými týmito názormi v objekte Pascal sú definované dva fyzikálne typy symbolov a jedno logické.

Fyzické typy sú uvedené nižšie.

Chýbajú symbolické typy dvojitého slova (32 bitov).

Typ logického symbolu sa nazýva Char. V klasickom jazyku Pascal Char, jediný typ znaku. Delphi Char vždy zodpovedá fyzickému typu údajov Ansichar. V amerických programátoroch, symbolové asociácia s jednopádvovanou pamäťovou bunkou zakorenila mnoho rokov toľko, že sa často jednoducho nevyskytuje, že môžu byť použité iné schémy kódovania. Diskusie o internacionalizácii programov na internete a na celom svete však môžu výrazne zmeniť svoj postoj k problému symbolických údajov. Platiť logický typ Malo by sa implementovať pre iné mikroprocesory a operačné systémy, v ktorých je možné vymedziť znak ako Echrechar. Pri písaní programov, ktoré dokážu spracovať riadky ľubovoľnej veľkosti, na určenie tejto veľkosti sa odporúča použiť funkciu SIZEOF bez špecifikácie tvrdej konštanty. Funkcia ORD (C), kde C je akýmkoľvek premennou typu znakov, vráti celú hodnotu, na ktorú je symbol S prezentovaný v pamäti.

Typy booleov

V ranom štádiu odbornej prípravy sú programátori zvládnuť koncept trochu, z ktorých dva stavy môžu byť použité na zaznamenávanie informácií o čomkoľvek, čo predstavuje jeden z dvoch. Trochu môže označiť 0 alebo 1, áno alebo nie, zapnuté alebo vypnuté, horné alebo dolné, stojan alebo ísť. V objekte Pascal, informácie o čomkoľvek, ktoré môžu byť zastúpené ako pravda (TRUE) alebo FALSE (FALSE), sú uložené v booleovských premenných. Celkové typy Chere a sú prezentované v tabuľke. 1.4.

Tabuľka 1.4.Rozmery premenných booleovských typov

2 bajty (hlasové slovo)

4 bajty (hlasitosť Longint)

Analogicky s celočíselnými a symbolickými typmi, rozdelenými na fyzické a logické, je prirodzené predpokladať, že Bytebool, WordBool a Longboool - Fyzické typy, Boolean - Logické. Ale v tomto prípade to nie je tak. Všetky štyri typy sú iné. Pre objekt Pascal je uprednostňovaný boolovský typ, zostávajúce sú definované pre kompatibilitu s inými programovacími jazykmi a operačnými systémami.

Premenné typu boolean môžu byť priradené iba pravdivé (pravdu) a falošné hodnoty. Premenné Bytebool, WordBool a LongBool môžu tiež prijímať iné hodnoty sekvencie, vzájomne prepojené ako falošné v prípade nuly a pravdivé - s akoukoľvek nenulovou hodnotou.

Vymenované typy

Typ ENUM \u003d (prvá hodnota, hodnota2, hodnota3, posledná hodnota);

Typicky tieto typy zoznamov obsahujú diskrétne hodnoty, ktoré nie sú čísla a mená. Typ Boolean je najjednoduchší typ v objekte Pascal. Booleovské premenné môžu trvať dve hodnoty vyjadrené skutočnými a falošnými menami a samotný typ je definovaný v objekte Pascal, ako keby bol deklarovaný takto:

Typ Boolean \u003d (FALSE, TRUE);

Pomocou booleovského typu v objekte Pascal, porovnania sa vykonávajú, väčšina rovnakého typu typov je jednoducho zoznammi jedinečných mien alebo identifikátorov vyhradených so špecifickým účelom. Môžete napríklad vytvoriť typ Mycolor (moja farba) s hodnotami mistej, mygreen a myblue (moja červená, moja zelená, moja modrá). Toto sa robí celkom jednoduché:

Typ Mycolor \u003d (MyRED, MYGREEN, MYBLUE);

Tento riadok oznámil štyri nové identifikátory: mycolor, mýte, mygreen a myblue. Identifikátor Mycolor je označený typom sekvencie, preto v objektovom Pascal Syntaxe môže byť tento identifikátor použitý všade, kde sú povolené uvedené typy. Zostávajúce tri identifikátory sú hodnoty typu mycolor. Ako symbolické I. typy booleov Počúvané nie sú čísla a použitie ich ako čísel nedáva zmysel. Avšak uvedené typy sú ordinálne, takže sú objednané hodnoty akéhokoľvek takéhoto typu. Identifikátory v zozname sú priradené ako sekvenčné čísla sekvenčné čísla. Prvé meno je priradené sekvenčné číslo 0, druhá - 1 atď.

SubedaPan Typy

Premenné typu subpásmu obsahujú informácie zodpovedajúce určitému rozsahu vytáčania hodnôt typu zdroja, ktoré predstavujú akýkoľvek typ sekvencie, okrem subatapanu. Syntax definície typu subpásmu má nasledujúci formulár:

Typ podmienku typu \u003d nízka hodnota ... vysoká hodnota;

Podpákladné premenné si zachovávajú všetky funkcie typu zdroja. Jediným rozdielom je, že premenná subpásmom môže byť priradená iba hodnoty zahrnuté v špecifikovanej podbere. Ovládanie tohto stavu je daná príkazovým príkazom na kontrolu rozsahu.

Potreba explicitne definovať typ subpásmu nastáva zriedkavo, ale všetci programátori implicitne používajú tento dizajn pri určovaní polí. Je vo forme konštrukcie subpásy, že je nastavená schéma číslovania prvkov poľa.

Platné typy

V variabilných platných typoch obsahuje čísla pozostávajúce z celočícha a frakčných častí. Objekt Pascal má šesť platných typov. Všetky typy môžu predstavovať číslo 0, sa však líšia v prahu (minimálne pozitívne) a maximálne hodnotyktoré môžu byť reprezentované, ako aj presnosť (počet významných číslic) a objem. Skutočné typy sú opísané v tabuľke. 1.5.

Tabuľka 1.5. Platné typy.

Celé typy predstavujú celé čísla, t.j. Čísla, ktorých frakcia je nulová. Rozdiel medzi dvoma nerovnakými celmi nemôže byť nižší ako jeden. Je to spôsobené tým, že celé čísla sa používajú na označenie diskrétnych hodnôt bez ohľadu na to, či majú skutočné objekty akékoľvek postoje k číslam. Skutočné typy sú navrhnuté tak, aby reprezentovali čísla, ktoré môžu mať frakčnú časť, takže sú užitočné na prezentáciu hodnôt, ktoré môžu byť dosť blízke, takmer nepretržité.

Poznámka, je to takmer takmer. Napriek názvu platné, premenné týchto typov sa líšia od matematických platných čísel. V objekte Pascal, platný typ je podskupina matematických platných čísel, ktoré môžu byť reprezentované v plávajúcom bode a fixnom počte čísel. Pre notárskych programátorov je situácia zhoršená skutočnosťou, že v štandardných formátoch IEEE (Inštitút elektrických a elektronických Engsi-Neers - Inštitút elektrických inžinierov a elektrických krytov) používaných v programe DELPHI a vo väčšine programov Windows je možné presne reprezentovať iba čísla s fixným číslom. bit v zlomkovej časti. Prekvapivo, takéto jednoduché číslo, podobne ako 0.1, je napísané v rozšírenom formáte IEEE s určitou chybou, aj keď je veľmi malý. Z tohto dôvodu je znázornenie plávajúceho bodu trochu nepohodlné pre programy, v ktorých je zachovaný fixný počet desatinných vypúšťaní numerických hodnôt. Týka sa to programov pracujúcich s "živými" peniazmi.

Na čiastočne vyriešiť tento problém v objekte Pascal, sú definované dva formáty s pevnou čiarkou. Typ COMPT (výpočtový - výpočet) obsahuje iba celé čísla v rozsahu od -2 63 +1 do 2 63 -1, ktoré zhruba zodpovedá rozsahu od -9,2x10 18 do 9,2x10 18. Pri programovaní operácií s americkou menou musia vývojári zvyčajne hľadať prirodzený spôsob písania peňazí sumy, v ktorých celá časť čísla určuje počet dolárov, zlomkov - centov. Ak sa takéto hodnoty zaznamenávajú premenlivý typ Comp bude musieť zastupovať ako celý počet centov. V tomto prípade by ste mali vynásobiť hodnotu 100 na cirkuláciu centov až do dolárov a potom rozdeliť na 100, aby ste získali celé centrá.

Tieto obavy možno vyhnúť, ak používate typ meny. V tomto prípade úloha výberu stupnice bude mať kompilátor. Fyzicky, menové hodnoty sú zaznamenané v pamäti rovnakého objemu ako Comp, ako celé čísla, avšak kompilátor nezabudne rozdeliť hodnotu o 10.000 (nie 100!), Aby ho priniesol v súlade s peňažnou značkou a vynásobila 10 000 pred písaním v pamäti. To poskytuje absolútnu presnosť štyroch desatinných desatinných značiek.

Numerické premenné a typy údajov

Programovací systém DELPHI je moderný a veľmi silný nástroj na vytvorenie programov. V takomto by ste mohli uistiť, že študujete základné schopnosti editora tohto systému. Práca v takomto editore nie je ťažké a často jednoducho dodáva užívateľ potešenie z rôznych možností. Programy vytvorené v Delphi sú pomerne efektívne a umožňujú používať všetku silu výpočtovej techniky.

Jedným z najdôležitejších prekážok je objem náhodný vstup do pamäťe a rýchlosť počítača. Programátor musí vždy premýšľať o tom, ako znížiť potrebu programu v pamäti. Jedným zo spôsobov, ako vyriešiť tento problém, je obmedziť počet premenných používaných v programe, alebo znížiť veľkosť pamäťových buniek na skladovanie.

Už viete, ako sú premenné celého a reálneho typu vyhlásené. Okrem týchto premenných v systéme DELPHI existuje niekoľko ďalších typov údajov. Odlišujú sa od seba len veľkosť pamäte potrebnej na ich skladovanie, a preto je rozsah čísel, ktoré môžu byť uložené v týchto premenných. Programátor teda môže vybrať potrebný numerický typ a racionálne používajte pamäť. Takže aké sú typy údajov.

Typy údajov

Akékoľvek údaje, t.j. Konštanty, premenné, vlastnosti, hodnoty funkcií alebo výrazov v Delphi sú charakterizované svojimi typmi. Typ určuje súbor prípustných hodnôt, ktoré môže mať jeden alebo iný objekt, ako aj mnoho prípustných operácií, ktoré sa naň vzťahujú. Okrem toho typ tiež definuje formát interného znázornenia údajov v pamäti PC.

Delphi. charakterizované rozsiahlym štruktúrou dát:

Budeme s vami zvážiť len jednoduché typy.

Typy

Obradové typy sa vyznačujú skutočnosťou, že každý z nich má konečný počet možných hodnôt. Tieto hodnoty si môžete objednať určitým spôsobom (odtiaľto a názov typov), a preto s každým z nich môžete porovnať určité celé číslo - poradové číslo hodnoty.

Typy sekvencií zahŕňajú celé čísla, logické, symbolové, uvedené a typové rozsah. Na ktorúkoľvek z nich je použiteľná funkcia ORD (X), ktorá vráti poradové číslo hodnôt výrazu X.

Celé typy

názov

Dĺžka, Bajt

Rozsah hodnôt

Kardinál.

0. .. 2 147 483 647

Bajt

0...255

Skratka.

128...+127

Smaltint.

32 768...+32 767

Slovo.

0...65 535

Celé číslo

Longint.

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

Int64.

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

Longword.

0. . .4 294 967 295

Typy Longword a Intt64 sú najprv zadané vo verzii 4 a typy Slmint a Cardinál chýba v Delphi 1. Integer Typ pre túto verziu má 2 bajty a má rad hodnôt od -32768 do +32767, tj zhoduje s malint .

Štandardné postupy a funkcie platné pre celé typy

Príťažlivosť

Typ výsledku

Konať

abs (x)

Vracia modul X

cHR (B)

Char.

Vracia symbol do svojho kódu

dEC (VX [, I])

Znižuje hodnotu VX k I a v neprítomnosti I - o 1

inc (VX [, I])

Zvyšuje hodnotu VX k I a v neprítomnosti I-to 1

Hi (w)

Bajt

Vracia senior argument

Ahoj ja)

Tiež

Vráti tretí bajt

Lo (i)

Vráti mladší bajt argument

Lo (w)

Tiež

odd (L)

Boolean.

Vráti pravdivé, ak je argument nepárnym číslom

Náhodné (W)

Ako parameter

Vráti pseudo-náhodné číslo, jednotne distribuované v rozsahu 0 ... (W-L)

sQR (x)

Vráti námestie argumentu

swap (i)

Celé číslo

Zmeny v mieste Bytes v Slove

swap (w)

Slovo.

Tiež

Okrem aritmetických operácií, ktoré sú vám známe, sú tu ďalšie dva: div a mod.

d IV. - Divízia celé čísla s odpadom frakčnej časti. Napríklad:

dvied b Ak A \u003d 10 a B \u003d 3, potom je výsledok 3.

mod. - zvyšok rozdelenia celých čísel. Napríklad:

a MOD B. ak A \u003d 10 a B \u003d 3, potom je výsledok 1

Zastúpenie celých čísel

V obraze celých čísel sú len znaky a čísla (signál + + nemôže indikovať). Predpokladá sa však, že systém desatinného čísla však môžete použiť hexadecimálny. V tomto prípade, pred číslom, mali by ste dať znak $.

Typový rozsah

Všetky celé typy sa týkajú takzvaných uvedených alebo sekvenčných typov. V každom type sekvencií môžete vybrať podmnožinu hodnôt, v ktorých sú zahrnuté všetky hodnoty zdroja typu. Typ rozsahu je nastavený v typovom reklamách zadaním minimálnych a maximálnych hodnôt oddelených dvoma bodmi. Typové reklamy sú vždy spustené podľa typu Service Slovo. Napríklad:

Typ PIR \u003d [1..2006];

Typ uvedeného typu

Typ typu je nastavený vymenením hodnôt, ktoré môže prijímať. Každá hodnota sa označuje ako určitý identifikátor a nachádza sa v zozname zarámnej okrúhlymi konzolami, napríklad:

TypeColors \u003d (červená, biela, modrá);

Typ symbolu

Symbolické typy hodnôt sú sada všetkých znakov PC. Každý znak je pripisovaný celému v rozsahu ... 255. Toto číslo slúži ako kód interného zobrazenia symbolu, vráti funkciu ORD.

Pre kódovanie v systéme Windows sa používa kód ANSI (pomenovaný Americký národný štandardný inštitút - Americký inštitút pre normalizáciu, ktorá navrhla tento kód). Prvá polovica znakov PC s kódmi 0 ... 127 zodpovedá tabuľke 7.3. Druhá polovica symbolov s kódmi 128 ... 255 sa mení pre rôzne fonty. Štandardné Windows Fonts Arial Cyr, Courier New Cyr a Times Nový Rímsky. Reprezentovať symboly cyriliku (bez písmen "e" a "e") používajte posledných 64 kódov (od 192 do 256): "A" ... "I" sú kódované hodnotami 192..223 , "A" ... "I" - 224 ... 255. Znaky "E" a "e" majú kódy 168 a 184.

Symbol kódovanie v súlade s normou ANSI

Kód

Symbol

Kód.

Symbol

Kód.

Symbol

Kód

Symbol

Zóna

Et

F.

-

/

DC 4.

F.

Symboly s kódmi 0 ... 31 patria k službám kódy. Ak sa tieto kódy používajú v symbolickom texte programu, považujú sa za medzery.

Aplikácie typu CHAR sú použiteľné vzťahy, ako aj vložené funkcie:

Funkcia CHR (B) - Typ char; Konvertuje výraz do bajtového typu do symbolu a vráti ju na jeho hodnotu;

UPPASE (CH) - FUNKCIA TYPU CHOV; Vracia veľké písmeno, ak je CH je malým latinským písmenom, inak symbol sám vracia zdrojový znak pre Cyrillic).

Typy reálnych typov

Na rozdiel od redinálnych typov, ktorých hodnoty sú vždy porovnané s množstvom celých čísel, a preto sú úplne presne presne presne, hodnoty reálnych typov určujú ľubovoľné číslo len s určitú konečnú presnosť interný formát reálneho čísla.

Typy reálnych typov

Dĺžka, Bajt

názov

Počet označovacích číslic

Rozsah hodnôt

8

4

8

10

8

8

Reálny

Jedinečný

Dvojité.

Predĺžený

Comp

Meny.

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

V predchádzajúcich verziách typu Delphi 1 ... 3 skutočné obsadili 6 bajtov a mal celý rad hodnôt od 2, 9 * 10-39 až 1,7 * 10 38. Verzie 4 a 5 Tento typ je ekvivalentný s dvojitým typom. V prípade potreby (pre účely kompatibility), použite 6-kauil reálne, musíte zadať smernicu kompilátorov (srealcompativita na).

Ako možno vidieť z predchádzajúcej tabuľky. Celkový počet Delphi. Trvá zo 4 až 10 susedných bajtov a má nasledujúcu štruktúru v pamäti PC:

S.

E.

M.

Tu S je príznak; E - Exponenciálna časť; obsahuje binárne poradie; M - Mantissa číslo.

Mantissa M má dĺžku 23 (pre jeden) až 63 (pre rozšírené) binárne výboje, ktoré poskytuje presnosť 7 ... 8 pre jedného a 19 ... 20 pre rozšírené desatinné číslice. Desatinná čiarka (čiarka) je určená pred ľavým (seniorom) vypúšťaním mantisy, ale pod akciami s číslom, jeho poloha sa posunie doľava alebo vpravo v súlade s binárnym poradím čísla uloženého v exponenciálnej časti , takže opatrenia týkajúce sa reálnych čísel sa nazývajú plávajúci bod aritmetikum (čiarka).

Všimnite si, že aritmetický koprocesor vždy spracováva čísla v rozšírenom formáte a tri ďalšie reálne typy v tomto prípade sa získajú jednoduchým skrátením výsledkov na požadované rozmery a používajú sa hlavne na uloženie pamäte.

Vstavané matematické funkcie prezentované v nasledujúcej tabuľke je možné použiť na prácu s reálnymi údajmi uvedenými na nasledujúcej karte. V tejto tabuľke skutočné znamená akýkoľvek skutočný typ, celé číslo - akýkoľvek typ.

Štandardné matematické funkcie Delphi.

Príťažlivosť

Typ parametra

Typ výsledku

Poznámka

abs (x)

Reálne, celé číslo

Typ reálneho argumentu

Argumentový modul

N \u003d 3.141592653 ...

Arctán (X)

ARCTHANDENCE (hodnota v Radiáni)

cos (x)

To isté<<

To isté<<

Cosine, uhol v radiánoch

exp (x)

Vystavovateľ

frac (x)

Frakčná časť čísla

int (x)

Integerová časť čísla

ln (x)

Prirodzený logaritmus

Náhodný

Pseudo-náhodné číslo, rovnomerne distribuované v rozsahu 0 ...

Random.fx)

Celé číslo

Celé číslo

Pseudo-náhodné celé číslo, jednotne distribuované v rozsahu 0 ... (X-1)

Randomize.

Začatie generátora pseudo-náhodných čísel

hriech (x)

Reálny

Reálny

Sinus, uhol v radiánoch

sQR (x)

To isté

To isté

Štvorcový argument

sQRT (X)

Odmocnina

Poznámka Pseudo generátor náhodných čísel je funkcia, ktorá si vyžaduje určité celé číslo nazývané základné zmeny, jeho vypúšťanie podľa konkrétneho algoritmu a dáva nové číslo. Zároveň sa nové číslo stane základným v nasledujúcom zaobchádzaní s funkciami; A tak ďalej. Znamená to, že sériovým prístupom k náhodným v rôznych, programoch (alebo s niekoľkými behmi jedného programu), jedna a rovnaká sekvencia pseudo-náhodných čísel bude vždy klesať.

Zastúpenie reálnych čísel

Skutočné čísla obsahujú v ich obrazovom bode a / alebo indikátore (symbol e alebo e), napríklad:

X \u003d -0,5;

Y \u003d 1,34;

Z \u003d -1 e -5;

W \u003d 7,5 e +15;

Funkcie konverzie data

Kolo (X. ) - zaokrúhlenie skutočného čísla na najbližší celok. Argument funkcie je hodnota reálneho typu a výsledok je zaokrúhlený na najbližšiu celú hodnotu typu Longint. Ak výsledok prejde cez rozsah hodnôt Longint, pri vykonávaní programu sa vyskytne chyba.

TRUNC (X. ) - Získanie celej časti skutočného čísla. Typ výsledkov - Longint. Ak výsledok prejde cez rozsah hodnôt Longint, pri vykonávaní programu sa vyskytne chyba.

Zadajte dátum dátumu

Typ dátumu je určený štandardným identifikátorom TDAtetime a je určený na súčasné skladovanie a dátum a čas. Vo vnútornom zastúpení, zaberá 8 bajtov a podobne ako mena je reálne číslo s pevnou frakčnou časťou: v celej časti dátumu je dátum uložený v zlomkovacom čase. Dátum je definovaný ako počet dní v minulosti od 30. decembra 1899 a čas - ako súčasť denného priestoru od 0 hodín, takže hodnota 36444,837 zodpovedá dátumu 10.10.1999 a Čas 20:05. Počet dní môže byť negatívny, avšak hodnoty sú menšie -693594 (zodpovedá dátumu 00.00.0000 z Narodenia Krista) sú ignorované funkciami konverzie dátumov na typ reťazca.

Rovnaké operácie sú definované vyššie typ TDATETIME ako reálne čísla a konštanty a premenné celého čísla a reálnych typov sa môžu zúčastniť na výrazoch tohto typu.

Podprogramy uvedené v nasledujúcej tabuľke sa používajú na prácu s dátumom a časom.

Podprogramy pre prácu s dátumom a časom

Funkcie. Dátum: TDATETIME;

Funkcie. DateTostr (D: TDATETIME): Reťazec;

Funkcie. Datetimetostr (D: TDATETIME): Reťazec;

Funkcie. FormatDatetime (formát: Reťazec;

Hodnota (TDAtetime): Reťazec;

Funkcie. Teraz: tdatetime;

Funkcie. Čas: TDATETIME;

Funkcie. TimeTostrft (TDATETIME): String;

Vracia aktuálny dátum

Konvertuje dátum v reťazci znakov

Konvertuje dátum a čas v reťazci znakov

Konvertuje dátum a čas z parametra hodnoty v reťazci znakov v súlade s špecifikátormi parametra formátu (pozri vysvetlenia v článku 7.3.)

Vracia aktuálny dátum a čas

Vráti aktuálny čas

Konvertuje čas do riadku

Zabudované typy údajov v jazyku Delphi patria typy celých čísel, platné, symboly, struny, ukazovatele, booleans.

Ordinové typy. Typy objednávok (ordinál) sa nazývajú tie, v ktorých sú hodnoty objednané, a pre každý z nich môžete zadať predchádzajúce a následné hodnoty.

Štrukturálne typy. Štrukturálne typy zahŕňajú sady, polia, položky, súbory, triedy, rozhrania.

Typy údajov. V premenných typoch typov sú informácie reprezentované ako celé čísla, t.j. Čísla, ktoré nemajú frakčnú časť.

Tabuľka 1 Operácie na ordinálnom type

Operácia

Popis

Minimálna hodnota ordinálneho typu t

Maximálna hodnota sekvenčného typu t

Poradové číslo výrazovej hodnoty sekvenčného typu. Pre celý výraz je to jednoducho jeho význam. Pre zostávajúce druhy ordinálnych druhov sa fyzikálne znázornenie výsledku výrazu interpretuje ako celé číslo. Návratová hodnota vždy patrí do jedného z celých typov

Predchádzajúca hodnota. Pre celé výrazy ekvivalentné X-1

Nasledujúca hodnota objednávky. Pre celé výrazy ekvivalentné X + 1

Znižuje hodnotu premennej na 1. ekvivalent v: \u003d pred (v)

Zvyšuje hodnotu premennej o 1. ekvivalent v: \u003d succ (v)

Tabuľka 2

Rozsah hodnôt

2147483648 -- 2147483647

8 bitov, neschopných

16 bitov, neschopných

32 bitov, nesmierne

Tam je tiež typ, ako sú celé číslo, ktoré zodpovedá typu Longint. Jeho rozsah od -2147483648 do 21474836478. Trvá 4 bajty v pämyat. Sieťom sú celé číslo a kardinál, takže vo väčšine prípadov je žiaduce použiť tieto typy.

Všetky operácie definované pre typy sekvencií sa vykonávajú predovšetkým. Operácie na celé typy:

Tabuľka 3.

Platné typy údajov. V variabilných platných typoch obsahuje čísla pozostávajúce z celočícha a frakčných častí.

Tabuľka 4.

Hlavným poskytovaním maximálneho výkonu je typ skutočný, ktorý je v súčasnosti rovnocenný s dvojitým typom.

Tabuľka 5 Funkcie platných typov

Návratová hodnota

Absolútna hodnota x.

ARCTHANDENCE H.

Cosine X (X je vyjadrený v radiánoch, a nie v stupňoch)

Exponenciálna funkcia z x

Frakčná časť x.

Celú časť x. Napriek názvu vráti platnú hodnotu (plávajúce bodkočiarku), t.j. Stačí nastaviť nulu v zlomkovej časti

Prirodzený logaritmus od x

PI číslo (3.1416 ...)

Najbližší K x je celé číslo. Vracia hodnotu celého typu. Podmienka "najbližšie k x" nefunguje, ak sú horné a nižšie hodnoty ekvidistant (napríklad, ak je frakčná časť presne 0,5). V týchto prípadoch Delphi posúva riešenie do operačného systému. Typicky procesory Intel riešia tento problém v súlade s odporúčaním IEEE zaokrúhlené smerom k najbližšiemu celému celému. Niekedy sa tento prístup nazýva "Bankárové zaokrúhľovanie"

Square X, t.j. X * X.

Odmocniť od x

Celú časť x. Na rozdiel od toho, čo sa vracia

Symbolické typy údajov. Symbolické typy sú navrhnuté tak, aby uložili jeden znak.

Tabuľka 6.

Typy dát booleans. Premenné booleovských dátových typov predstavujú logické hodnoty, napríklad pravdivé (pravdu) a nepravdivé.

Tabuľka 7 Veľkosti Booleovských typov

2 bajty (hlasové slovo)

4 bajty (hlasitosť Longint)

Pole je dátová štruktúra, ktorá je súborom premenných rovnakého typu, ktorý má spoločný názov. Polia sa pohodlne používajú na uskladnenie uniformu v prírode, ako sú tabuľky a zoznamy.

Oznámenie Massivy

Pred použitím variabilných reklám sa musí pred použitím variabilných reklám deklarovať pole, rovnako ako každá premenná programu. Všeobecne platí, že pokyn vyhlásenia o poli sa zosúladí takto: \\ t

Názov: [nizhny_index..pine_index] typu

kde: Názov je názov poľa;

array je vyhradené slovo Delphi, označujúce, že oznámené meno je názov poľa;

nižný_index a Upper_index - priemerné konštanty, ktoré určujú rozsah zmien v indexe prvok poľa a implicitne, počet prvkov (veľkosť) poľa;

typ typu prvky poľa.

Čo nepíšte v knihách podľa Delphi Grigoriev A. B.

3.2.2. Typy DELPHI

V Delphi sú štyri reálne typy: Single, Double, Extended a Real. Ich všeobecný formát je rovnaký (Obr. 3.1, A).

Znamenie je vždy jeden bit. Je nula pre kladné čísla a jednotku pre negatívne. Pokiaľ ide o veľkosť mantis a vystavovateľov, je v nich rozdiel medzi typmi.

Pred prechodom na špecifické čísla, podrobnejšie zvážte typ skutočného, \u200b\u200bčím sa na to robí malú exkurziu. Reálnym je štandardný typ jazyka Pascal, ktorý bol spočiatku prítomný. Keď bol Pascal vytvorený, spracovatelia ešte nemali vstavanú podporu pre reálne čísla, takže všetky operácie s typom reálne sú znížené na operácie s cernými číslami. V súlade s tým bola vybraná veľkosť polí v reálnom type s cieľom optimalizovať tieto operácie.

a) všeobecný pohľad na skutočné číslo

b) binárne zastúpenie počtu jediného typu

Obr. 3.1. Uloženie skutočného čísla v pamäti

Mikroprocesor Intel 8086/88 a jeho vylepšené možnosti - 80286 a 80386 - tiež nemali podporu hardvéru pre reálne čísla. Systémy na základe týchto procesorov však mali možnosť spojiť takzvaný koprocesor. Tento mikroobvod pracoval s pamäťou cez hlavné pneumatiky procesora a poskytli hardvérovú podporu pre reálne čísla. V stredných ručných systémoch bol hniezdo koprožoruv zvyčajne prázdny, pretože znížil cenu (samozrejme, vložte koprocesor, nebol žiadny problém). Pre každý centrálny procesor boli vyrobené ich koprocesory, označené Intel 8087, 80287 a 80387. Tam boli dokonca koprocesory produkované inými firmami. Pracovali rýchlejšie ako coprocces spoločnosti Intel, ale neskôr sa objavili na trhu. Typ reálnych čísel podporovaných koprocitors sa nezhoduje s reálnym. Je určený štandardom IEEE (Inštitút elektrických a elektronických inžinierov).

Aby ste poskytli podpora typu IEEE vo svojich systémoch, Borland vstúpi do Turbo Pascal Typy jednoduché, dvojité a rozšírené. Rozšírené je hlavné pre typ koprocsor, jeden a dvojitý sa získajú z nej veľmi jednoduché skrátenie. Systém príkazov COPROCESSOR vám umožňuje pracovať s týmito typmi: pri načítaní počtu jediného typu alebo dvojnásobok do vnútorného registra spolupracovníka ich premieňa na rozšírenie. Naopak, pri vykladaní čísel týchto typov z registra do pamäte ich koprožoruje poplatky za požadovanú veľkosť. Vnútorné operácie sa vždy vykonávajú s predĺženým typom údajov (Avšak, toto pravidlo má výnimku, na ktorú sa budeme konať neskôr, po podrobnom zvážení formátu rôznych typov). Jednoduché a dvojité vám umožňujú uložiť pamäť. Žiadny z nich tiež sa nezhoduje s typom typu. V systémoch s koprocesormi sú nové typy spracované výrazne (2-3 krát) rýchlejšie ako skutočné (to je založené na skutočnosti, že typ reálneho po zodpovedajúcej transformácii je tiež spracovaný koprocsorom; ak porovnáme spracovanie typu rozšírené Na stroji s koprocesorom a skutočným na stroji bez kopracesora, potom na jednotlivých operáciách dosiahol rozdiel v rýchlosti asi 100 krát). Pre programy s týmito typmi možno vykonávať v systémoch bez kopracesora, je možné k nim pripojiť emulátor softvéru kopracesora. Spracovanie týchto typov emulátorom bolo pomalšie ako skutočné spracovanie.

Počnúc 486. Séria Intel si vezme kurz na integráciu procesora a kopracesor v rovnakom čipe. Percentuálny podiel manželstva v čipoch je príliš veľký, takže Intel ide na mazanie: Ak majú žetóny manželstvo len v diele kopracesora, potom sú prepojky blokujúce koprocesor a čip sú spálené na tomto kryštále a mikroobvod sa predáva ako 80486sx Procesor, ktorý nemá vstavaný koprocesor (na rozdiel od plnej verzie, ktorá sa nazýva 80486dx). Tam boli tiež inverzné situácie, keď koprocssor poškodenia nemal, ale procesor bol nefunkčný. Takéto čipy sa zmenili na "koprocssor 80487". Ale toto je z oblasti exotického, a podľa našich informácií, tento koprocsors nedosiahol Rusko.

Procesor Pentium vo všetkých vlastných možnostiach mal vstavanú pohárový bod výpočtovej jednotky (jednotka FPU - FLUATING BOD) a samostatný koprocesor ho nepotreboval. So príchodom tohto procesora zostal skutočný typ len pre spätnú kompatibilitu a boli publikované typy jednoduchých, dvojitých a rozšírených. Počnúc Delphi 4 sa typ skutočného stane synonymom s dvojitým typom a starý 6-bajtový typ prijíma názov real48.

Poznámka

K dispozícii je smernica o kompilátore ($ realcompatibility on / off), keď je zapnutý, ktorý (štandardne je zakázaný) sa skutočný stane synonymom real48, nie dvojnásobok.

Rozmery polí pre rôzne reálne typy sú uvedené v tabuľke. 3.1.

Tabuľka 3.1. Rozmery poľa v reálnych typoch

Typ Typ veľkosti, Bytes Mantissa veľkosť, bity Veľkosť vystavovateľa, bity
Jedinečný 4 23 8
Dvojité. 8 52 11
Predĺžený 10 64 15
Reálny 6 40 7

Ďalšie parametre reálnych typov, ako je rozsah a presnosť, možno nájsť v Pomocníkovi DELPHI.

Z knihy, programovací jazyk s # 2005 a platforma.net 2.0. Troelsen Andrew.

Typy charakterizované hodnotami, referenčnými typmi a operátorom priradenia si teraz čítajú nasledujúcu hlavnú () metódu a zvážte jeho výstup zobrazený na obr. 3.12.staticAtic Void Main (String Args) (Console.writeline ("*** Typy charakterizované hodnotou / referenčnými typmi ***"); konzola.writeline (-\u003e Vytvorenie P1 "); MotorPoint

Z knižných tipov na Delphi. Verzia 1.0.6. Autor Ozors Valentin

Typy charakterizované hodnotami a obsahujúcimi referenčné typy teraz, keď cítite rozdiel medzi typmi charakterizovanými hodnotami a referenčnými typmi, poďme zvážiť zložitejší príklad. Predpokladajme, že existuje nasledujúci referenčný typ (trieda),

Z knihy internetových riešení z Dr. Bob Autor SVORT BOB

Typy charakterizované hodnotami a referenčnými typmi: konečné poznámky na dokončenie diskusie o tejto téme, naučiť sa informačná tabuľka. 3.8, ktorý poskytuje stručné zhrnutie hlavných rozdielov medzi typmi charakterizovanými hodnotami a referenčnými typmi. Tabuľky

Z knihy Delphi. Triky a účinky Autor Chirkik Alexander Anatolyevich

Z balíka Základné algoritmy a dátové štruktúry v Delphi Autor BAKNELL JULIAN M.

1.3.3. DELPHI A CGI V tejto kapitole vám poviem, ako napísať jednoduchú aplikáciu DELPHI CGI, bez použitia webových modulov alebo iných modulov klienta / servera. Prvá skratka CGI znamená spoločné rozhranie brány, a to je len názov na prenos informácií klienta na server. Na strane klienta

Z Interbase Book World. Architektúra, správa a vývoj databázových aplikácií v InterBase / Firebird / Yaffil Autor Kovyzin Alexey Nikolaevich

2.1.1. Delphi a HTML Môj hlavné vývojári nástrojov sú Delphi, a napíšeme DELPHI Database HTML expert do tejto kapitoly. Delphi umožňuje pripojiť sa k takmer databáze akéhokoľvek formátu. Použitie BDE do Paradoxu a DBASE, s ODBC, napríklad, prístupom a pomocou odkazov SQL na veľký typ DBMS

Z virtuálnej knižnice knihy Delphi

9.3. Pomocou OLEA v Delphi Rovnako ako mnoho moderných programovacích prostredí, Delphi podporuje schopnosť automaticky vyvinúť aplikácie pracujúce s rôznymi službami A alebo servermi. Pre hlbšie pochopenie princípov žiadosti, \\ t

Z knihy Popis jazyka Pascalabc.net Autor Kolektívny náter

Typy polí v Delphi v Delphi sú tri typy polí podporovaných jazykom. Prvým je štandardné pole, ktoré je deklarované pomocou kľúčového slovar. Druhý typ bol prvýkrát zavedený v Delphi 4 ako imitácia toho, čo bolo dávno dostupné v jazyku Visual Basic, - Dynamic

Z knihy ABC Pascal Programovacie jazyk Autor Kvety Alexander Stanislavovich

Typ typov údajov do reálnych typov (nazývajú sa aj typy čísel plávajúcich bodov), zahŕňajú plavák a dvojitú presnosť. Ihneď postupujte podľa čitateľa z používania typu Float - jeho presnosť je nedostatočná na ukladanie väčšiny frakčných hodnôt. Najmä ne.

Z knihy autora

Otázky na Delphi 2.0 Čo je nové v Delphi 2.0 Porovnanie s Delphi 1.0? Verzia Delphi 1.0 vydaná vo februári 1995 sa stala prvým nástrojom Windows, ktorý kombinuje optimalizačný kompilátor, dvojcestný-náradie vizuálne vývojové mechanizmy a škálovateľná architektúra spracovania databázy.

Z knihy autora

Čo je nové v Delphi 2.0 Porovnanie s Delphi 1.0? Verzia Delphi 1.0 vydaná vo februári 1995 sa stala prvým nástrojom Windows, ktorý kombinuje optimalizačný kompilátor, dvojcestný-náradie vizuálne vývojové mechanizmy a škálovateľná architektúra spracovania databázy. Dnes stovky

Z knihy autora

Z knihy autora

Z knihy autora

Skutočné typy nižšie je tabuľka reálnych typov, ktoré obsahujú ich veľkosť, počet zmysluplných číslic a rozsah platných hodnôt: Typová veľkosť, bajtov Počet významov Číselníci Rozsah hodnôt REAL 8 15-16 -1,8? 10308. 1.8 10308 Dvojlôžková 8 15-16 -1,8 10308 ..

Text programu v Delphi sa vytvorí pomocou písmen, číslic a špeciálnych znakov. Písmená sú veľké a malé symboly latinskej abecedy a podčiarknuté symbol: abcdefghijklmkl x yzabcduvw x yzabcdefghijklmnopqrs tuvwxyz _ Čísla sú reprezentované štandardnou arabskou formou nahrávania: 0 1 2 3 4 5 6 7 8 9 Špeciálne znaky + - * / \u003d ,. : "() () () @ # $ & ^ sa používa hlavne ako príznaky aritmetických operácií, oddeľovačov, obmedzovačov atď. Z špeciálnych znakov sú vytvorené symboly zložených: \u003d .. (..) (* *) //: \u003d oni Slúžiť najmä na označenie operácií, ako sú "nie sú rovnaké", "väčšie ako alebo rovnaké", špecifikované rozsahy hodnôt, program komentovania atď.

Rovnaké číslo môže byť zaznamenané rôznymi spôsobmi, napríklad: 15 (celé) 15. 0 (reálne s pevným bodom) 1. 5 E 01 (Podstatný plávajúci bod) $ F (hexadecimálny) v jazyku DELPHI je možné Ak chcete použiť všetky položky metód, ale najčastejšie používajte celé a reálne čísla. Celé čísla sa skladajú len z čísel a podpisu + alebo -. Ak je označenie vynechané a číslo nie je rovné 0, potom sa považuje za pozitívne, napríklad: 0 (0 interpretované ako celé číslo) 17 (pozitívne celé číslo) -39 (negatívne celé číslo) číselné typy údajov

Skutočné čísla obsahujú celú a frakčnú časť, oddelené bodom: 0. 0 (0 interpretované ako skutočné číslo) 133. 5 (pozitívne reálne číslo) -0. 7 (negatívne reálne číslo) Reálne čísla môžu byť zastúpené v dvoch formách: s pevným a plávajúcim bodom. Formulár s pevným bodom sa zhoduje so zvyčajným záznamom čísel: 27800 (bod na konci čísla je vynechaný) 3. 14 Pri práci s veľmi veľkými alebo veľmi malými číslami sa používa 14 pohyblivých bodov (exponenciálny formulár). V tomto formulári sa počet čiarkovalo E, ktorý je vynásobený 10 až do stupňa uvedeného po E: 7. 13 E + 14 (7. 13 x 1014) 1. 7 E-5 (1. 7 x 10 -5) 3. 14 E 00 (3. 14 x 100 \u003d 3. 14) Číslo smerujúceho k písmenu E sa nazýva mantissa a číslo po tom, čo písmeno E je obyčajné. Numerické typy údajov

Pomocou komentárov môžete vysvetliť logiku práce vášho programu. Komentár prechádza kompilátorom a môže byť v akomkoľvek mieste programu. Komentár je: (Any Text v kučeravých zátvorkách) (* Akýkoľvek text v zátvorkách s hviezdičkami *) // Akýkoľvek text z dvojitého šikmého riadku na koniec riadku, ak symboly (alebo (* ihneď ide o dolár $, potom Text v zátvorkách sa nepovažuje za pripomienky a smernica o kompilácii. Príklady takýchto smerníc: ($ optimalizácia na) ($ upozornenia) ($ RangeChecks off) Komentáre

Program v procese realizácie vždy spracováva údaje Kakelibo. Údaje môžu byť celé číslo a frakčné čísla, symboly, reťazce, polia, súpravy atď. Takže počítač je len strojom, pre ktorý sú údaje sekvenciou nuly a jednotiek, musí absolútne "vedieť", ako ich interpretovať. Z tohto dôvodu sú všetky údaje v jazyku DELPHI rozdelené na typy. Typ údajov označuje, ktoré hodnoty údajov a ktoré operácie môžu byť vykonané s nimi. Každý typ údajov zodpovedá určitému množstvu pamäte, ktorá je potrebná na umiestnenie údajov. Napríklad v jazyku DELPHI existuje typ dátového dát. Údaje o tomto type berú hodnoty v celomeroch s rozsahom od 0 do 255, sa môžu zúčastniť na operáciách pridávania, odčítania, násobenia, divízie a obsadenia 1 bajtov pamäte. Typy údajov

Všetky typy údajov v Delphi môžu byť klasifikované nasledovne: Jednoduché typy údajov. Na druhej strane sú rozdelené do ordinálnych a reálnych typov údajov. Obradové druhy zahŕňajú celé číslo, symbolické, boolean, uvedené, atď. Dočasný typ údajov. Slúži na reprezentáciu hodnôt dátumu a času; Typy údajov reťazec. Slúži na reprezentáciu sekvencií z znakov, ako je text; Kompozitné typy údajov. Na základe všetkých ostatných typov. Tieto zahŕňajú polia, súpravy, záznamy, súbory, triedy a odkazy na triedy; Typy procesných údajov. Povoliť manipuláciu s postupmi a funkciami ako údaje programu; Typy indexovania údajov. Tieto typy sú uložené adresy iných údajov (zoznamy, stromy atď.); Typ údajov s netrhajúcimi hodnotami. Slúži na reprezentáciu hodnôt, ktorých typ nie je vopred neznámy; S ním je ľahké pracovať so zoznamom diverzifikovaných hodnôt; Klasifikácia typov údajov

Zvážte formu opisu premenných, konštanty a typy. Popis typov: typ \u003d; Popis Konštanta: Const: \u003d; Popis premenných: var:; Formulár popisu údajov

Príklad písania konštanty: const delphi. Jazyk \u003d "objekt Pascal"; Kylix. Jazyk \u003d Delphi. Jazyk; Yard \u003d 914.4; Nohy \u003d 304. 8; Sekúnd. V. Minút \u003d 60; Sekúnd. V. Hodina \u003d sekundy. V. Minút * 60; // Nastavte konštantu sekúnd. V. Deň \u003d sekundy. V. Hodina * 24; // Ako výraz pri vyhlásení konštantnej, môžete zadať svoj typ: const percent: double \u003d 0. 15; Súbor. Názov: reťazec \u003d "pomoc. Txt"; Takéto konštanty sa nazývajú zadané; Ich hlavným cieľom je vyhlásiť konštantné hodnoty typov kompozitných údajov. Neustály opis

Okrem štandardných typov údajov, Delphi Jazyk podporuje typy definovaných programátorom. Nový typ údajov sa určuje pomocou vyhradeného typu typu, za ktorým nasleduje identifikátor typu, znak rovnosti a opisu. Môžete napríklad definovať nový typ: Typ TUNICODE \u003d WIDE. Char; Tfloat \u003d dvojité; TDIRECTION \u003d (sever, juh, východ, západ); Je ľahké si všimnúť, že identifikátory nových typov v príklade začínajú veľkým písmenom T (prvé písmeno typu slova). Takáto dohoda o typoch programátorov prijímajú vývojári životného prostredia Delphi, ale nie je prísny. Napriek tomu odporúčame dodržiavať, pretože prispieva k ľahšiemu vnímaniu zdrojového kódu programu. Popis typov

Celý typ rozsahu Shortint Integer Longint Cardinal Int 64 Byte Word Longword -128. . 127 Znamenie 8 -bit -32768. . 32767 Značka 16-bit -2147483648. . 2147483647 Znamenie. 32 -bit 0 .. 4294967295 Pokiaľ nie je podpisom 64 -bit -263. . 263 -1 Sign 64 -b. 255 No Sign 8 -bt 0 .. \\ t 65535 NO SIGN 16 -BB 0 .. 4294967295 Nie Sign Sign 32 -bit Format Jednoduché typy údajov

Typový rozsah hodnôt. Skutočný 48 single Double 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-miestne comp - 9223372036854775808. 9223372036854775807 19-20 Mena - 922337203685477. 5808. 922337203685477. 5807 19- 20 Skutočné typy Byte 8 6 4 8 10 8 8

Symbolické typy sa používajú na opis údajov, ktorých hodnota je písmeno, číslice, interpunkčné znamienko a iné znaky. Existujú dva základné dátové typy údajov: ANSI. Char a Wide. Char. Zodpovedajú dvom rôznym systémom kódovania symbolov. Údaje typu ANSI. CHARABY OBSAHOVAŤ JEDNOTKOU POTREBUJÚCEHO POTREBUJÚCEHO PRÍSTUPUJÚCEHO PRÍSTUPU ANSI Rozšíreného kódu, zatiaľ čo široké údaje. Char zaberajte dve pamäte bajtov a kóduje jeden z 65536 symbolov tabuliek Unicode. Tabuľka kódu Unicode je štandardný kódovací štandard symbolu. Prvých 256 symbolov tabuľky Unicode zodpovedá tabuľke ANSI, takže ANSI typ údajov. Char je možné zobraziť ako podskupina širokého. Typ symbolu char

Druhy základných údajov: Kapacita pamäte typu údajov (Byte) ANSI. Char 1 široký. CHAR 2 VŠEOBECNÝ TYPY ÚDAJOV: Typ dát Memory (Bytes) Char 1 (ale môže sa stať ekvivalentným širokým) logickým typom dát vare good_file: boolean; Booleovské dátové typy Byte. Bool, slovo. Bool a dlho. Bool bol zavedený do jazyka Delphi, konkrétne pre kompatibilitu s inými jazykmi, najmä s jazykami C a C ++. Všetky typy booleovských údajov sú navzájom kompatibilné. Symbolický a logický typ údajov

Príklad. Popis konštantného a variabilného typu symbolov. Const ch_p \u003d 'A'; // symbolické konštanty ch_l: char \u003d 'f'; Ch_k: široký. Char \u003d '5'; Var ch_l: char; // Symbolická premenná v programových hodnotách premenných a konštanty typov znakov sú uzatvorené v apostrofes (nesmie byť zmätený s citáciami!), Napríklad: symbol: \u003d "A"; // Symbol je priradený písmeno a príklad symbolických typov údajov

Riadky sú dynamické množstvo znakov. String - dĺžka nie viac ako 256 znakov. Široký. String - dĺžka viac ako 256 znakov. Informácie sa považujú za reťazec, ak je uzavretý do jednotlivých citácií: 'Mária IT chlieb' - reťazec "Márie IT chlieb" nie je príklad reťazca. Určite konštantnú a premennú typu reťazca. Const s_wweether \u003d 'studené ...'; Var S 1: C_WETER; S 2: reťazec; Typ reťazec

Uvedený typ. Uvedený typ údajov je zoznam hodnôt, ktoré môžu dostať premennú tohto typu. Každá hodnota je priradená identifikátoru použitému v programe na určenie tejto hodnoty. Príklad. Typ TCOLORS \u003d (červená, biela, modrá); Tonth \u003d (JNU, FEB, Mar, Apríl, máj, Jun, JUL, AGU, SEP, október, Nov, DEC); TDIRECTION \u003d (sever, juh, východ, západ); var mesiaca: tonth; Smer: TDIVERKCIA; Začnite smer: \u003d sever; koniec. Vymenovaný typ údajov

V skutočnosti, identifikátory hodnôt uvedeného typu sú celočíselné konštanty. V predvolenom nastavení prvá konštanta je 0, druhá je 1, atď. Je možné explicitne priradiť hodnotu identifikátora TSSIZE. Jednotka \u003d (bajt \u003d 1, kilobyt \u003d 1024 * bajt, megabyte \u003d kilobyt * 1024, gigabyte \u003d megabyte * 1024); Maximálny výkon uvedeného typu je 65536 hodnôt, takže v skutočnosti uvedený typ špecifikuje určitú podskupinu celého typu slova a možno ich považovať za kompaktné oznámenie skupiny celočíselných konštánt s hodnotami 0, 1, atď.

Typy intervalových údajov Typ intervalového dát je nastavený dvoma konštantami, ktoré obmedzujú rozsah hodnôt pre premenné tohto typu. Obidve konštanty by mali patriť do jednej zo štandardných typov sekvencií (ale nie skutočný a nie reťazec). Príklad: Type TDIGIT \u003d 0 .. deväť; Digit \u003d "0". . "Deväť"; Dig 2 \u003d 48 .. 57; VAR číslice: TDIGIT; Mesiac: 1 .. 12; Začnite číslicu: \u003d 5; Číslice: \u003d 10; // Chyba! Ukončite hranice koncového rozsahu; Interval alebo typový rozsah.

Rozdiel medzi týmto spôsobom vytvárania typu a spoločného (bez typu slova) sa prejaví pri štúdiu polí, záznamov a tried. Holé dopredu a uveďte príklad: Typ TTYPE 1 \u003d ARRAY INTEGER; TTYPE 2 \u003d Typ TTYPE 1; VAR A: TTYPE 1; B: TTYPE 2; Začiatok B: \u003d A; // Chyba! koniec. V príklade sú premenné A a B sú nezlučiteľné z dôvodu typu slova v popise typu TTYPE 2. Ak premenné A a B patria do jednoduchých typov údajov, prevádzkovateľ priradenia bude fungovať. Špeciálne typy údajov

Pole je kompozitný typ údajov, ktorý sa skladá z pevného počtu prvkov rovnakého typu. Ak chcete opísať pole, je navrhnutá fráza. Po zátvorkách slova v štvorcových konzolách sú hranice poľa napísané, a po slovo prvkov poľa: typu TSTATES \u003d rad reťazca; TCOORDINATES \u003d ARRAY INTEGER; CONST súradnice: Tcoordinates \u003d (10, 20, 5); (3 celé čísla) VaR States: TSTATES; (50 strunov) Symboly: Array Char; (81 znakov - bez definície typu) Pre prístup k samostatnému prvku poľa, musíte zadať svoj index v hranatých zátvorkách, napríklad symboly: \u003d 'ё'; Upozorňujeme, že inicializácia prvkov poľa sa vyskytuje v zátvorkách prostredníctvom čiarky. Polia

Vyššie uvedené polia sú jednorozmerné, pretože existuje len jeden index. Jedno-dimenzionálne polia sa zvyčajne používajú na reprezentáciu lineárnej sekvencie prvkov. Ak je pri opise poľa, zadaný dva index, pole sa nazýva dvojrozmerné, ak sú N indexy N-dimenzionálne. Na prezentáciu stola sa používa dvojrozmerné polia a n-dimenzionálne - reprezentovať medzery. Tu je príklad reklamy tabuľky pozostávajúce z 5 stĺpcov a 20 riadkov: Var Tabuľka: Array radu dvojitého; To isté je možné zaznamenať v kompaktnejšej forme: var Tabuľka: Dvojité; Ak chcete získať prístup k samostatnému prvku multidimenzionálneho poľa, musíte zadať hodnotu každého indexu, napríklad tabuľky alebo v kompaktnejších vstupných multidimenzionálnych poliach tabuľky

Príklad. Popis dvojrozmerného dynamického poľa prvkov typu bajt v con premennej. Var syna: rad bajtov; Príklad. Multidimenzionálne polia. Var Mbon: Array of Bajt; // štvorrozmerný typ TMY_MAS \u003d rad bajtov; // Typ - dvojrozmerný array var Mbon 1: Array TMY_MAS; // štvorrozmerné (dvojrozmerné pole dvojdimenzionálnych polí) c: rad skutočných; // trojrozmerné dynamické MABONOVÉHO POLOŽKU - prvok prvku poľa MBBON MBBON 1 - prvok MBBON 1 C - // Prvý prvok dynamických príkladov dynamických polí

Súprava je kompozitný typ údajov, ktorý predstavuje súbor niektorých prvkov ako celku. Rozsah nastavených hodnôt je súbor všetkých druhov podmnožín zložených z jeho prvkov. Všetky prvky súpravy by mali patriť do typu jedného bajtového poradia - základný typ. Ak chcete opísať viac typov, fráza sa používa súbor, po ktorom je zaznamenaný základný typ set: Typ TLETTERS \u003d SET "A". . "Z"; VaR Písmená: Tleetters; Symboly: Sada CHAR; V vyjadrení sú hodnoty prvkov súpravy uvedené v hranatých zátvorkách: ,, ["A", "B", "C"]. Ak súbor nemá žiadne položky, nazýva sa prázdne :. Príklad: Const Swels: Tleetters \u003d ["A", "E", "I", "O", "U"]; Začať listy: \u003d ["A", "B", "C"]; Symboly: \u003d; (prázdny set) koniec. Počet prvkov súboru sa nazýva sila. Sila nastavenej v jazyku Delphi nesmie prekročiť 256. SET

Src \u003d "https: //syt/presentation/20070619_133096976/image-25.jpg" Alt \u003d "(! Lang: Pri práci so súbormi, používanie vzťahov (\u003d ,,\u003e \u003d, pri práci so súbormi je dovolené Použite vzťahové operácie (\u003d,\u003e \u003d,). Dva súbory sa považujú za rovnaké, ak sa skladajú z tých istých položiek. Objednávka prvkov v porovnaných sériách nemá žiadne hodnoty. Dve série A a B sa považujú za rovnaké, ak sa líšia Pri napájaní alebo podľa hodnoty Hoci jeden prvok by bol výsledkom TRUE \u003d TRUE \u003d TRUE \u003d Skutočné príslušenstvo (\u003e \u003d, \u003d B je pravdivé, ak sú všetky prvky SET B obsiahnuté v Set A. Expression A

Prevádzka. Používa na kontrolu prvku patriaceho do zadanej súpravy. Zvyčajne aplikované v podmienených prevádzkovateľoch. 5 IN \u003d TRUE 5 IN \u003d FALSE V prevádzke vám umožňuje efektívne a jasne vykonávať komplexné skúšky podmienok, pri výmene desiatok iných operácií. Napríklad obsluha, ak (x \u003d 1) alebo (x \u003d 2) alebo (x \u003d 3) alebo (x \u003d 5) alebo (x \u003d 7), potom môže byť nahradený kratšou: ak x v operácii Niekedy sa snaží nahrávať s odmietnutím: x nie v S. Táto položka je chybná, pretože dve operácie nasledujú v rade. Správny záznam je: nie (x v s). Prevádzka v.

Kombinácia sád (+). Kombinácia dvoch sád je tretia sada obsahujúca prvky oboch súborov. + \u003d + \u003d Križovatka sád (*). Priesečník dvoch sád je tretia sada, ktorá obsahuje prvky, ktoré sú súčasťou oboch súborov. * \u003d * \u003d Nastavené rozdiely (-). Rozdiel dvoch súborov je tretia sada, ktorá obsahuje prvky prvého množiny, nie sú zahrnuté v druhej sade. - \u003d - \u003d V jazyku Delphi, dve štandardné postupy zahŕňajú zahrnúť a vylúčiť, ktoré sú určené na prácu so súbormi. Postup zahŕňa (S, I) zahŕňa v súprave S prvok I. Postup exclude (S, I) vylučuje zo súboru s prvkom I. Duplikuje operáciu - / + s jediným rozdielom, že pracujú s jedným prvkom a efektívnejšie. Združenie, križovatka, rozdiel