Dátové typy Pascal. Jednoduché dátové typy

Akékoľvek údaje - konštanty, premenné, funkčné hodnoty sú v Pascale charakterizované typom údajov.

Definujme pojem Dátový typ. Ako už bolo známe, všetky programové objekty (premenné, konštanty atď.) musia byť deklarované.

Popisy informujú prekladateľa po prvé o existencii premenných a iných použitých objektov a po druhé označujú vlastnosti týchto objektov. Napríklad popis premennej, ktorej hodnotou je číslo, označuje vlastnosti čísel. Formálne môžu byť čísla celé a reálne (zlomkové). V Pascal, rovnako ako v iných programovacích jazykoch, sú čísla rozdelené do dvoch typov: celý(vyhradené slovo celé číslo) a reálny(vyhradené slovo skutočné).

Výber celých čísel ako samostatného typu sa vysvetľuje tým, že v počítač celé čísla a reálne čísla sú reprezentované odlišne: celé číslo môže byť reprezentované úplne presne, zatiaľ čo reálne číslo je nevyhnutne reprezentované s určitou konečnou chybou, ktorá je určená vlastnosťami prekladača.

Nech je napríklad premenná x typu real a jej hodnota sa rovná jednej: x=1 . Zodpovedajúca hodnota v pamäti počítača môže byť 0,999999999, 1,000000001 alebo 1,000000000. Ale ak je premenná x deklarovaná ako premenná celočíselného typu, potom bude jednotka reprezentovaná v počítači úplne presne a premenná x nebude môcť naberať reálne (zlomkové) hodnoty - napokon bola deklarovaná ako premenná celočíselného typu.

Dátový typ teda definuje:

  • interná reprezentácia údajov v počítačovej pamäti;
  • množina hodnôt, ktoré môžu hodnoty tohto typu nadobudnúť;
  • operácie, ktoré možno vykonávať s hodnotami tohto typu.

Zavedenie dátových typov je jedným zo základných konceptov jazyka Pascal, ktorý spočíva v tom, že pri vykonávaní operácie priradenia hodnoty výrazu premennej musí byť premenná a výraz rovnakého typu. Túto kontrolu vykonáva kompilátor, čo výrazne zjednodušuje vyhľadávanie chýb a zvyšuje spoľahlivosť programu.

Súbor typov údajov Turbo Pascal možno rozdeliť do dvoch skupín:

  • štandardné (preddefinované) typy ;
  • užívateľom definované typy (užívateľom definované typy) .

Medzi štandardné typy Turbo Pascal patria:

  • celočíselný typ - celé číslo ;
  • skutočný typ - skutočný ;
  • typ postavy - char ;
  • booleovský typ - boolean ;
  • typ reťazca - reťazec ;
  • typ ukazovateľa - ukazovateľ ;
  • typ textu je text.

Vlastné typy údajov sú rôzne kombinácie štandardných typov.

Vlastné typy zahŕňajú:

  • vymenovaný typ;
  • typ intervalu;
  • typ ukazovateľa;
  • štruktúrované typy;
  • procedurálny typ.

Komentujte. Možná je aj iná klasifikácia dátových typov, podľa ktorej sa typy delia na jednoduché a zložité.

Jednoduché typy zahŕňajú: celočíselný typ, skutočný typ, typ znaku, booleovský typ, enumerovaný typ a intervalový typ.

Komplexný typ sú rôzne kombinácie jednoduchých typov (polia, záznamy, množiny, súbory atď.)

Štandardné typy

Štandardný dátový typ je definovaný samotným jazykom Pascal. Pri použití štandardných typov v programe stačí uviesť podsekcie požadovaných typov (const , var) a následne popísať konštanty a premenné používané v programe. Nie je potrebné používať podsekciu Typ.

Napríklad, ak program používa iba premenné:

i,j - celé číslo (celé čísla);

x,y - skutočný (skutočný);

t,s - char (znak);

a,b - booleovský (logický),

potom je potrebná iba podsekcia premenné - Var . Preto sú v popisnej časti programu deklarácie premenných napísané takto:

Celočíselné typy

Údaje tohto typu môžu nadobúdať iba celočíselné hodnoty. V počítači sú hodnoty celočíselného typu zobrazené presne. Ak je premenná záporná, musí jej predchádzať znamienko „-“, ak je premenná kladná, znamienko „+“ možno vynechať. Tento typ je potrebný v prípade, keď niektorú hodnotu nemožno znázorniť približne - reálne číslo. Napríklad počet ľudí, zvierat atď.

Príklady zápisu celočíselných hodnôt: 17, 0, 44789, -4, -127.

Rozsah údajov typu celé číslo je určený piatimi štandardnými typmi celých čísel a je uvedený v tabuľke:

Typ Rozsah Veľkosť v bajtoch
Shortint -128...+128 1
Celé číslo -32768...32767 2
Longint -2147483648...2147483647 4
bajtov 0...255 1
Slovo 0...65535 2

Posledné dva typy predstavujú iba kladné čísla a prvé tri kladné aj záporné čísla.

V texte programu alebo pri zadávaní údajov celočíselného typu sa zapisujú hodnoty bez desatinnej čiarky . Skutočné hodnoty premenných nesmie prekročiť prípustné hodnoty typu (Shortint , Integer , Longint , Byte , Word), ktorý bol použitý na popis premennej. Prípadné excesy vo výpočtoch nie sú žiadnym spôsobom kontrolované, čo povedie k nesprávnemu fungovaniu programu.

Príklad použitia premennej typu celé číslo

var a:integer; b:slovo; c:byte; Začať a:=300; (a je nastavené na 300) b:=300; (b nastavené na 300) c:=200; (c je nastavené na 200) a:=b+c; (a je nastavené na 500) c:=b; (Chyba! Premenná c nemôže nadobúdať hodnoty väčšie ako 255. Tu je premennej c priradená hodnota 500, čo spôsobí pretečenie výsledku.) Koniec.

Skutočné typy

Hodnoty skutočných typov v počítači sú zastúpené približne. Rozsah údajov skutočného typu je určený piatimi štandardnými typmi: skutočný (Real), s jednoduchou presnosťou (Single), dvojitou presnosťou (Double), so zvýšenou presnosťou (Extended), komplexný (Comp) a je uvedený v tabuľke:

Typ Rozsah Počet platných číslic Veľkosť v bajtoch
Reálny 2,9E-39...1,7E+38 11-12 6
Slobodný 1,5E-45...3,4E+38 >7-8 4
Dvojité 5E-324...1,7E+308 15-16 8
Rozšírené 3.4E-4951...1.1E+4932 19-20 10
Comp -2E+63+1...+2E+63-1 19-20 8

Reálne čísla môžu byť reprezentované v dvoch formátoch: s pevnou a s pohyblivou rádovou čiarkou.

Formát čísla s pevnou desatinnou čiarkou je rovnaký ako bežný matematický zápis pre desatinné číslo so zlomkovou časťou. Zlomková časť je od celočíselnej časti oddelená napríklad bodkou

34.5, -4.0, 77.001, 100.56

Formát s pohyblivou rádovou čiarkou sa používa pri písaní veľmi veľkých alebo veľmi malých čísel. V tomto formáte sa číslo pred "E" vynásobí číslom 10 na mocninu uvedenú za "E".

1E-4 1*10-4
3,4574E+3 3.4574*10+3
4,51E+1 4.51*10+1

Príklady s pohyblivou rádovou čiarkou:

číslo Písanie v Pascale
0,0001 1E-4
3457,4 34574E-1
45,1 451E-1
40000 4E+4
124 0,124E+3
124 1,24E+2
124 12,4E+1
124 1240E-1
124 12400E-2

V tabuľke od 5 do 9 je uvedený zápis rovnakého čísla 124. Zmenou polohy desatinnej čiarky v mantise (bodka "pláva", odtiaľ názov "záznam čísla s pohyblivou rádovou čiarkou") a zároveň zmenou exponent, môžete zvoliť najvhodnejšie vstupné čísla.

Príklad deklarácie premenných reálneho typu.

Typ postavy

Hodnoty typu znakov sú znaky, ktoré je možné zadávať na klávesnici počítača. To vám umožňuje prezentovať text v programe a vykonávať s ním rôzne operácie: vkladať, mazať jednotlivé písmená a slová, formátovať atď.

Typ znaku je označený rezervovaným slovom Char a je určený na uloženie jedného znaku. Údaje o type znakov v pamäti zaberajú jeden bajt.

Formát deklarácie symbolickej premennej:

<имя переменной>:char;

Pri definovaní hodnoty znakovej premennej sa znak píše v apostrofoch. Okrem toho môžete požadovaný znak špecifikovať priamo zadaním jeho číselnej hodnoty kódu ASCII. V tomto prípade je potrebné pred číslo označujúce ASCII kód ​​požadovaného znaku uviesť znak #.

Príklad použitia premenných typu znakov:

varc:char; (c je premenná typu znaku) Begin c:='A'; (znak 'A' je priradený premennej c) c:=#65; (premennej c je tiež priradený symbol A. Jej ASCII kód ​​je 65) c:='5'; (premennej c je priradený znak 5, koniec. tu 5 už nie je číslo)

booleovský typ

Logický dátový typ sa nazýva Boolean podľa anglického matematika Georga Boolea, tvorcu odboru matematika – matematická logika.

Formát deklarácie boolovskej premennej:

<имя переменной>: boolovská hodnota;

Údaje tohto typu môžu mať iba dve hodnoty:

  • Pravda;
  • Falošný - falošný.

Booleovské údaje sú široko používané pri kontrole platnosti určitých podmienok a pri porovnávaní hodnôt. Výsledok môže byť pravdivý alebo nepravdivý.

Na porovnanie údajov sú k dispozícii nasledujúce relačné operácie:

Príklad použitia relačných operácií:

vzťah 5>3 , výsledok true (pravda);

vzťah 5=3, výsledok je nepravdivý (false).

Príklad použitia booleovských premenných.

var a,b:boolean; (a,b sú booleovské premenné) Begin a:=True; (premenná a je nastavená na true) b:=false; (premenná b je nastavená na hodnotu false) Koniec.

Konštanty

Ako konštanty možno použiť celé čísla, reálne čísla, symboly, reťazce znakov, logické konštanty.

Konštanta musí byť deklarovaná v popisnej časti pomocou vyhradeného slova const.

Konštantný formát vyhlásenia

Konšt<имя константы>= <значение>;

Ak sa v programe používa viacero konštánt, je povolená iba jedna. kľúčové slovo Const , popis každej konštanty končí bodkočiarkou. Konštantný blok končí deklaráciou inej sekcie alebo deklaráciou bloku vykonateľných príkazov.

Const (deklarácia konštantného úseku) rok=2003; (konštanta typu celé číslo, keďže v zázname nie je desatinná čiarka) time=14.05; (konštanta reálneho typu) N=24; (konštanta typu celé číslo, keďže v zázname nie je desatinná čiarka) P=3,14; (konštanta reálneho typu) A=true; (booleovská konštanta) str1='7'; (konštanta typu znaku) str2='A'; (konštanta typu znaku) str3='Turbo'; (konštanta typu reťazca) Var (deklarácia premennej sekcie) X,y:integer; (premenné celočíselného typu)

Vlastné typy

Zo súboru vlastných typov budeme brať do úvahy iba

  • vymenovaný typ;
  • intervalový typ.

Tieto dva typy budeme potrebovať pri štúdiu polí.

Vyčíslený typ

Enumerovaný dátový typ popisuje nové dátové typy, ktorých hodnoty definuje programátor. Enumerovaný typ je definovaný vymenovaním hodnôt, ktoré môže prijať. Každá hodnota je pomenovaná nejakým identifikátorom a nachádza sa v zozname uzavretom v zátvorkách. Enumerovaný typ je užívateľsky definovaný dátový typ, takže jeho deklarácia typu začína rezervovaným slovom TYPE .

Formát vymenovaného typu:

<имя типа>= (konštanta1, konštanta2,..., konštantaN);

Kde
konštanta1 , konštanta2 ,..., konštantaN je usporiadaná množina hodnôt identifikátorov, ktoré sa považujú za konštanty.

Príklad deklarácie vymenovaného typu:

Type ball=(jeden, dva, tri, štyri, päť); vart:ball;

Tu ball je názov vymenovaného typu; jedna, dva, tri, štyri, päť sú konštanty; t je premenná, ktorá môže nadobúdať ľubovoľnú hodnotu konštánt.

Vo vymenovanom type je konštanta identifikátor, takže nie je v úvodzovkách a nemôže to byť číslo. Vo vymenovanom type je teda konštanta špeciálnym druhom konštánt, ktoré nemôžu byť:

  • konštanty číselného typu: 1, 2, 3, 4 atď.;
  • konštanty typu znaku: "a", "s", "1", "3" atď.;
  • konštanty typu reťazca: "prvá", "druhá" atď.

Navyše aritmetické operácie a štandardné vstupné a výstupné procedúry Čítanie , Zápis nie sú použiteľné pre hodnoty tohto typu.

Príklad použitia premenných vymenovaného typu:

Typ dni = (pondelok, utorok, streda, štvrtok, piatok, sobota, nedeľa); Var deň: dni; begin if day = Sunday then writeln('Dnes je nedeľa!'); koniec.

Prvky vo vymenovanej definícii typu sa považujú za zoradené v poradí, v akom sú uvedené. Číslovanie začína od nuly. Preto vo vyššie uvedenom príklade majú dni v týždni nasledujúce poradové čísla

Ak chcete programovo určiť poradové číslo, použite funkciu Ord().

V našom príklade sú sériové čísla rovnaké:

Ord(pondelok) = 0;

Ord(sobota) = 5;

Ord(nedeľa) = 6.

intervalový typ

Ak niektorá premenná nepreberá všetky hodnoty svojho typu, ale iba hodnoty obsiahnuté v určitom rozsahu, potom sa takýto typ údajov nazýva intervalový typ. Typ intervalu sa často nazýva ohraničený typ a typ rozsahu. Typ intervalu je definovaný hranicami jeho hodnôt:

<минимальное значение>..<максимальное значение>

  • dva znaky ".." sa považujú za jeden znak, takže medzi nimi nie sú povolené žiadne medzery;
  • ľavý koniec rozsahu nesmie presahovať jeho pravý koniec.

Typ intervalu je typ údajov definovaný používateľom, takže deklarácia tohto typu začína kľúčovým slovom TYPE .

Príklad popisu typu intervalu:

číslica typu = 1..10; mesiac = 1..31; lat = 'A'..'Z';

najčastejšie v matematike číselné typy- Toto celýčísla, ktoré predstavujú nekonečný počet diskrétnych hodnôt, a platnéčísla, ktoré predstavujú neobmedzené kontinuum hodnôt.

Popis numerických dátových typov (celé čísla) Pascal

V rámci toho istého jazyka je možné implementovať rôzne podmnožiny množiny celých čísel. Rozsah možných hodnôt celočíselných číselných typov závisí od ich vnútornej reprezentácie, ktorá môže byť jeden, dva alebo štyri bajty. Pascal 7.0 teda používa nasledujúce celočíselné číselné typy údajov:

S celým číselné dátové typy Pascal môže vykonávať nasledujúce operácie:

  • Aritmetika:
    sčítanie(+);
    odčítanie (-);
    násobenie(*);
    zvyšok delenia (mod);
    umocňovanie;
    jednočlenné plus (+);
    unárne mínus (-).
  • Vzťahové operácie:
    vzťah rovnosti (=);
    vzťah nerovnosti (<>);
    pomer menší (<);
    pomer väčší ako (>);
    pomer nie menší ako (>=);
    pomer už nie (<=).

Pri konaní s celočíselné číselné dátové typy typ výsledku bude zodpovedať typu operandov, a ak sú operandy rôznych celočíselných typov, typu operandu, ktorý má maximálnu kardinalitu (maximálny rozsah hodnôt). Prípadné pretečenie výsledkov nie je nijako kontrolované (to je dôležité!) , čo môže viesť k chybám.

Osobitná pozornosť by sa mala venovať operácii delenia celočíselných numerických dátových typov. V jazyku Pascal sú povolené dve operácie delenia, ktoré sú jednotlivo označené "/" A div. Musíte vedieť, že výsledkom delenia "/" nie je celé číslo, ale Reálne číslo(to platí, aj keď 8 vydelíte 2, t.j. 8/2=4,0). Div divízia je celočíselné delenie, t.j. celočíselný typ výsledku.

Popis numerických dátových typov (skutočný) Pascal

Typ skutočných číselných údajov sa vzťahuje na podmnožinu reálnych čísel, ktoré môžu byť reprezentované v takzvanom formáte s pohyblivou rádovou čiarkou s pevným počtom číslic. Pri pohyblivej rádovej čiarke je každý číselný dátový typ reprezentovaný ako dve skupiny číslic. Prvá skupina číslic sa nazýva mantisa, druhá - poradie. Vo všeobecnosti možno číselný dátový typ vo forme s pohyblivou rádovou čiarkou reprezentovať takto: X= (+|-)MP (+ | -) r, kde M je mantisa čísla; r je poradie čísla (r je celé číslo); P je základom číselnej sústavy. Napríklad pre desatinný základ bude reprezentácia 2E-1 (tu E je základ desiatkovej číselnej sústavy) vyzerať takto: 2*10-1 =0,2 a reprezentácia 1,234E5 bude zodpovedať: 1,234* 105 = 123400,0.

Pascal používa nasledujúce typy reálnych čísel, ktoré definujú ľubovoľné číslo len s určitou konečnou presnosťou v závislosti od vnútorného formátu reálneho čísla:

Pri popise reálnej premennej typu real sa v pamäti počítača vytvorí 4-bajtová premenná. V tomto prípade budú pod mantisou uvedené 3 bajty a jeden - pod objednávkou.

Na skutočných číselných typoch údajov môžete vykonávať nasledujúce operácie:

  • Aritmetika:
    pridanie (+);
    odčítanie (-);
    násobenie(*);
    rozdelenie(/);
    umocňovanie;
    jednočlenné plus (+);
    unárne mínus (-).
  • Vzťahové operácie:
    vzťah nerovnosti (<>);
    pomer menší (<);
    pomer väčší ako (>);
    pomer nie menší ako (>=);
    pomer už nie (<=).

Ako vidíte, Pascal sa vyznačuje bohatou škálou reálnych typov, no prístupom k numerickým dátovým typom slobodný, dvojitý A predĺžený možné iba v špeciálnych režimoch kompilácie. Tieto numerické dátové typy sú určené pre hardvérovú podporu aritmetiky s pohyblivou rádovou čiarkou a pre ich efektívne využitie musí PC obsahovať matematický koprocesor.

Špeciálnu pozíciu v Pascale zaujíma číselný dátový typ. komp, ktoré sa považuje za reálne číslo bez exponenciálnych a zlomkových častí. Vlastne, komp je "veľké" celé číslo so znamienkom, ktoré obsahuje 19 až 20 platných desatinných číslic. Zároveň číselný dátový typ komp vo výrazoch je plne kompatibilný s inými reálnymi typmi: sú na ňom definované všetky reálne operácie, možno ho použiť ako argument matematických funkcií atď.

O prevode numerických dátových typov v Pascale

Implicitné (automatické) prevody numerických dátových typov sú v Pascale takmer nemožné. Výnimku tvorí len typ celé číslo, ktorý je povolené používať vo výrazoch ako reálny. Napríklad, ak sú premenné deklarované takto:

VarX: celé číslo; Y: skutočné

Potom operátor

budú syntakticky správne, hoci celočíselný výraz je napravo od priraďovacieho znaku a skutočná premenná je naľavo, kompilátor vykoná konverziu numerických dátových typov automaticky. Spätná konverzia sa automaticky zadá reálny podľa typu celé číslo nie je možné v jazyku Pascal. Spomeňme si, koľko bajtov je alokovaných pre premenné ako napr celé číslo A reálny: pod celočíselný typúdajov celé číslo Sú pridelené 2 bajty pamäte a pod skutočnými - 6 bajtov. Pre konverziu reálny V celé číslo má dve vstavané funkcie: okrúhly(x) zaokrúhli skutočné x na najbližšie celé číslo, trunc(x) skráti reálne číslo odstránením zlomkovej časti.

Koncept typu je jedným zo základných pojmov každého programovacieho jazyka. Objekty (konštanty, premenné, funkcie, výrazy), s ktorými program pracuje, sú určitého typu.

Typ je množina hodnôt, ktoré môžu mať objekty programu, a množina operácií povolených s týmito hodnotami.

Napríklad, hodnoty 1 a 2 sú celočíselného typu, možno ich sčítať, násobiť a vykonávať ďalšie aritmetické operácie. Významy „monitor“ a „Pascal“ majú lingvistický charakter, majú svoj vlastný súbor platných operácií. Vo väčšine bežne používaných jazykov možno použiť len dobre definované, známe typy. Pascal spolu so štandardnými typmi, ktoré sa nachádzajú v iných vysokoúrovňových jazykoch, umožňuje programátorovi vytvárať ich vlastné typy.

Všetky typy povolené v jazyku Pascal sú rozdelené do dvoch veľkých skupín: jednoduché a zložité (štruktúrované).

Typ Rozsah Mantisa, znamenia Požadovaná pamäť (bajty)
REÁLNY 2,9*10E-39..1,7*10E38 11-12
JEDNOTLIVÝ 1,5*10E-45..3,4*10E38 7-8
DOUBLE 5,0*10E-324..1,7*10E308 15-16
ROZŠÍRENÝ 1,9*10E-4951..1,1*10E4932 19-20
COMP -2Е+63+1..2Е+63-1 10-20

Efektívne použitie typov SINGLE, DOUBLE, EXTEND, COMP je možné len vtedy, keď je zahrnutá smernica ($N+). Štandardne je vo vypnutom stave. Na riešenie inžinierskych a ekonomických problémov postačujú hodnoty typu REAL.

Príklad

Var Res, Summa, Itog: skutočné;

Bulevskij dátový typ je opísaný identifikátorom BOOLEAN. Premenné a konštanty tohto typu môžu nadobúdať iba jednu z dvoch hodnôt: TRUE (true) alebo FALSE (false).

Príklad

Var Sel1, Sel2: boolovská hodnota;

A,B,C,D: boolovská hodnota;

Výrazy booleovského typu zaberajú 1 bajt pamäte a používajú sa v logických a relačných výrazoch, ako aj na riadenie poradia vykonávania príkazov programu.

Doslovný (znak) typ je opísaný štandardným identifikátorom CHAR. Konštanty a premenné tohto typu môžu mať jednu z hodnôt tabuľky kódov ASCII. Hodnota konštanty alebo premennej tohto typu je uzavretá v apostrofoch.

Napríklad, Var Bukva, Znak, Symbol: char;

Písmeno:='A'; Znamienko:='+'; Symbol:='!'

Premenné typu znaku zaberajú 1 bajt v pamäti. Používanie údajov typu char v aritmetických výrazoch je zakázané. Na doslovné hodnoty možno použiť porovnávacie operácie, ktorých výsledok závisí od čísla premennej literálu alebo konštanty v kódovej tabuľke.

Okrem štandardných dátových typov podporuje Pascal skalárne typy, definované užívateľom. Tie obsahujú spočítateľné A interval typy . Tieto dátové typy zaberajú 1 bajt pamäte, takže žiadny užívateľom definovaný typ nemôže obsahovať viac ako 255 prvkov. Ich použitie výrazne zlepšuje viditeľnosť programu, uľahčuje hľadanie chýb a šetrí pamäť.

Vyčíslený typ je špecifikovaný priamo výpisom všetkých hodnôt, ktoré môže premenná daného typu nadobudnúť. Jednotlivé hodnoty sú oddelené čiarkami a celý zoznam je uzavretý v zátvorkách.

Formátovať

typu<имя типа>=(<значение1, значение2, ..., значениеN>);

Var<идентификатор, ...>: < имя типа>;

Príklad

Typ Obdobie =(jar, leto, jeseň, zima);

Var S1, S2: Sezóna;

Jeseň: (september, október, november);

V tomto príklade je zobrazený explicitne deklarovaný typ údajov používateľa sezóny. Určujú sa ich významy – označenia ročných období. Premenné S1 a S2 môžu nadobúdať len jednu z uvedených hodnôt. Pokus priradiť im akúkoľvek inú hodnotu spôsobí softvérové ​​prerušenie. Tretí typ enumerácie je anonymný (nemá názov) a je špecifikovaný enumeráciou hodnôt v sekcii Var. Jeseň je premenná tohto typu a môže nadobúdať hodnoty september, október, november. Dá sa teda dať akýkoľvek typ, ale nie vždy je to prijateľné. Prvý spôsob je určite zrozumiteľnejší a viac zodpovedá povahe jazyka Pascal.

intervalový typ umožňuje nastaviť dve konštanty, ktoré definujú hranice rozsahu hodnôt pre túto premennú. Kompilátor generuje kontrolné rutiny pre každú operáciu s premennou typu interval, ktorá určuje, či hodnota premennej zostáva v rozsahu, ktorý je pre ňu určený. Obe konštanty musia patriť k jednému zo štandardných typov, okrem reálnych. Hodnota prvej konštanty musí byť nevyhnutne menšia ako hodnota druhej.

Formátovať

typu<имя типа> = <константа1> .. <константа2>;

Var<идентификатор>: < имя типа>;

Príklad

Typ Dni = 1.. 31;

Var Work_d, Free_d: Dni;

V tomto príklade premenné Work_d, Free_d sú typu dni a môže nadobúdať akúkoľvek hodnotu z rozsahu 1 . . 31.

Mimo dosahu sa spustí softvérové ​​prerušenie.

Typ intervalu môžete definovať zadaním limitov rozsahu nie konštantnými hodnotami, ale ich názvami:

Const Min = 1; max=31;

Typ Dni = Min .. Max;

Var Work_d, Free_d: Dni;

Štruktúrované typyúdaje sú založené na skalárnych typoch a môžu obsahovať ich rôzne kombinácie. Definujú usporiadanú množinu skalárnych prvkov a sú charakterizované typom ich komponentov. Pascal poskytuje nasledujúce typy štruktúrovaných údajov:

riadok - postupnosť znakov uzavretých v apostrofoch;

pole -štruktúrovaný dátový typ pozostávajúci z pevného počtu prvkov rovnakého typu, ku ktorým pristupuje index ;

kopa - súbor objektov vybraných podľa nejakého atribútu alebo skupiny atribútov, ktoré možno považovať za celok;

záznam - súbor pevného počtu komponentov rôznych typov;

súbor- sled komponentov rovnakého druhu a rovnakej dĺžky.

Dva ďalšie štruktúrované typy – procesné a typ objektu(cieľ) - je ťažké zhodovať údaje v bežnom zobrazení.

Obrázok 1- Súbor základných typov jazyka Pascal

V Pascale premenné sú charakterizované ich typu. Typ je vlastnosť premennej, podľa ktorej môže premenná nadobúdať množinu hodnôt povolených týmto typom a zúčastňovať sa na množine operácií povolených na tomto type.

Typ definuje množinu platných hodnôt, ktoré môže mať premenná daného typu. Tiež definuje množinu povolených operácií s premennou daného typu a definuje reprezentácie údajov v Náhodný vstup do pamäťe počítač.

Napríklad:

n:integer;

Pascal je statický jazyk, čo znamená, že typ premennej je určený pri jej deklarovaní a nemožno ho zmeniť. Jazyk Pascal má vyvinutý systém typov – všetky dáta musia patriť do predtým známeho dátového typu (buď štandardného typu vytvoreného pri vývoji jazyka alebo užívateľom definovaného typu, ktorý definuje programátor). Programátor môže vytvárať svoje typy s ľubovoľnou štruktúrou zložitosti na základe štandardných typov alebo už definované užívateľom typy. Počet vytvorených typov je neobmedzený. Vlastné typy v programe sú deklarované v sekcii TYP podľa formátu:

[meno] = [typ]

Systém štandardného typu má rozvetvenú, hierarchickú štruktúru.

Primárne v hierarchii sú jednoduché typy. Takéto typy sú prítomné vo väčšine programovacích jazykov a nazývajú sa jednoduché, ale v Pascale majú zložitejšiu štruktúru.

Štruktúrované typy sú postavené podľa určitých pravidiel z jednoduchých typov.

Ukazovatele sa tvoria z jednoduchých pohľadov a používajú sa v programoch na nastavenie adries.

Procedurálne typy sú inováciou jazyka TurboPascal a umožňujú vám pristupovať k podprogramom, ako keby to boli premenné.

Objekty sú tiež nové a sú určené na použitie ako objektovo orientovaný jazyk.

V Pascale je 5 typov celočíselných typov. Každá z nich charakterizuje rozsah akceptovaných hodnôt a ich miesto v pamäti.

Pri použití celých čísel sa treba riadiť vnorením typov, t.j. typy menšieho rozsahu môžu byť vnorené do typov s väčším rozsahom. Typ Byte môže byť vnorený do všetkých typov, ktoré zaberajú 2 a 4 bajty. Zároveň typ Short Int, ktorý zaberá 1 bajt, nie je možné vnoriť do typu Word, pretože nemá záporné hodnoty.

Existuje 5 skutočných typov:

Celočíselné typy sú v počítači presne zastúpené. Na rozdiel od celočíselných typov, hodnota reálnych typov definuje ľubovoľné číslo iba s určitou konečnou presnosťou v závislosti od formátu čísla. Reálne čísla sú reprezentované v počítači s pevnou alebo pohyblivou rádovou čiarkou.

2358.8395

0.23588395*10 4

0,23588395*E 4

Špeciálnu pozíciu v Pascale zaujíma typ Comp, v skutočnosti ide o veľké celé číslo so znamienkom. Tento typ je kompatibilný so všetkými reálnymi typmi a možno ho použiť pre veľké celé čísla. Pri reprezentácii skutočných čísel s pohyblivou rádovou čiarkou sa desatinná čiarka vždy nachádza pred ľavou alebo najvyššou mantisou, ale pri práci s číslom sa posúva doľava alebo doprava.

Bežné typy

Bežné typy kombinujú niekoľko jednoduchých typov. Tie obsahujú:

  • všetky celočíselné typy;
  • typ postavy;
  • booleovský typ;
  • typový rozsah;
  • vymenovaný typ.

Spoločné znaky pre ordinálne typy sú: každý typ má konečný počet možných hodnôt; hodnotu týchto typov je možné určitým spôsobom objednať a s každým číslom porovnať určité číslo, ktoré je sériovým číslom; susedné hodnoty radových typov sa líšia o jednu.

Pre hodnoty ordinálneho typu možno použiť funkciu ODD(x), ktorá vráti poradové číslo argumentu x.

Funkcia PRED(x) - vracia predchádzajúcu hodnotu ordinálneho typu. PRED(A) = 5.

Funkcia SUCC(x) - Vráti ďalšiu hodnotu ordinálneho typu. SUCC(A) = 5.

Typ postavy

Hodnoty typu znakov sú 256 znakov z množiny povolenej tabuľkou kódov používaného počítača. Počiatočná oblasť tejto sady, t.j. rozsah od 0 do 127, zodpovedá množine ASCII kódov, kde sú načítané znaky abecedy, arabské čísla a špeciálne znaky. Symboly počiatočná oblasť sú vždy prítomné na klávesnici počítača. Staršia oblasť sa nazýva alternatívna, obsahuje znaky národných abecied a rôzne špeciálne znaky a pseudografické znaky, ktoré nezodpovedajú kódu ASCII.

Hodnota typu znaku zaberá jeden bajt v RAM. V programe sú hodnoty uzavreté v apostrofoch. Hodnoty môžu byť tiež špecifikované vo forme jeho ASCII kódu. V tomto prípade pred číslom s kódom znaku musí byť znak #.

C:= 'A'

Booleovský (booleovský) typ

Existujú dve hodnoty typu Boolean: True (True) a False (False). Premenné tohto typu sú špecifikované servisným slovom BOOLEAN. Booleovská hodnota zaberá jeden bajt v RAM. Hodnoty True a False zodpovedajú číselným hodnotám 1 a 0.

Typový rozsah

Existuje podmnožina jeho základného typu, ktorá môže byť ľubovoľného ordinálneho typu. Typ rozsahu je definovaný hranicami v rámci základného typu.

[min-value]…[max-value]

Typ rozsahu je možné špecifikovať v časti Typ ako konkrétny typ, alebo priamo v časti Var.

Pri definovaní typu rozsahu by ste sa mali riadiť:

  • ľavý okraj by nemal presahovať pravý okraj;
  • rozsahový typ dedí všetky vlastnosti základného typu, ale s obmedzeniami súvisiacimi s jeho nižšou mohutnosťou.

Vyčíslený typ

Tento typ odkazuje na ordinálne typy a je špecifikovaný zoznamom tých hodnôt, ktoré môže vymenovať. Každá hodnota je pomenovaná nejakým identifikátorom a nachádza sa v zozname orámovanom v zátvorkách. Vyčíslený typ je špecifikovaný v Typ:

národy = (muži, ženy);

Prvá hodnota je 0, druhá hodnota je 1 atď.

Maximálny výkon 65535 hodnôt.

typ reťazca

Typ string patrí do skupiny štruktúrovaných typov a pozostáva zo základného typu Char. Typ reťazca nie je radový typ. Definuje množinu reťazcov znakov ľubovoľnej dĺžky až do 255 znakov.

V programe je typ reťazca deklarovaný slovom String. Keďže String je základný typ, je deklarovaný v jazyku a deklarácia premennej typu String sa vykonáva vo Var. Pri deklarovaní premennej typu string za String je vhodné uviesť dĺžku reťazca v hranatých zátvorkách. Určuje celé číslo od 0 do 255.

Fam: Struna;

Zadanie dĺžky reťazca umožňuje kompilátoru alokovať zadaný počet bajtov v RAM pre danú premennú. Ak nie je zadaná dĺžka reťazca, kompilátor pridelí hodnote tejto premennej maximálny možný počet bajtov (255).

Lekcia rozoberá hlavné štandardné dátové typy v Pascale, koncept premennej a konštanty; vysvetľuje, ako pracovať s aritmetickými operáciami

Pascal je typovaný programovací jazyk. To znamená, že premenné, ktoré uchovávajú údaje, sú špecifického typu údajov. Tie. program musí priamo indikovať, aké údaje môžu byť uložené v konkrétnej premennej: textové údaje, číselné údaje, ak sú číselné, potom celé číslo alebo zlomok atď. Je to potrebné v prvom rade preto, aby počítač „vedel“, aké operácie je možné s týmito premennými vykonávať a ako ich správne vykonávať.

Napríklad pridávanie textových údajov, alebo ako sa to v programovaní správne nazýva - zreťazenie - je obvyklé zlučovanie reťazcov, zatiaľ čo pridávanie číselných údajov prebieha bit po bite, navyše sa pridávajú aj zlomkové a celé čísla v rôznych spôsoby. To isté platí pre ostatné operácie.

Poďme sa pozrieť na tie najčastejšie Typy Pascalúdajov.

Celočíselné dátové typy v Pascale

Typ Rozsah Požadovaná pamäť (bajty)
byte 0..255 1
skrat -128..127 1
celé číslo -32768.. 32767 2
slovo 0..65535 2
longint -2147483648..2147483647 4

Treba mať na pamäti, že pri písaní programov v Pascale celé číslo(preložené z angličtiny ako celé číslo) sa najčastejšie používa, pretože rozsah hodnôt je najžiadanejší. Ak je potrebný širší rozsah, použite longint(long integer, preložené z angličtiny long integer). Typ byte v Pascal sa používa vtedy, keď netreba pracovať so zápornými hodnotami, to isté platí pre typ slovo(iba rozsah hodnôt je tu oveľa väčší).

Príklady toho, ako sú premenné opísané (deklarované) v jazyku Pascal:

program a1; varx,y:integer; (celočíselný typ) myname:string; (typ reťazca) begin x:=1; y:=x+16; mojemeno:="Peter"; writeln ("meno: ",moje meno, ", vek: ", y) koniec.

výsledok:
meno: Peter, vek: 17

Komentáre v Pascale

Venujte pozornosť tomu, ako Používajú sa komentáre Pascal. V príklade komentáre, t.j. servisný text, ktorý „nie je viditeľný“ pre kompilátor, je uzavretý v zložených zátvorkách. Programátori zvyčajne robia komentáre, aby objasnili úryvky kódu.

Úloha 3. Počet obyvateľov Moskvy je a = 9 000 000 obyvateľov. Počet obyvateľov Nového Vasjukova sa rovná b=1000 obyvateľov. Napíšte program, ktorý určí rozdiel v počte obyvateľov medzi dvoma mestami. Použite premenné

Typy skutočných údajov v jazyku Pascal

Reálne čísla v Pascale a všeobecne v programovaní je názov zlomkových čísel.

Typ Rozsah Požadovaná pamäť (bajty)
reálny 2,9*10E-39..1,7*10E38 6
slobodný 1,5 * 10 E-45 .. 3,4 * 10E38 4
dvojitý 5*10E-324..1.7*10E308 8
predĺžený 1,9 * 10E-4951 .. 1,1 * 10E4932 10

Reálny typ v Pascal je najbežnejšie používaný z reálnych typov.

Vyššie boli prezentované jednoduché dátové typy v jazyku Pascal, ktoré zahŕňajú:

  • Radový
  • celý
  • hlavolam
  • Symbolický
  • vymenované
  • Interval
  • Reálny

Na výstup hodnôt premenných skutočného typu sa zvyčajne používa formátovaný výstup:

  • formát používa buď jedno číslo, čo znamená počet pozícií priradených tomuto číslu v exponenciálnom tvare;
  • p:=1234,6789; WriteIn(p:6:2); (1234,68)

    Spolu s jednoduchými typmi používa aj jazyk štruktúrované dátové typy a ukazovatele, ktorá bude predmetom nasledujúcich lekcií Pascalu.

    Konštanty v Pascale

    Program často vopred vie, že premenná nadobudne určitú hodnotu a nezmení ju počas vykonávania celého programu. V tomto prípade musíte použiť konštantu.

    K deklarácii konštanty v Pascale dochádza pred deklaráciou premenných (pred servisným slovom var) a vyzerá takto:

    Príklad konštantného popisu v Pascale:

    1 2 3 4 5 6 const x= 17; var myname: string ; begin myname: = "Peter" ; writeln ("meno: " , moje meno, ", vek: " , x) koniec .

    const x=17; varmyname:string; begin myname:="Peter"; writeln ("meno: ", moje meno, ", vek: ", x) koniec.

    "Krásny" výstup celých a reálnych čísel

    Aby sa po výstupe hodnôt premenných ponechali odrážky, aby sa hodnoty navzájom „nezlúčili“, je zvykom označovať dvojbodkou, koľko znakov je potrebné zadať pre výstup. z hodnoty:


    Aritmetické operácie v Pascale

    Prevádzkový poriadok

    1. hodnotenie výrazov v zátvorkách;
    2. násobenie, delenie, div, mod zľava doprava;
    3. sčítanie a odčítanie zľava doprava.

    Štandardné aritmetické postupy a funkcie Pascal

    Tu stojí za to podrobnejšie sa zaoberať niektorými aritmetickými operáciami.

    • Operátor inc v jazyku Pascal, vyslovovaný ako prírastok, je štandardný postup Pascal, čo znamená prírastok o jednotku.
    • Príklad prevádzky Inc:

      x:=1; inc(x); (Zvýši x o 1, t.j. x=2) writeln (x)

      Zložitejšie použitie postupu inc:
      Inc(x, n) kde x je radový typ, n je celočíselný typ; procedúra zvyšuje x o n.

    • Procedúra Dec v Pascale funguje podobne: Dec(x) - zníži x o 1 (dekrementuje) alebo Dec(x,n) - zníži x o n.
    • Operátor abs predstavuje modul čísla. Funguje takto:
    • a: =-9; b:=abs(a); (b=9)

      a:=-9; b:=abs(a); (b=9)

    • Operátor div v jazyku Pascal je bežne používaný, pretože s akciou delenia celého čísla je spojených množstvo úloh.
    • Zvyšok divízie alebo operátor mod v pascal je tiež nevyhnutný na riešenie množstva problémov.
    • Pozoruhodné je štandardná funkcia nepárny Pascal, ktorý určuje, či je celé číslo nepárne. To znamená, že vracia true (pravda) pre nepárne čísla, false (false) pre párne čísla.
    • Príklad použitia nepárnej funkcie:

      varx:integer; beginx:=3; writeln(sqr(x)); (odpoveď 9) koniec.

    • Umocňovanie operácie v Pascale chýba ako taká. Ale aby ste zvýšili číslo na mocninu, môžete použiť funkciu exp.
    • Vzorec je: exp(ln(a)*n) , kde a je číslo, n je mocnina (a>0).

      Avšak v kompilátore pascal abc umocňovanie je oveľa jednoduchšie:

      varx:integer; beginx:=9; writeln(sqrt(x)); (odpoveď 3) koniec.

    Úloha 4. Rozmery zápalkovej škatuľky sú známe: výška - 12,41 cm, šírka - 8 cm, hrúbka - 5 cm. Vypočítajte základnú plochu škatuľky a jej objem
    (S = šírka * hrúbka, V = plocha * výška)

    Úloha 5. V zoo sú tri slony a pomerne veľa králikov a počet králikov sa často mení. Slon má zjesť sto mrkiev denne a králik dve. Každé ráno správca zoologickej záhrady hlási počet králikov do počítača. Počítač by mal ako odpoveď oznámiť obsluhujúcemu celkový počet mrkvy, ktorú dnes treba kŕmiť králiky a slony.

    Úloha 6. To je známe X kg sladkostí a rubľov. Určite koľko r kg týchto sladkostí, ako aj to, na koľko kilogramov sladkostí sa dá kúpiť k rubľov. Všetky hodnoty zadáva používateľ.



    Načítava...
    Hore