• Logické operace Pascalu. Booleovské datové typy. Příklad deklarace výčtového typu

    Popis: varn: boolean;

    Booleovská data mohou nabývat pouze dvou hodnot: true (true) a false (false). Pro hodnoty typu boolean, srovnávací operace, a skutečný> Nepravdivé.Použijte také 4 logické operace:

    a logické násobení

    nebo logické doplnění

    xor exkluzivní "nebo"

    ne negace

    Pravidla pro provádění logických operací jsou určena pomocí následujících pravdivostních tabulek:

    X a Y

    Xxor Y


    Příklad 1:

    not(5>2) = nepravda

    (5>2) a (3<10) = true

    (8<>9) nebo (4>5) = pravda

    ne (5=2) xor (3>2) = nepravda

    Příklad 2:

    Při porovnávání dat typu BOOLEAN se bere v úvahu vnitřní konvence Turbo Pascalu, podle které FALSE je nulový bajt a TRUE je bajt s jedničkou v nejméně významném bitu. Všimněte si, že funkce ORD převádí na celé číslo nejen symboly, ale také logické hodnoty

    2.5 Omezené typy

    Na základě standardních typů můžete vytvářet vlastní typy, omezující rozsah možných hodnot: 1..10, -100..10, ‚a‘..‘z‘ atd.

    Příklad:

    b: ‚a‘...‘z‘;

    b:=0; (chyba: neshoda typu – proměnné typu znaku je přiřazeno celé číslo)

    a:=0; (chyba: mimo rozsah 2..5)

    2.6 Vyjmenované typy

    Tvořeno explicitním výčtem všech možných hodnot daných jmény. Například pro program řízení semaforů lze definovat následující typ:

    var svet: (červená, žlutá, zelená);

    opera: (plus, mínus);

    Booleovský typ je speciální případ výčtového typu.

    2.7 Popis typů

    Nové datové typy v Pascalu jsou definovány deklaracemi začínajícími slovem TYPE. Popis se skládá z názvu typu a hodnoty typu, mezi které je umístěn znak "=".

    Příklad:

    abc='A'..'z';

    2.8 Převod typu

    Jak již bylo řečeno, typ proměnné umožňuje nejen nastavit délku její vnitřní reprezentace, ale také řídit akce, které se s ní v programu provádějí. Kontrola nad používáním proměnných ve fázi kompilace programu je důležitou výhodou Turbo Pascalu oproti jiným programovacím jazykům, které umožňují automatický převod typů. V Turbo Pascalu jsou implicitní (automatické) převody typů téměř nemožné. Výjimku tvoří pouze konstanty a proměnné typu INTEGER (celá čísla), které je povoleno používat ve výrazech typu REAL (real). Pokud jsou například proměnné X a Y deklarovány takto:

    var x: celé číslo;

    pak operátor

    bude syntakticky správná: ačkoli je napravo od přiřazovacího znaku celočíselný výraz a nalevo skutečná proměnná, kompilátor provede potřebné převody automaticky. Zároveň provozovatel

    bude nesprávný, protože automatický převod z typu REAL (konstanta 2.0 obsahuje desetinnou čárku a patří tedy k typu REAL) na typ INTEGER je v Turbo Pascalu zakázán.

    Proměnným lze tedy přiřadit pouze hodnoty jejich vlastního typu; jediná výjimka: proměnná reálného typu a hodnota celého čísla (v tomto případě bude celé číslo převedeno na reálné číslo se zlomkovou částí rovnou 0).

    Zákaz automatického převodu typů samozřejmě neznamená, že v Turbo Pascalu nejsou žádné nástroje pro převod dat. Samozřejmě jsou, ale je třeba je používat výslovně. Pro převod dat v jazyce existují vestavěné funkce, které přijímají hodnotu jednoho typu jako parametr a vracejí výsledek jako hodnotu jiného typu. Konkrétně existují dokonce dvě vestavěné funkce tohoto druhu pro převod REAL na INTEGER: ROUND zaokrouhlí REAL na nejbližší celé číslo a TRUNC zkrátí REAL zahozením zlomkové části (viz část 1.5).

    Chyboval by například operátor

    ale správně

    x:= round(y/x);

    (viz deklarace proměnných výše).

    Například funkce ORD je určena k převodu dat typu CHAR (znak) na celé číslo, zatímco zpětný převod INTEGER na CHAR provádí funkce CHR.

    Přítomnost dvou dělicích operací je dalším projevem základního principu Turbo Pascalu: programátor musí kompilátoru výslovně potvrdit, že je připraven na možné důsledky typové konverze. Pokud je například v jazyce Fortran použit výraz 1/2, bude výsledek tohoto výrazu záviset na tom, ke kterému typu proměnné bude přiřazen: pokud N je proměnná celočíselného typu a X je skutečný typ, pak v programu Fortran zadání

    dá hodnoty 0 pro N a 0,5 pro X. V Turbo Pascalu taková nejednoznačnost není: výraz 1/2 má vždy hodnotu 0,5 a tak operátor

    je prostě nepřijatelné. Současně jsou v Turbo Pascal povoleni operátoři:

    A nakonec o relačních a logických operacích.

    Následující relační (porovnávací) operace jsou definovány nad daty typů REAL, INTEGER, CHAR, STRING:

    <>- nerovná se;

    < - меньше;

    > - více;

    <= - меньше или равно,

    >= - větší nebo rovno.

    Porovnávací operace musí zahrnovat operandy stejného typu. Výjimku tvoří opět REAL a INTEGER, které lze vzájemně porovnávat. Výsledek použití relačního operátoru na libovolné operandy je typu BOOLEAN.

    Software - Pascal Operace s jazykem Pascal

    Operace s jazykem Pascal

    Operace definují akce s operandy. V Pascalu existují binární a unární operace. Unární operace obsahují 1 operand, kterému předchází znaménko operace. Binární operace mají 2 operandy, mezi které je umístěn znak nebo symbol operace. Podle povahy akce Operace s jazykem Pascal lze rozdělit do 7 skupin:

    • aritmetický;
    • vztah;
    • hlavolam;
    • tětiva;
    • bit, posun;
    • operace na soupravách;
    • operace přijímání adres.

    Aritmetické operace. Pascal má jednu unární operaci nazvanou přiřazení znaménka mínus a druhé přiřazení znaménka plus. Binární soubory jsou:

    • sčítání (+);
    • odčítání (-);
    • násobení (*);
    • skutečné dělení (/);
    • celočíselné dělení (div);
    • zbytek celočíselného dělení (mod).

    Pascal má tři operace dělení, výsledkem operace dělení (/) je číslo se zlomkovou částí, výsledkem operace div je pouze celé číslo a výsledkem operace mod je zbytek dělení celého čísla. Příklady:

    Aritmetických operací se mohou účastnit pouze operandy číselných typů. Jejich výsledkem bude také číslo. Číslo může být celé nebo reálné.

    vztahové operace. Patří sem všechny binární operace:

    • více;
    • méně;
    • více nebo stejné;
    • menší nebo stejný
    • rovná se
    • ne rovné.

    Výsledkem relačních operací může být pouze booleovská proměnná, může nabývat buď hodnoty true (True) nebo hodnoty false (False). Operandy v relačním operátoru mohou být číselné typy nebo typy, které lze redukovat na číselné. Číselné typy:

    • znak - v relačních operacích jsou kódy znaků porovnávány v souladu s tabulkou kódů;
    • logické - používají se hodnoty True a False, které mají hodnoty 1 - pravda a 0 - nepravda;
    • string je složený typ skládající se z typu znaku. Proto se při použití řetězců porovnávají po sobě jdoucí znaky ve dvou řetězcích.

    Například:

    5,6 > 7 - nepravda;

    'P'< ‘Б’ — False;

    'Petrov' > 'Ivanov' - Pravda;

    "Ivanov"< ‘Иван’ — False.

    Výsledkem logických operací budou booleovské hodnoty True nebo False.

    Unární: NE - negace.

    Binární: AND - násobení (and); OR - sčítání (nebo); XOR - sčítání modulo 2 (exkluzivní OR).

    Operandy booleovského výrazu mohou být pouze booleovské operace.

    Řetězcové operace. Zřetězení (řetězení) je binární operace. Operandy mohou být pouze proměnné typu řetězec. Výsledkem je řetězec a akcí operace je zřetězení dvou řetězců do jednoho:

    A:='Ivanov'

    B:= ‚Alexander‘

    Výsledek: Ivanov Alexander.

    Pořadí operací v Pascalu je určeno 3 faktory:

    • priorita provozu;
    • pořadí operací;
    • použití závorek.

    Úrovně priority operací:

    • operace první priority se provádějí na prvním místě;
    • operace s nejnižší prioritou se provádějí jako poslední;
    • operace se stejnou prioritou se provádějí zleva doprava v pořadí, ve kterém jsou zapsány.

    Současně může kompilátor někdy změnit pořadí operandů stejné priority. Závorky slouží ke změně priority (její zvýšení). Výraz v závorkách je vyhodnocen jako první a poté vyhodnocen mimo závorky.

    Lekce představuje logický typ Boolean v Pascalu. Zvažuje se algoritmus, jak najít minimální A maximumčíslo v Pascalu


    Webová stránka poskytuje laboratorní úlohy na toto téma ke konsolidaci teoretického materiálu a získání praktických dovedností programování v Pascalu. Stručné teoretické informace vám umožní získat minimální znalosti potřebné k tomu. Řešené názorné příklady a laboratorní úlohy jsou prezentovány se zvyšující se složitostí, což usnadní studium materiálu od začátku. Hodně štěstí!

    Již jsme se naučili psát programy založené na lineárních algoritmech v Pascalu. A dokonce již kompilujeme nelineární algoritmy - s větvením - které používají , které mají hodnoty true nebo false .

    Booleovské hodnoty:

    V níže uvedeném příkladu se na obrazovce zobrazí výsledek logického výrazu:

    1 2 3 4 5 6 var A: integer ; začít A := 5 ; napsat (A > 0 ); (Vytiskne True) konec.

    var A: celé číslo; začít A:= 5; zápis(A ​​> 0); (zobrazí se pravda) konec.

    K zaznamenání výsledku logického výrazu se používá speciální logická proměnná, která má v Pascalu booleovský typ a může také nabývat jedné ze dvou hodnot – true nebo false .

    Podívejme se, jak stejná úloha funguje s booleovskou proměnnou:

    1 2 3 4 5 6 7 8 var A: integer ; b: booleovský ; začít A := 5 ; b: = A > 0; napsat(b); (Vytiskne True) konec.

    var A: celé číslo; b: booleovský začít A:= 5; b:=A > 0; write(b);(výstup bude True) end.

    Příklad: Zvažte příklad práce s typem boolean v pascalu:

    var a:boolean; začít a:=true; if a=true then writeln("true") else writeln("false"); konec.

    K vytvoření složitých podmínek se používají speciální podmínky: a , nebo , not a xor .

    Booleovský úkol 1. Je vám přiděleno kladné celé číslo. Zkontrolujte pravdivost výroku: "je to sudé"

    Zvažte příklad s použitím logické operace XOR:

    Příklad: Požadujte dvě celá čísla: X, Y. Zkontrolujte pravdivost tvrzení: "Pouze jedno z čísel X a Y je liché"

    program Boolean; varx,y: celé číslo; c:boolean; begin write("Zadej X, Y: "); read(x,y); c:= (lichý(x)) xor (lichý(y)); writeln("Pouze jedna z proměnných X a Y má lichou hodnotu - ", c); konec.

    Zvažte další řešení problému v Pascalu pomocí booleovské proměnné:

    Booleovský 2 úkol. Jsou dána tři celá čísla: A, B, C. Zkontrolujte pravdivost tvrzení: "B je mezi čísly A a C."

    Zvažte řešení složitějšího problému pomocí booleovské proměnné:

    Příklad: Dané třímístné číslo. Zkontrolujte pravdivost tvrzení: "Všechny číslice daného čísla jsou různé."

    Zobrazit řešení:

    1 2 3 4 5 6 7 8 9 10 11 12 13 const a= 348 ; var d_n, s_n, e_n: integer ; příznak: boolean ; start flag:= false ; s_n := a div 100 ; d_n: = ((a mod 100) div 10); e_n: = a mod 10 ; pokud (s_n<>d_n) a (d_n<>e_n) a (e_n<>s_n) then flag:= true ; writeln (vlajka) ; konec.

    const a=348; var d_n, s_n, e_n: celé číslo; příznak: boolean; start flag:=false; s_n:=a div 100; d_n:=((a mod 100)div 10); e_n:=a mod 10; pokud (s_n<>d_n) a (d_n<>e_n) a (e_n<>s_n) then flag:=true; writeln(příznak); konec.

    Zde je každá číslice získána pomocí operací dělení celého čísla a odebráním zbytku dělení: s_n je číslice sté číslice, d_n je číslice desáté číslice, e_n je jedna.

    Booleovská úloha 3. Je dáno celé číslo N > 0 . Pomocí operací dělení celým číslem a sejmutím zbytku dělení určete, zda je v záznamu čísla N číslo „2“. Pokud existuje, pak výstup TRUE , pokud ne, výstup FALSE .

    Booleovská úloha 4. Dané kladné celé číslo. Ověřte si pravdivost tvrzení: "Toto číslo je liché trojmístné číslo."

    Minimální a maximální číslo v Pascalu

    Při organizování hledání minimálního nebo maximálního čísla mezi řadou čísel vždy přichází na pomoc starý algoritmus „babičky“:

    • Představte si situaci, že smažíme koláče a už jsme usmažili celý velký kopec; nyní musíme vybrat největší z nich, tzn. v našem případě maximálně
    • Vezmeme vrchní koláč, tzn. první a my říkáme, že je zatím největší a odložíme ji stranou.
    • Pak vezmeme druhý a porovnáme ho s největším, pokud se tento druhý koláč ukáže být větší, odložíme ho na místo „bývalého největšího“ a řekneme, že nyní je největší.
    • Vezmeme další a opakujeme kroky. Takže tento postup provádíme se všemi koláči.

    Někdy je jako počáteční maximum přiřazeno nejmenší možné číslo (v závislosti na kontextu úlohy). A jako minimum naopak co největší počet. Například, pokud je řečeno, že je nutné najít maximum / minimum mezi kladnými čísly menšími než 1000, pak:

    max:=0 min:= 1000;

    Booleovské výrazy (podmínky) v Pascalu se používají v příkazech if a při organizování opakování, jmenovitě v cyklech while a repeat-until.

    Příklady booleovských výrazů:

    1 . a > 2*b

    2 . sin(sqr(a))<= exp(cos(b))–2.3

    3 . (A<= 3) and (b >a/2)

    Logické výrazy jsou postaveny na základě vztahové operace

    (<, >, <= , >=, =, <>)

    A logické operace

    a(logické a),

    nebo(logické nebo),

    ne(logická negace),

    xor(exkluzivní nebo).

    výsledek provedení booleovského výrazu je booleovská hodnota skutečný(pravda) nebo Nepravdivé(lhát). Ve složitých logických výrazech se nejprve provádějí aritmetické operace, potom logické operace a nakonec relační operace.

    24 pascalů. Podmíněný příkaz if. Formát a princip činnosti.

    Struktura příkazu if vypadá takto:

    Li<условие>pak<оператор1>jiný<оператор2>;

    kde if, then, else jsou vyhrazená slova (if, then, else);

    <условие>– logické vyjádření;

    <оператор1>A<оператор2>– libovolné operátory jazyka Pascal (jednoduché nebo složené).

    Příklad: jestliže sin(a)>b pak y:= a

    Příkaz if funguje takto:

    <условие>(pravda (pravda) nebo nepravda (nepravda)).

    Pokud je hodnota<условие>– true (pravda), pak the<оператор1>, A<оператор2>ignoroval.

    Pokud je hodnota<условие>– false (false), pak se provede<оператор2>, A<оператор1>ignoroval.

    Těsnopisná konstrukce příkazu if

    -li< условие >pak< оператор >;

    Příklady: Pokud< 2*b then y: = a/2 ;

    Pokud< 2*b then begin

    V příkladu 1 příkaz y:=a/2; je jednoduchý operátor Pascal.

    V příkladu 2 operátor begin y:=2*a; writeln(y) end; je složený operátor jazyka Pascal.

    Složený operátor je skupina příkazů uzavřená v hranatých závorkách:

    začít<операторы>;

    Používá se, když je to možné pouze jeden operátor podle pravidel syntaxe Pascalu a úloha předpokládá provedení skupiny operátorů.

    Zkrácený příkaz if se provede následovně.

    Hodnotí se hodnota logického výrazu<условие>.

    Pokud je výsledek pravdivý, řízení se přenese na<оператор>.

    Pokud se podmínka vyhodnotí jako nepravda,<оператор>je ignorováno a řízení provádění programu se přenese na další příkaz v programu.

    25 pascalů. případ...výběrového prohlášení. Formát a princip činnosti. Prohlášení o výběru případu

    Pokud vám příkaz if umožňuje implementovat jedno ze dvou možných pokračování programu, pak příkaz case poskytuje možnost vybrat si jedno z několika pokračování programu.

    Tento operátor má strukturu:

    pouzdro<выражение-селектор>z

    <список1>: <оператор1>;

    <список2>: <оператор2>;

    <список N>: <оператор N>

    jiný<оператор>

    Tady<выражение-селектор>- výraz nebo v konkrétním případě proměnná libovolného skalárního typu, kromě reálného (obvykle proměnná typu byte, celé číslo, boolean nebo char);

    <список1, список2, ... списокN>– seznamy konstant, jejichž hodnoty lze převzít výrazem selektoru. Každý ze seznamů může být konstanta, rozsah konstant nebo několik konstant (rozsahů) oddělených čárkou.

    Konstrukt else v příkazu case může chybět.

    Výpis případu se provádí následovně.

      Hodnota výrazu selektoru je analyzována.

      Pokud hodnota selektorového výrazu neodpovídá žádné z konstant v seznamech konstant, řízení se přenese na příkaz za slovem else a v případě nepřítomnosti slova else na příkaz za příkazem case.

    Jakákoli data - konstanty, proměnné, funkční hodnoty jsou v Pascalu charakterizovány datovým typem.

    Pojďme definovat pojem datový typ. Jak již bylo známo, všechny objekty programu (proměnné, konstanty atd.) musí být deklarovány.

    Popisy informují překladatele za prvé o existenci proměnných a dalších použitých objektů a za druhé označují vlastnosti těchto objektů. Například popis proměnné, jejíž hodnotou je číslo, udává vlastnosti čísel. Formálně mohou být čísla celá a reálná (zlomková). V Pascalu, stejně jako v jiných programovacích jazycích, jsou čísla rozdělena do dvou typů: Celý(vyhrazené slovo celé číslo) a nemovitý(vyhrazené slovo skutečné).

    Výběr celých čísel jako samostatného typu je vysvětlen tím, že celá čísla a reálná čísla jsou v počítači reprezentována odlišně: celé číslo může být reprezentováno naprosto přesně, zatímco reálné číslo je nevyhnutelně reprezentováno s nějakou konečnou chybou, která je určena vlastnosti překladače.

    Nechť je například proměnná x typu real a její hodnota je rovna jedné: x=1 . Odpovídající hodnota v paměti počítače může být 0,999999999 , 1,000000001 nebo 1,000000000 . Pokud je ale proměnná x deklarována jako proměnná celočíselného typu, pak bude jednotka reprezentována v počítači naprosto přesně a proměnná x nebude moci nabývat reálných (zlomkových) hodnot – ostatně byla deklarována jako proměnná celočíselného typu.

    Datový typ tedy definuje:

    • Interní reprezentace dat v počítačové paměti;
    • množina hodnot, které mohou hodnoty tohoto typu nabývat;
    • operace, které lze s hodnotami tohoto typu provádět.

    Zavedení datových typů je jedním ze základních konceptů jazyka Pascal, který spočívá v tom, že při provádění operace přiřazení hodnoty výrazu proměnné musí být proměnná a výraz stejného typu. Tuto kontrolu provádí překladač, což značně zjednodušuje vyhledávání chyb a zvyšuje spolehlivost programu.

    Sadu datových typů Turbo Pascal lze rozdělit do dvou skupin:

    • standardní (předdefinované) typy ;
    • uživatelem definované typy (uživatelsky definované typy) .

    Mezi standardní typy Turbo Pascal patří:

    • celočíselný typ - celé číslo ;
    • skutečný typ - skutečný ;
    • typ postavy - char ;
    • booleovský typ - boolean ;
    • typ řetězce - řetězec;
    • typ ukazatele - ukazatel ;
    • typ textu je text .

    Vlastní datové typy jsou různé kombinace standardních typů.

    Vlastní typy zahrnují:

    • výčtový typ;
    • typ intervalu;
    • typ ukazatele;
    • strukturované typy;
    • procedurální typ.

    Komentář. Možná je i jiná klasifikace datových typů, podle které se typy dělí na jednoduché a složité.

    Jednoduché typy zahrnují: celočíselný typ, skutečný typ, typ znaku, booleovský typ, výčtový typ a intervalový typ.

    Komplexní typ jsou různé kombinace jednoduchých typů (pole, záznamy, sady, soubory atd.)

    Standardní typy

    Standardní datový typ je definován samotným jazykem Pascal. Při použití standardních typů v programu stačí uvést podsekce požadovaných typů (const , var) a poté popsat konstanty a proměnné použité v programu. Není potřeba používat podsekci Typ.

    Pokud například program používá pouze proměnné:

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

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

    t,s - char (znak);

    a,b - booleovský (logický),

    pak je potřeba pouze podsekce proměnných - Var . Proto jsou v popisné části programu deklarace proměnných zapsány takto:

    Celočíselné typy

    Data tohoto typu mohou nabývat pouze celočíselných hodnot. V počítači jsou hodnoty celočíselného typu reprezentovány přesně. Pokud je proměnná záporná, musí jí předcházet znaménko „-“, je-li proměnná kladná, lze znaménko „+“ vynechat. Tento typ je nutný v případě, kdy nějakou hodnotu nelze přibližně vyjádřit - reálné číslo. Například počet lidí, zvířat atd.

    Příklady zápisu celočíselných hodnot: 17, 0, 44789, -4, -127.

    Rozsah dat celočíselného typu je určen pěti standardními celočíselnými typy a je uveden v tabulce:

    Typ Rozsah Velikost v bajtech
    Shortint -128...+128 1
    Celé číslo -32768...32767 2
    Longint -2147483648...2147483647 4
    bajtů 0...255 1
    Slovo 0...65535 2

    Poslední dva typy slouží k reprezentaci pouze kladných čísel a první tři kladná i záporná čísla.

    V textu programu nebo při zadávání dat celočíselného typu se zapisují hodnoty bez desetinné čárky . Skutečné hodnoty proměnných nesmí překročit povolené hodnoty typu (Shortint , Integer , Longint , Byte , Word), který byl použit k popisu proměnné. Případné excesy ve výpočtech nejsou nijak kontrolovány, což povede k nesprávnému fungování programu.

    Příklad použití proměnné typu integer

    var a:integer; b:slovo; c:byte; Začít a:=300; (a je nastaveno na 300) b:=300; (b nastaveno na 300) c:=200; (c je nastaveno na 200) a:=b+c; (a je nastaveno na 500) c:=b; (Chyba! Proměnná c nemůže nabývat hodnot větších než 255. Zde je proměnné c přiřazena hodnota 500, což způsobí přetečení výsledku.) Konec.

    Skutečné typy

    Hodnoty skutečných typů v počítači jsou reprezentovány přibližně. Rozsah dat reálného typu je určen pěti standardními typy: skutečný (Real), s jednoduchou přesností (Single), dvojitou přesností (Double), se zvýšenou přesností (Extended), komplexní (Comp) a je uveden v tabulce:

    Typ Rozsah Počet platných číslic Velikost v bajtech
    Nemovitý 2,9E-39...1,7E+38 11-12 6
    Singl 1,5E-45...3,4E+38 >7-8 4
    Dvojnásobek 5E-324...1,7E+308 15-16 8
    Rozšířené 3.4E-4951...1.1E+4932 19-20 10
    Comp -2E+63+1...+2E+63-1 19-20 8

    Reálná čísla mohou být reprezentována ve dvou formátech: s pevnou a plovoucí desetinnou čárkou.

    Formát čísla s pevnou řádovou čárkou je stejný jako u obvyklého matematického zápisu desetinného čísla se zlomkovou částí. Zlomková část se od celočíselné části odděluje například tečkou

    34.5, -4.0, 77.001, 100.56

    Formát s plovoucí desetinnou čárkou se používá při psaní velmi velkých nebo velmi malých čísel. V tomto formátu se číslo před "E" násobí číslem 10 na mocninu uvedenou za "E".

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

    Příklady s plovoucí desetinnou čárkou:

    Číslo Psaní v Pascalu
    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 tabulce od 5 do 9 je uveden zápis stejného čísla 124. Změnou polohy desetinné čárky v mantise (tečka "pluje", odtud název "záznam čísla s plovoucí desetinnou čárkou") a zároveň změnou exponent, můžete zvolit nejvhodnější vstupní čísla.

    Příklad deklarace proměnných typu real.

    Typ postavy

    Hodnoty typu znaků jsou znaky, které lze psát na klávesnici počítače. To vám umožní prezentovat text v programu a provádět s ním různé operace: vkládat, mazat jednotlivá písmena a slova, formátovat atd.

    Typ znaku je označen vyhrazeným slovem Char a je navržen pro uložení jednoho znaku. Data typu znaku v paměti zabírají jeden bajt.

    Formát deklarace symbolické proměnné:

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

    Při definování hodnoty znakové proměnné se znak zapisuje v apostrofech. Kromě toho můžete zadat požadovaný znak přímo zadáním jeho číselné hodnoty kódu ASCII. V tomto případě je nutné před číslo označující ASCII kód ​​požadovaného znaku uvést znak #.

    Příklad použití proměnných typu znaků:

    varc:char; (c je proměnná typu znaku) Begin c:='A'; (znak 'A' je přiřazen proměnné c) c:=#65; (proměnná c má také přiřazen symbol A. Její ASCII kód ​​je 65) c:='5'; (proměnná c má přiřazen znak 5, End. zde 5 již není číslo)

    booleovský typ

    Logický datový typ se nazývá Boolean podle anglického matematika George Boolea, tvůrce oboru matematika – matematická logika.

    Formát deklarace booleovské proměnné:

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

    Data tohoto typu mohou nabývat pouze dvou hodnot:

    • Pravda, pravda;
    • Falešný - nepravdivý.

    Booleovská data jsou široce používána při kontrole platnosti určitých podmínek a při porovnávání hodnot. Výsledek může být pravdivý nebo nepravdivý.

    Pro porovnání dat jsou k dispozici následující relační operace:

    Příklad použití relačních operací:

    vztah 5>3 , výsledek true (pravda);

    vztah 5=3, výsledek je nepravdivý (nepravda).

    Příklad použití booleovských proměnných.

    var a,b:boolean; (a,b jsou booleovské proměnné) Begin a:=True; (proměnná a je nastavena na true) b:=false; (proměnná b je nastavena na false) End.

    Konstanty

    Jako konstanty lze použít celá čísla, reálná čísla, symboly, znakové řetězce, logické konstanty.

    Konstanta musí být deklarována v popisné části pomocí vyhrazeného slova const.

    Konstantní formát deklarace

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

    Pokud je v programu použito více konstant, je povoleno pouze jedno klíčové slovo Const a popis každé konstanty končí středníkem. Konstantní blok končí deklarací jiné sekce nebo deklarací bloku spustitelných příkazů.

    Const (deklarace konstantní sekce) rok=2003; (konstanta typu celé číslo, protože v záznamu není desetinná čárka) time=14.05; (konstanta reálného typu) N=24; (konstanta typu celé číslo, protože v záznamu není desetinná čárka) P=3,14; (konstanta reálného typu) A=true; (booleovská konstanta) str1='7'; (konstanta typu znaků) str2='A'; (konstanta typu znaku) str3='Turbo'; (konstanta typu řetězce) Var (deklarace proměnného úseku) X,y:integer; (proměnné celočíselného typu)

    Vlastní typy

    Ze sady vlastních typů budeme uvažovat pouze

    • výčtový typ;
    • intervalový typ.

    Tyto dva typy budeme potřebovat při studiu polí.

    Vyjmenovaný typ

    Výčtový datový typ popisuje nové datové typy, jejichž hodnoty jsou definovány programátorem. Výčtový typ je definován výčtem hodnot, které může přijímat. Každá hodnota je pojmenována nějakým identifikátorem a nachází se v seznamu uzavřeném v závorkách. Výčtový typ je uživatelsky definovaný datový typ, takže jeho deklarace typu začíná vyhrazeným slovem TYPE .

    Formát výčtového typu:

    <имя типа>= (konstanta1, konstanta2,..., konstantaN);

    Kde
    konstanta1 , konstanta2 ,..., konstantaN je uspořádaná množina hodnot identifikátorů považovaných za konstanty.

    Příklad deklarace výčtového typu:

    Type ball=(jeden, dva, tři, čtyři, pět); vart:ball;

    Zde je míč název vyjmenovaného typu; jedna , dva , tři , čtyři , pět jsou konstanty; t je proměnná, která může nabývat libovolné hodnoty konstant.

    Ve výčtovém typu je konstanta identifikátor, takže není v uvozovkách a nemůže to být číslo. Ve výčtovém typu je tedy konstanta zvláštním druhem konstant, které nemohou být:

    • konstanty číselného typu: 1, 2, 3, 4 atd.;
    • konstanty typu znaků: "a", "s", "1", "3" atd.;
    • konstanty typu řetězce: "první", "druhý" atd.

    Navíc aritmetické operace a standardní vstupní a výstupní procedury Čtení, Zápis nejsou použitelné na hodnoty tohoto typu.

    Příklad použití proměnných výčtového typu:

    Typ dny = (pondělí, úterý, středa, čtvrtek, pátek, sobota, neděle); Var den: dny; begin if den = neděle then writeln('Dnes je neděle!'); konec.

    Prvky ve výčtové definici typu jsou považovány za uspořádané v pořadí, ve kterém jsou uvedeny. Číslování začíná od nuly. Proto ve výše uvedeném příkladu mají dny v týdnu následující pořadová čísla

    Chcete-li programově určit pořadové číslo, použijte funkci Ord().

    V našem příkladu jsou sériová čísla stejná:

    Ord(pondělí) = 0;

    Ord(sobota) = 5;

    Ord(neděle) = 6.

    typ intervalu

    Pokud některá proměnná nepřebírá všechny hodnoty svého typu, ale pouze hodnoty obsažené v určitém rozsahu, pak se takový datový typ nazývá intervalový typ. Typ intervalu se často nazývá ohraničený typ a typ rozsahu. Typ intervalu je definován hranicemi jeho hodnot:

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

    • dva znaky ".." jsou považovány za jeden znak, takže mezi nimi nejsou povoleny mezery;
    • levý konec rozsahu nesmí přesáhnout jeho pravý konec.

    Typ intervalu je uživatelsky definovaný datový typ, takže deklarace tohoto typu začíná klíčovým slovem TYPE .

    Příklad popisu typu intervalu:

    typ číslice = 1..10; měsíc = 1..31; lat = 'A'..'Z';