32_04_1_06-Promenne_ - Střední škola stavební Jihlava
Transkript
Stř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 longint a 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, Computer Press, 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.
Podobné dokumenty
Java 5.0 Tiger - Novinky a tutoriál
vykládané téma, tak se bude jednat i o komplexnější projekty, které studentovi ukáží použití
několika nových rysů najednou. Jednou z variant mohou být i projekty z učebnice „Objects first
with Java...
Programátory ASIX
5.7 Spouštění JTAG PLAYERu z příkazové řádky.................................................................. 48
6 PRECOG..............................................................................
Úvod
Fortran - Double = Real*8
často
1 bit znaménko + 11 bitů exponent + 52 bit mantisa
⇒ ε ≃ 2, 2 . 10−16
Dalšı́ typy
Fortran - Complex, Complex*16, Real*16
TurboPascal - Real (6 bytů, přesnost 1...
ZÁKLADY PROGRAMOVACÍHO JAZYKA TURBO PASCAL
Algoritmus by měl být použitelný pro různá data na vstupu. Z toho důvodu používáme
v programu proměnné. Obsah proměnné závisí na konkrétní hodnotě přečtené ze vstupu nebo
Cracking 4 newbies…
Když ten výsledek +•KZ dám do schránky (Ctrl+C) a pak
vložím do Editu v CMe, vypíše nám to hlášku o
úspěchu. Když napíšeme BLIZ taky to vypíše úspěch,
protože zbytek v EDX se nepočítá, ale i přesto...