Uživatelské nástroje

Nástroje pro tento web


informatika:maturita:20a

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revize Předchozí verze
Následující verze
Předchozí verze
informatika:maturita:20a [15. 03. 2020, 20.11]
xdostal [Ordinální typy]
informatika:maturita:20a [27. 05. 2020, 15.35] (aktuální)
xdostal [Složené typy:]
Řádek 5: Řádek 5:
 ===== Jednoduché datové typy:===== ===== Jednoduché datové typy:=====
  
-Jednoduché (také elementární) datové typy jsou většinou definované přímo jazykem, jsou do něj zabudované,​ můžeme je dělit na ordinální a reálné.+Jednoduché (také elementární) datové typy jsou většinou definované přímo jazykem, jsou do něj zabudované,​ můžeme je dělit na ordinální a neordinální.
  
 ==== Ordinální typy ==== ==== Ordinální typy ====
Řádek 26: Řádek 26:
 v C ho definujeme takto: ​ v C ho definujeme takto: ​
  
-typedef enum { +  ​typedef enum { 
-  PRAHA, BRNO, OSTRAVA +    PRAHA, BRNO, OSTRAVA 
-} MESTA;+  } MESTA; 
 +   
 +  MESTA m = BRNO; 
 +  m == 1  //pravda
  
  
Řádek 35: Řádek 38:
 U neordinálních datových typů není jednoznačně určen předchůdce a následovník každé hodnoty. U neordinálních datových typů není jednoznačně určen předchůdce a následovník každé hodnoty.
  
-**Double, float, real** - reálné číslo nebo také číslo s plovoucí desetinnou čárkou, např. '​1.58'​ nebo '​0.0045'​. V počítači je většinou reprezentováno jako //celé číslo * 2<​sup>​exponent</​sup>//​ kde exponent je také celé čislo. Mnohá desetinná čísla nelze v tomto formátu přesně reprezentovat. Např. číslo 0,1 má periodický dvojkový zápis (0,​0001100)<​sub>​2</​sub>​. Důsledkem je, že reálná čísla můžou v počítači vypadat a chovat se trochu jinak.+**Double, float** - reálné číslo nebo také číslo s plovoucí desetinnou čárkou, např. '​1.58'​ nebo '​0.0045'​. V počítači je většinou reprezentováno jako //celé číslo * 2<​sup>​exponent</​sup>//​ kde exponent je také celé čislo. Mnohá desetinná čísla nelze v tomto formátu přesně reprezentovat. Např. číslo 0,1 má periodický dvojkový zápis (0,​0001100)<​sub>​2</​sub>​. Důsledkem je, že reálná čísla můžou v počítači vypadat a chovat se trochu jinak.
  
 V jazyce C existují tyto konkrétní typy:  V jazyce C existují tyto konkrétní typy: 
Řádek 56: Řádek 59:
  
 **Seznam - list** - obdoba pole. Na rozdíl od pole nelze seznam přímo adresovat pomocí indexu. Seznam je tedy možné procházet pouze postupně, od začátku do konce, sekvenčně. Existují i obousměrné spojové seznamy, které je možné procházet od začátku i od konce, avšak omezení přístupu je výrazné. Výhodou seznamů proti polím je, že je možné snadno přidávat nebo odebírat i prvky nacházející se uprostřed seznamu. **Seznam - list** - obdoba pole. Na rozdíl od pole nelze seznam přímo adresovat pomocí indexu. Seznam je tedy možné procházet pouze postupně, od začátku do konce, sekvenčně. Existují i obousměrné spojové seznamy, které je možné procházet od začátku i od konce, avšak omezení přístupu je výrazné. Výhodou seznamů proti polím je, že je možné snadno přidávat nebo odebírat i prvky nacházející se uprostřed seznamu.
 +
 +**Množina - set** - obsahuje unikátní, neopakující se hodnoty bez stanoveného pořadí. Výhodou je možnost kontroly, zda li prvek náleží množině nebo ne.
  
 **Struktura - struct** - datový typ složený z jiných datových typů/​složený z různých typů proměnných. Jedná se tedy o heterogenní datový typ. Nejlépe je pochopitelný přímo z ukázky deklarace v jazyce C: **Struktura - struct** - datový typ složený z jiných datových typů/​složený z různých typů proměnných. Jedná se tedy o heterogenní datový typ. Nejlépe je pochopitelný přímo z ukázky deklarace v jazyce C:
  
-struct account { +  ​struct account { 
-   ​int account_number;​ +    int account_number;​ 
-   ​char *first_name;​ +    char *first_name;​ 
-   ​char *last_name;​ +    char *last_name;​ 
-   ​float balance; +    float balance; 
-};+  };
  
-Když teď vytvoříme nový struct: 'struct ​account accountExample;'​ vytvoříme v podstatě "​balíček"​ výše deklarovaných proměnných,​ account_number tohoto konkrétního structu poté získáme např. '​accountExample.account_number ...'+Když teď vytvoříme nový struct: '​account accountExample;'​ vytvoříme v podstatě "​balíček"​ výše deklarovaných proměnných,​ account_number tohoto konkrétního structu poté získáme např. '​accountExample.account_number ...'
  
  
informatika/maturita/20a.1584299472.txt.gz · Poslední úprava: 15. 03. 2020, 20.11 autor: xdostal