32_04_1_06-Promenne_ - Střední škola stavební Jihlava

Transkript

32_04_1_06-Promenne_ - Střední škola stavební Jihlava
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

32_04_1_04-Datove_typy,_operace

32_04_1_04-Datove_typy,_operace Střední škola stavební Jihlava

Více

Java 5.0 Tiger - Novinky a tutoriál

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...

Více

Programátory ASIX

Programátory ASIX 5.7 Spouštění JTAG PLAYERu z příkazové řádky.................................................................. 48 6 PRECOG..............................................................................

Více

Úvod

Ú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...

Více

ZÁKLADY PROGRAMOVACÍHO JAZYKA TURBO PASCAL

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

Více

Cracking 4 newbies…

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...

Více

13.7.2016

13.7.2016 překládáme program (s níže uvedeným typem záznamu a globální proměnnou x) pro 32-bitový big-endian procesor Motorola 68000. Použitý překladač Pascalu je navržený s vědomím, že všech procesory dané ...

Více