Proměnné a datové typy

Z Maturita 2012
Přejít na: navigace, hledání
  • základní datové typy v jazyce C#
  • explicitní a implicitní deklarace proměnných
  • konstanta
  • pole (velikost pole, rozměr pole, index, asociativní pole)
  • datové typy u databází
  • označování proměnných
  • operace s proměnnými a sestavování výrazů
  • priorita operátorů


Obsah

Základní datové typy:

Celočíselné:

  • Byte - zabírá 1Byte ( 0 až 255 )
  • Integer - celočíselná hodnota se znaménkem zabírající 2Byte (-32768 až 32767 )
  • Long - celočíselná hodnota zabírající 4Byte (-2147483648 až 2147483647 )
  • Currency - reálné číslo s 15 desetinnými čísly před desetinnou čárkou a 4 za desetinnou čárkou, zabírající 8 Byte

Reálné:

  • Decimal - celočíselná hodnota bez znaménka,lze ho použít jen pomocí Variant jehož je podtypem,zabírá 12 Byte
  • Single - celočíselná hodnota zabírající 4 Byte (-3.402823E38 až -1.401298E-45 pro záporné hodnoty,1,401298E-45 až 3,402823E38 pro kladné hodnoty)
  • Double - je obdobou single,ale ve dvojnásobné přesnosti ,zabírá 8 Byte


Logické:

  • Boolean - uchovává hodnoty True nebo False zabírající 2Byte


Nestardantní:

  • Object - obsahují odkaz na objekt (adresu),zabírá 4 Byte
  • Variant - je to obecný datový typ,který může obsahovat jeden z výše uvedených datových typů,proměnná tohoto typu může dynamicky měnit svůj datový typ,jestliže není proměnná nadimenzovaná pak je typu Variant,zabírá 16 Byte
  • Date - obsahuje hodnoty datum a čas (1.leden 100 až 31.prosinec 9999,00:00:00 až 23:59:59),zabírá 8 Byte


Řetězcové:

  • String - řetězec libov. znaků kódovaných pomocí ASCII,jeho délka je prakticky neomezena - asi 2 miliardy znaků,dále se dělí na řetězec promněnlivé délky a pevné délky

Explicitní a implicitní deklarace proměnných

Explicitní

  • Pro proměnnou rezervujeme za běhu programu prostor v paměti pro uložení proměnné. Explicitní deklarace proměnné se zapisuje před jejím vlastním použitím, zpravidla na začátku procedury události. Deklarace začíná příkazem Dim (v podstatě znamená dimenze nebo dimenzovat). V deklaraci můžeme sdělit VBA jaký typ dat budeme používat (není povinné). Neuvedeme-li v deklaraci typ proměnné je automaticky použit implicitní typ dat Variant - může obsahovat data libovolného typu a velikosti.
  • Příklad přiřazení explicitní deklarace proměnné Prijmeni datového typu String
                  Dim Prijmeni As String
  • Příklad přiřazení hodnoty do proměnné Prijmeni
                  Prijmeni = "Karel IV"


  • Implicitní
  • Jedná se o deklaraci proměnné bez příkazu Dim. Implicitní deklarace znamená, že proměnnou přímo použijeme v programu (viz příklad). Implicitní deklarace má výhodu rychlejšího zápisu programového kódu, ale nese s sebou určitá rizika. Hlavním rizikem je to, že VBA při použití implicitních deklarací nepovažuje za chybu případný překlep ve jménu proměnné a považuje překlep za deklaraci nové proměnné.
  • Příklad implicitní deklarace proměnné Jmeno
                  Jmeno = "Pepa"


Konstanta

  • Konstanty jsou symboly reprezentující v programu neměnnou hodnotu.
  • Příklad konstant v jazyce C#:

const int months = 12, weeks = 52, days = 365;

  • Konstant2 je přiřazen řetězec nebo číslo,které se nemění.Uživatel si může nadefinovat svou konstantu příkazem const.Definice vlastních konstant má tuto syntaxi:

[Public|Private] Const název konstanty [As typ] = výraz


Pole

  • kolekce proměnných
  • Velikost pole odpovídá počtu jeho prvků. U jednorozměrného pole je tedy dána maximální hodnotou indexu. U pole dvourozměrného odpovídá součinu maximálních hodnot obou indexů.
  • Index: při deklaraci proměnných může být identifikátor proměnné opatřen indexovým rozsahem ,to je, že řada po sobě jdoucích prvků(paměťových míst) je nazvána stejným jménem,rozlišena číslem a vložena do pole,indexový rozsah udává jeden rozměr pole,teoreticky může být pole velké o n*n prvcích
  • Asociativní pole: je pole jehož prvky nejsou indexovány pomocí posloupnosti celých čísel, ale pomocí klíčů. Klíčem může být číslo (v nesekvenční posloupnosti), textový řetězec a jiné.

Příklad asociativního pole v jazyce PHP: $foo = array("a"=>"1", "b"=>"10", "c"=>"100"); echo $foo["c"] . $foo["b"] . $foo["a"];


Datové typy u databází

  • Textové
    • char: textový typ pevně stanovené šířky (počtu znaků), které zabírá nezávisle na tom, je-li vyplněna nebo ne (v takovém případě je v datovém souboru databáze doplněna na tuto šířku). Výhodou je rychlejší manipulace a přepisování hodnot, nevýhodou je toto nadbytečné místo.
    • varchar: (zkratka z variant char nebo char varying) – na rozdíl od typu char se ukládané hodnoty nedoplňují na zadanou šířku, ale v datovém souboru se uloží délka a za ní data; délka je tedy pohyblivá (odtud označení variant). Výhodou je úspornější uložení bez zbytečného, nevyužitého místa, nevýhodou je problematičtější přeukládání kratšího řetězce delším (kdy databázový stroj musí realokovat dostupné místo v datovém souboru).
  • Binární
    • binary: binárně citlivá obdoba typu char (tj. pevná šířka pro uložení dat)
    • varbinary: binárně citlivá obdoba typu varchar (tj. proměnlivá šířka při ukládání dat)


Označování proměnných

  • Způsoby označování proměnných jsou závislé na použitém BASICu. Název proměnné (identifikátor) může být sestaven z jakékoliv kombinace písmen a číslic. Název nesmí začínat číslicí a rozlišují se malá a velká písmena. Dále nesmí být jako identifikátor použito vyhrazené slovo, které v příslušném jazyce má již svůj význam (IF, TO, GO, atd.). První znak vždy bývá písmeno, některé druhy BASICu dovolují na druhém místě pouze číslici, jiné pak číslice i písmena. Neměli by obsahovat háčky a čárky.


Operace s proměnnými a sestavování výrazů

  • Matematické operátory
    • / * + - %
    • arg + arg sečte oba argumenty

arg - arg odečte oba argumenty -arg změní znaménko arg*arg vynásobí oba argumenty arg/arg vydělí první druhým argarg celočíselné dělení (výsledek je jen celá část podílu) arg1 MOD arg2 zbytek po celočíselném dělení arg1^arg2 umocnění základ arg1 mocnitelem arg2

  • Relační
    • < > <= >= != ==
    • arg1 < arg2 výsledek je true , je-li arg1 menší než arg2 , jinak false

arg1 > arg2 výsledek je true , je-li arg1 větší než arg2 , jinak false arg1 = arg2 výsledek je true , je-li arg1 větší nebo roven arg2 , jinak false arg1 = arg2 výsledek je true , je-li arg1 roven arg2 , jinak false arg1 arg2 výsledek je true , když arg1 není roven arg2 , jinak false Like prověří , zda se v řetězci nachází určitý vzorek Is prověří ,zda existuje objektová proměnná daného typu , nebo zda dvě objektové proměnné obsahují odkaz na stejný objekt.

  • Logické

! && || arg1 AND arg2 logický součin obou argumentů arg1 OR arg2 log. součet obou argumentů arg1 XOR arg2 výlučně OR (nonekvivalence) argumentů NOT arg negace arg. arg1 IMP arg2 implikace arg. arg1 EQV arg2 ekvivalence arg.

  • Bitové
    • př.

IMP bit1 bit2 výsledek 0 0 1 0 1 1 1 0 0 1 1 1

Priorita operátorů

určuje pořadí vyhodnocování částí výrazu. Nejvyšší prioritu mají operátory aritmetické, pak následují relační a nejnižší prioritu u kombinovaných výrazů mají logické operátory. V rámci aritmetických operátorů mají vyšší prioritu * a / před + a -.

Osobní nástroje
Jmenné prostory
Varianty
Akce
Navigace
Nástroje