S třední škola stavební Jihlava Sada 1 - Základy programování 06. Proměnné, deklarace proměnných Digitální učební materiál projektu: SŠS Jihlava šablony registrační číslo projektu:cz.1.09/1.5.00/34.0284 Šablona: III/2 - inovace a zkvalitnění výuky prostřednictvím ICT Jaromír Železný 2012 Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky
Proměnné víme, že: proměnná = datový objekt, jehož hodnota se v průběhu algoritmu (programu) může měnit každá proměnná je určitého typu => je definována množina povolených hodnot dané proměnné, ale také množina povolených operací s nimi. typ proměnné se určuje deklarací proměnné deklarací proměnné se určují její vlastnosti, ale nikoliv její hodnota, ta se určí až tzv. přiřazením
Deklarace proměnných deklarační část začíná příkazem VAR deklarace je pro překladač informací o objektech vytvořených uživatelem v TurboPascalu jsou deklarace povinné každý objekt, který není standardní (tj. příkazem jazyka, např. writeln, readln), musí být před svým použitím deklarován
Deklarace proměnných při deklaraci proměnné určujeme její typ typ proměnné určuje množinu hodnot, které může proměnná nabývat a operace, které se na ní mohou provádět definici typu specifikuje identifikátor VAR A,B,C : integer; X : integer; Y : real; Jmeno: string;
Deklarace proměnných deklarace proměnných je seznam identifikátorů, které označují nové proměnné a jejich typ deklarace proměnné má platnost v bloku, kde byla deklarována když byla proměnná deklarována na začátku programu, lze se na proměnnou odvolávat ve všech procedurách programu
Deklarace proměnných pokud je deklarace proměnné uvedena ve vnořené proceduře nebo funkci, pak se lze na proměnnou odkazovat pouze v rámci této procedury nebo funkce proměnné deklarované vně procedur a funkcí se nazývají globální proměnné deklarované uvnitř procedur a funkcí se nazývají lokální
Deklarační část může dle potřeby obsahovat pět úseků deklarací (v uvedeném pořadí): 1) úsek deklarací návěští 2) úsek deklarací konstant 3) úsek deklarací typů 4) úsek deklarací proměnných 5) úsek deklarací funkcí a procedur
Základní datové typy základní datové typy: INTEGER -celá čísla SHORTINT ( 128.. 127) INTEGER ( 32768.. 32767) LONGINT ( 2147483648.. 2147483647) REAL -reálná čísla Real (2,9*10E 39.. 1,7*10E38) Single (1,5*10E 45.. 3,4*10E38) Double 5,0*10E 324.. 1,7*10E308) Extended 3,4*10E 4932.. 1,1*10E4932) CHAR, STRING a PCHAR -znaky a řetězce znaků BOOLEAN -logické hodnoty
Uživatelsky definované typy definuje je sám programátor jejich deklarace začíná slovem type definovat lze: výčtem intervalem pole záznam
Vyjmenovaný datový typ Hodnoty vyjmenovaného (výčtového) typu jsou reprezentovány jmény uvažovaných objektů (identifikátory) Například: Type MEDAILE = (zlata,stribrna,bronzova,bramborova); SACHOVNICE = (bila,cerna); DNY = (pondeli,utery,streda,ctvrtek,patek,sobota,nedele); RODINA= (Homer,Marge,Lisa,Bart,Megie); CELACISLA = integer; Pro vyjmenovaný typ jsou definovány standardní funkce : Succ(a) výsledek je následující hodnota proměnné a Pred(a) výsledek je předchozí hodnota proměnné a Ord (a) výsledek je typu longinta udává pořadí
Typ interval Typ interval Programátor může svůj typ definovat jako interval z již definovaného typu. (Z celočíselného, boolovského, typu char a typu vyjmenovaného - nikoliv z reálného) Příklad: TYPE prac_dny = pondeli..patek; weekend = sobota..nedele; deti = Lisa..Meggie; nezapor = 0..maxint; kladna = 1..maxint;
Strukturovaný typ - pole má pevně stanovený počet prvků stejného typu při definici typu pole se určuje rozměr pole a typ prvků rozměr pole určuje, kolik prvků se může do pole vložit a uvádí se v hranatých závorkách typ prvků pole se určuje identifikátorem typu za spojkou of například : type pole = array[1..5,1..5] of integer; V uvedeném příkladě se jedná o definici dvojrozměrného pole 5x5 prvků typu integer type pole = array[1..100] of real; definuje jednorozměrné pole, do kterého se může vložit 100 prvků typu real
Strukturovaný datový typ - záznam Typ záznam obsahuje definovaný počet položek neboli položek záznamu. Položky mohou být různých typů Při deklaraci (definici) typu záznam se musí definovat identifikátor a typ každé jeho položky například : TYPE Osoba = record Jmeno : string; Adresa : string; Telefon : longint; Clen : boolean; end;
Zdroje: http://www.root.cz/clanky/v-pocitaci-jsou-jen-jednicky-a-nuly/ TurboPascal 6.0 - příručka uživatele (help) Literatura: Radek HYLMAR: Programování pro úplné začátečníky, ComputerPress, Brno, 2009, ISBN 978-80-251-2129-0 Materiál je určen k bezplatnému používání pro potřeby výuky a vzdělávání na všech typech škol a školských zařízení. Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je : Jaromír Železný Pokud není uvedeno jinak, byly při tvorbě použity volně přístupné internetové zdroje. Autor souhlasí se sdílením vytvořených materiálů a jejich umístěním na www.ssstavji.cz.