+ All Categories
Home > Documents > Datov é typy a operátory

Datov é typy a operátory

Date post: 01-Jan-2016
Category:
Upload: hope-munoz
View: 48 times
Download: 0 times
Share this document with a friend
Description:
Datov é typy a operátory. Co jsou datové typy. Charakterizují proměnnou nebo konstantu – jaká data obsahuje Data jsou v počítači ukládána jako skupiny byte jdoucích v paměti jedno za druhým Teprve označení datovým typem umožní správně údaje přečíst a s daty pracovat. Deklarace datových typů 1. - PowerPoint PPT Presentation
36
Datov Datov é typy a é typy a operátory operátory
Transcript

DatovDatové typy a operátoryé typy a operátory

Co jsou datové typyCo jsou datové typy

Charakterizují proměnnou nebo konstantu – Charakterizují proměnnou nebo konstantu – jaká data obsahujejaká data obsahuje

Data jsou v počítači ukládána jako skupiny Data jsou v počítači ukládána jako skupiny byte jdoucích v paměti jedno za druhýmbyte jdoucích v paměti jedno za druhým

Teprve označení datovým typem umožní Teprve označení datovým typem umožní správně údaje přečíst a s daty pracovatsprávně údaje přečíst a s daty pracovat

Deklarace datových typů 1Deklarace datových typů 1

Proměnné a jejich datové typy deklarujeme Proměnné a jejich datové typy deklarujeme pomocí příkazu DIMpomocí příkazu DIM

Dim AnyValue, MyValue ' AnyValue a MyValue jsou deklarovány ' jako Variant

Dim Number As Integer ' Explicitní declarace proměnné integerDim AnotherVar, Choice As Boolean, BirthDate As DateDim DayArray(50) ' DayArray je pole s 51 prvky (0 – 50)Dim Matrix(3, 4) As Integer ' Matrix je dvourozměrné pole integerDim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double ' MyMatrix je třírozměrná

' matice s explicitními hranicemiDim BirthDay(1 To 10) As Date ' BirthDay je pole datumů s indexy 1 - 10 Dim MyArray() ' MyArray je dynamické pole proměnných

Deklarace datových typů 2Deklarace datových typů 2

Proměnné definované na úrovni modulu Proměnné definované na úrovni modulu (např. ve formuláři v (např. ve formuláři v GeneralGeneral) mohou být ) mohou být používány kdekoli v modulu nebo v používány kdekoli v modulu nebo v proceduřeproceduře

Proměnné definované v proceduře jsou Proměnné definované v proceduře jsou viditelné pouze v této proceduře a po viditelné pouze v této proceduře a po opuštění procedury ztrácejí hodnotuopuštění procedury ztrácejí hodnotu

Rozdělení datových typůRozdělení datových typů

Numerické datové typy – různé prezentace Numerické datové typy – různé prezentace čísel s různým rozsahem a přesností čísel s různým rozsahem a přesností zobrazenízobrazení

Datumový datový typ – záznam data a časuDatumový datový typ – záznam data a času Řetězcové datové typy – skupiny písmen a Řetězcové datové typy – skupiny písmen a

textů o různé délcetextů o různé délce Ostatní – různé speciální datové typyOstatní – různé speciální datové typy

Numerické datové typyNumerické datové typy

Byte – pouByte – pouze od ze od 0 0 ddo 255o 255 Integer –Integer – celá čísla od celá čísla od -32,768 -32,768 ddo 32,767o 32,767 Long –Long – celá čísla od - celá čísla od -2,147,483,648 do 2,147,483,648 do

2,147,483,647 2,147,483,647 Single – Single – čísla s čísla s pohpohyyblivblivou desetinnou ou desetinnou

čárkoučárkou DoubleDouble ––Single s dvojnásobkem délkySingle s dvojnásobkem délky Currency – Currency – měnaměna

ByteByte

Proměnné typu Proměnné typu Byte Byte jsou ukládány jako jsou ukládány jako 11 bytebyte – mají hodnotu od – mají hodnotu od 0 0 ddo 255.o 255.

Datový typ Datový typ Byte Byte je vhodný pro je vhodný pro binbinárníární data data,, která jsou komunikována s která jsou komunikována s dynamicdynamickyky připojenými knihovnamipřipojenými knihovnami (DLL) a OLE (DLL) a OLE objeobjekkttyy

IntegerInteger

Proměnné typu Proměnné typu Integer Integer jsou ukládány jako jsou ukládány jako 22 byte byte čísla s hodnotou odčísla s hodnotou od -32,768 -32,768 ddo 32,767o 32,767

Používá se tam, kde používáme celá čísla – Používá se tam, kde používáme celá čísla – např. počty kusů …např. počty kusů …

Typ Integer může být mimo jiné použit pro Typ Integer může být mimo jiné použit pro vypočítávané hodnoty – např. sada barev vypočítávané hodnoty – např. sada barev může obsahovat hodnoty 0 – černá, 1 – bílá, může obsahovat hodnoty 0 – černá, 1 – bílá, 2 – žlutá …2 – žlutá …

LongLong

Typ Long je obdobou typu IntegerTyp Long je obdobou typu Integer Je ukládán jako 4 byte a dosahuje hodnot Je ukládán jako 4 byte a dosahuje hodnot

od -2 147 483 648 do 2 147 483 647od -2 147 483 648 do 2 147 483 647

SingleSingle

Typ Single je určen pro čísla s pohyblivou Typ Single je určen pro čísla s pohyblivou desetinnou čárkoudesetinnou čárkou

Je ukládán jako 4 byte a má rozsah od Je ukládán jako 4 byte a má rozsah od --3.402823E38 do -1.401298E-45 3.402823E38 do -1.401298E-45 pro pro záporné hodnoty a odzáporné hodnoty a od1.401298E-45 do 3.402823E38 1.401298E-45 do 3.402823E38 pro pro kladné hodnotykladné hodnoty

DoubleDouble

Je obdobou datového typu SingleJe obdobou datového typu Single Je ukládán jako á byte a má rozsah Je ukládán jako á byte a má rozsah

od od -1.79769313486232E308 -1.79769313486232E308 do do -4.94065645841247E-324-4.94065645841247E-324pro záporné hodnoty a pro záporné hodnoty a odod 4.94065645841247E-324 4.94065645841247E-324 do do 1.79769313486232E3081.79769313486232E308

pro kladné hodnotypro kladné hodnoty

CurrencyCurrency

Typ Currency je ukládán jako 8 Byte integer, Typ Currency je ukládán jako 8 Byte integer, který podělen 10 000 dává číslo s pevnou který podělen 10 000 dává číslo s pevnou desetinnou čárkou s 15 číslicemi před desetinnou čárkou s 15 číslicemi před desetinnou čárkou a 4 číslicemi zadesetinnou čárkou a 4 číslicemi za

Má rozsah od -922.337.203.685.477,5808 Má rozsah od -922.337.203.685.477,5808 do 922.337.203.685.477,5807do 922.337.203.685.477,5807

Je vhodný pro výpočty obsahující peníze a Je vhodný pro výpočty obsahující peníze a pro výpočty v pevné desetinné čárce s pro výpočty v pevné desetinné čárce s omezenou přesnostíomezenou přesností

Datumový datový typ 1Datumový datový typ 1

Tento datovTento datovýý t tyyp je urp je urččen pro uklen pro ukládání ádání datumů a časůdatumů a časů

Je uložen jako Je uložen jako IEEE 64-bit (8-byte) IEEE 64-bit (8-byte) číslo s číslo s pohyblivou desetinou čárkou, které pohyblivou desetinou čárkou, které representrepresentujeuje dat datumy odumy od 1 1.. lednaledna 100 100 ddo o 3131.prosince.prosince 9999 a 9999 a časy odčasy od 0:00:00 0:00:00 ddo o 23:59:5923:59:59

Datumový datový typ 2Datumový datový typ 2

Datumový datový typ je zobrazovánDatumový datový typ je zobrazován Numerické datové typy lze převést na Numerické datové typy lze převést na

datumový – celá část odpovídá datumu a datumový – celá část odpovídá datumu a desetinná část času (např. 0,5 odpovídá desetinná část času (např. 0,5 odpovídá poledni)poledni)

Záporná celá čísla dopovídají datům před Záporná celá čísla dopovídají datům před 30.prosincem 189930.prosincem 1899

Řetězcové datové typyŘetězcové datové typy

String – proměnná délka – 10 byte String – proměnná délka – 10 byte ++ délka délka řetězce – až asi 2 miliardy (2^31) znakůřetězce – až asi 2 miliardy (2^31) znaků

String – pevná délka – 1 až asi 65,400 String – pevná délka – 1 až asi 65,400 znakůznaků

Znaky v řetězci mají hodnotu od 0 do 255Znaky v řetězci mají hodnotu od 0 do 255 Znaky 0 – 127 odpovídají písmenům a Znaky 0 – 127 odpovídají písmenům a

symbolům na standardní U.S. klávesnici symbolům na standardní U.S. klávesnici (ASCII), další jsou různé národní znaky(ASCII), další jsou různé národní znaky

Ostatní datové typyOstatní datové typy

Boolean – pravděpodobnostní – pouze Boolean – pravděpodobnostní – pouze hodnoty hodnoty truetrue a a falsefalse (1 a 0) (1 a 0)

Object – adresa sdíleného (OLE) objektu – Object – adresa sdíleného (OLE) objektu – např. World dokumentunapř. World dokumentu

Variant (číselná) – libovolný numerický typVariant (číselná) – libovolný numerický typ Variant (se znaky) – libovolný typ kromě Variant (se znaky) – libovolný typ kromě

typu typu stringstring s pevnou délkou nebo dat s pevnou délkou nebo dat uživatelem definovanýchuživatelem definovaných

Uživatelem definovaná dataUživatelem definovaná data Datový typ je definován příkazem TYPEDatový typ je definován příkazem TYPE Na příklad:Na příklad:

Následně definujeme:Následně definujeme:

Příkaz TYPE musí být v moduluPříkaz TYPE musí být v modulu

Type MyTypeMyName As String ' String proměnná obsahuje jménoMyBirthDate As Date ' Proměnná obsahuje datum narozeníMySex As Integer ' Proměnná obsahuje pohlaví (0 pro

End Type ' ženu, 1 pro muže)

Dim MyNameRecord As MyType ' Deklarace proměnné

TTyyppyy operátorůoperátorů

Aritmetické operátoryAritmetické operátory Porovnávací operátoryPorovnávací operátory Konkatenační operátoryKonkatenační operátory Logické operátoryLogické operátory

Aritmetické operátoryAritmetické operátory

Operátor Operátor ^ ^ – mocnění– mocnění OperátorOperátor * * – násobení– násobení OperátorOperátor / / – dělení– dělení OperátorOperátor \ \ – dělení – dělení integerinteger OperátorOperátor Mod Mod – dělení – dělení modulomodulo OperátorOperátor + + – sčítání– sčítání OperátorOperátor - - – odčítání– odčítání

Operátor Operátor ^̂

Slouží k umocnění čísla na exponentSlouží k umocnění čísla na exponent Syntax:Syntax: výsledek = číslo^exponentvýsledek = číslo^exponent Číslo může být záporné pouze je-li exponent Číslo může být záporné pouze je-li exponent

celočíselnýceločíselný Výsledek je obvykle typu Výsledek je obvykle typu DoubleDouble Je-li Je-li čísločíslo nebo nebo exponentexponent rovno rovno NullNull, je , je

výsledek výsledek NullNull

OperátorOperátor * *

Slouží k vytvoření součinu dvou číselSlouží k vytvoření součinu dvou čísel Syntax:Syntax: výsledek = číslo1 výsledek = číslo1 ** číslo2 číslo2 Datový typ výsledku obvykle odpovídá Datový typ výsledku obvykle odpovídá

přesnějšímu ze součinitelůpřesnějšímu ze součinitelů Násobením typů Násobením typů Single Single aa Long Long dostaneme typ dostaneme typ

DoubleDouble Výsledkem násobení čísel typu Výsledkem násobení čísel typu ByteByte je typ je typ IntegerInteger Při násobení dvou čísel typu Při násobení dvou čísel typu IntegerInteger při přetečení při přetečení

dostaneme typ dostaneme typ LongLong Je-li jeden z operátorů roven Je-li jeden z operátorů roven NullNull, je výsledek , je výsledek NullNull

OperátorOperátor / /

Je určen k dělení dvou čísel a vrací číslo s Je určen k dělení dvou čísel a vrací číslo s pohyblivou desetinnou čárkoupohyblivou desetinnou čárkou

Syntax: Syntax: výsledek = číslo1 / číslo2výsledek = číslo1 / číslo2 Výsledek je obvykle typu Výsledek je obvykle typu SingleSingle Při přetečení výsledku je vracen typ Při přetečení výsledku je vracen typ DoubleDouble Je-li jeden z operátorů roven Je-li jeden z operátorů roven NullNull, je , je

výsledek výsledek NullNull

OperátorOperátor \ \

Při dělení dvou čísel vrací celou část Při dělení dvou čísel vrací celou část výsledku – zanedbává desetinnou částvýsledku – zanedbává desetinnou část

Syntax: Syntax: výsledek = číslo1 výsledek = číslo1 \\ číslo2 číslo2 Výsledek může být typu Výsledek může být typu Byte, Integer Byte, Integer nebo nebo

LongLong Je-li jeden z operátorů roven Je-li jeden z operátorů roven NullNull, je , je

výsledek výsledek NullNull

OperátorOperátor ModMod

Při dělení dvou čísel vrací zbytek po děleníPři dělení dvou čísel vrací zbytek po dělení Syntax: Syntax: výsledek = číslo1 Mod číslo2výsledek = číslo1 Mod číslo2 Výsledek může být typu Výsledek může být typu Byte, Integer Byte, Integer nebo nebo

LongLong Je-li jeden z operátorů roven Je-li jeden z operátorů roven NullNull, je , je

výsledek výsledek NullNull

OperátorOperátor + +

Slouží k vytvoření součtu dvou číslicSlouží k vytvoření součtu dvou číslic Syntax: Syntax: výsledek = číslo1 výsledek = číslo1 ++ číslo2 číslo2 Datový typ výsledku obvykle odpovídá Datový typ výsledku obvykle odpovídá

přesnějšímu ze součinitelůpřesnějšímu ze součinitelů Je-li jeden z operátorů roven Je-li jeden z operátorů roven NullNull, je , je

výsledek výsledek NullNull Je-li jeden z operátorů typu Je-li jeden z operátorů typu StringString, pak jde o , pak jde o

konkatenaci konkatenaci → konkatenační operátor → konkatenační operátor ++

OperátorOperátor --

Jako operJako operáátortor se 2 operandy se používá se 2 operandy se používá k vytvoření rozdílu 2 číselk vytvoření rozdílu 2 čísel

Syntax: Syntax: výsledek = číslo1 – číslo2výsledek = číslo1 – číslo2 Datový typ výsledku obvykle odpovídá Datový typ výsledku obvykle odpovídá

přesnějšímu ze součinitelůpřesnějšímu ze součinitelů Jako unární operátor indikuje zápornou Jako unární operátor indikuje zápornou

hodnotu číselného výrazuhodnotu číselného výrazu Syntax: Syntax: - číslo- číslo

Porovnávací operátoryPorovnávací operátory

Používají se k porovnávání výrazůPoužívají se k porovnávání výrazů Základní skupina obsahuje operátory Základní skupina obsahuje operátory

<, <=, >, >=, =, <><, <=, >, >=, =, <>

OperOperáátor tor IsIs slouží k porovnávání objektů slouží k porovnávání objektů Operátor Operátor LikeLike je určen k porovnání řetězce je určen k porovnání řetězce

se vzorovým řetězcem, který může se vzorovým řetězcem, který může obsahovat speciální záměnné znakyobsahovat speciální záměnné znaky

Konkatenační operátoryKonkatenační operátory Operátor Operátor && je určen ke spojení dvou řetězců je určen ke spojení dvou řetězců Syntax: Syntax: výsledek = výraz1 výsledek = výraz1 && výraz2 výraz2 Operátor Operátor ++ umožňuje konkatenaci dvou umožňuje konkatenaci dvou

výrazů, kde výsledek by měl být numerickývýrazů, kde výsledek by měl být numerický Syntax: Syntax: výsledek = výraz1 výsledek = výraz1 ++ výraz2 výraz2MyNumber = 2 + 2 ' Vrací 4.MyNumber = 4257.04 + 98112 ' Vrací 102369.04.

Var1 = "34": Var2 = 6 ' Initializace smíšených proměnnýchMyNumber = Var1 + Var2 ' Vrací 40.

Var1 = "34": Var2 = "6" ' Initializace proměnných jako řetězceMyNumber = Var1 + Var2 ‚Vrací "346" (konkatenace řetězců).

Logické operátoryLogické operátory

Operátor And – logická konjunkce 2 výrazůOperátor And – logická konjunkce 2 výrazů Operátor Eqv – logická ekvivalence 2 Operátor Eqv – logická ekvivalence 2

výrazůvýrazů Operátor Imp – logická implikace 2 výrazůOperátor Imp – logická implikace 2 výrazů Operátor Not – logická negace výrazuOperátor Not – logická negace výrazu Operátor Or – logická disjunkce 2 výrazůOperátor Or – logická disjunkce 2 výrazů Operátor Xor – logická exkluze 2 výrazůOperátor Xor – logická exkluze 2 výrazů

Operátor AndOperátor And

Vytváří logickou konjunkci 2 výrazůVytváří logickou konjunkci 2 výrazů Syntax:Syntax: výsledek = výraz1 AND výraz2výsledek = výraz1 AND výraz2

Výraz1 Výraz2 Výsledek True True True True False False True Null Null False True False False False False False Null False Null True Null Null False False Null Null Null

Operátor EqvOperátor Eqv

Vytváří logickou ekvivalenci 2 výrazůVytváří logickou ekvivalenci 2 výrazů Syntax:Syntax: výsledek = výraz1 AND výraz2výsledek = výraz1 AND výraz2

Je-li alespoň 1 z výrazů Je-li alespoň 1 z výrazů NullNull, je výsledek , je výsledek vždy vždy NullNull

Výraz1 Výraz2 Výsledek True True True True False False False True False False False True

Operátor ImpOperátor Imp

Slouží k logické implikaci dvou výrazůSlouží k logické implikaci dvou výrazů Syntax: Syntax: výsledek = výraz1 IMP výraz2výsledek = výraz1 IMP výraz2

Výraz1 Výraz2 Výsledek True True True True False False True Null Null False True True False False True False Null True Null True True Null False Null Null Null Null

Operátor NotOperátor Not

Používá se k vytvoření logické negace Používá se k vytvoření logické negace výrazuvýrazu

Syntax:Syntax: výsledek = NOT výrazvýsledek = NOT výraz

Výraz Výsledek True False False True Null Null

Operátor OrOperátor Or

Výsledkem je logická disjunkce 2 výrazůVýsledkem je logická disjunkce 2 výrazů Syntax: Syntax: výsledek = výraz1 OR výraz2výsledek = výraz1 OR výraz2

Výraz1 Výraz2 Výsledek True True True True False True True Null True False True True False False False False Null Null Null True True Null False Null Null Null Null

Operátor XorOperátor Xor

Výsledkem je logická exkluze 2 výrazůVýsledkem je logická exkluze 2 výrazů Syntax: Syntax: výsledek = výraz1 XOR výraz2výsledek = výraz1 XOR výraz2

Je-li alespoň 1 z výrazů Je-li alespoň 1 z výrazů NullNull, je výsledek , je výsledek vždy vždy NullNull

Výraz1 Výraz2 Výsledek True True False True False True False True True False False False

ThatThat’s all folks!’s all folks!


Recommended