Reprezentace dat v informačních systémech. Jaroslav Šmarda

Podobné dokumenty
ADT/ADS = abstraktní datové typy / struktury

Algoritmizace prostorových úloh

Algoritmizace prostorových úloh

Algoritmy a datové struktury

Algoritmizace a programování

Číselné soustavy. Ve světě počítačů se využívají tři základní soustavy:

Ing. Igor Kopetschke TUL, NTI

Opakování programování

Informatika Datové formáty

Aplikovaná informatika. Podklady předmětu Aplikovaná informatika pro akademický rok 2006/2007 Radim Farana. Obsah. Obsah předmětu

Úvod do programovacích jazyků (Java)

5 Přehled operátorů, příkazy, přetypování

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

4 Datové struktury. Datové struktury. Zobrazení dat v počítači

Jak v Javě primitivní datové typy a jejich reprezentace. BD6B36PJV 002 Fakulta elektrotechnická České vysoké učení technické

Datové typy a struktury

Číselné soustavy. Binární číselná soustava

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Ahoj mami. Uložení dat v počítači. Příklady kódování dat. IAJCE Přednáška č. 4

Základní pojmy. Úvod do programování. Základní pojmy. Zápis algoritmu. Výraz. Základní pojmy

7. Datové typy v Javě

Obsah. Předmluva 13 Zpětná vazba od čtenářů 14 Zdrojové kódy ke knize 15 Errata 15

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek

Elementární datové typy

Datové typy a jejich reprezentace v počítači.

Základní datové typy, proměnné - deklarujeme předem - C je case sensitive rozlišuje malá a velká písmena v názvech proměnných a funkcí

C2115 Praktický úvod do superpočítání

Základní datové struktury

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Čísla a číselné soustavy.

DUM 07 téma: Proměnné, konstanty a pohyb po buňkách ve VBA

int => unsigned int => long => unsigned long => float => double => long double - tj. bude-li:

Spojová implementace lineárních datových struktur

Fz =a z + a z +...+a z +a z =

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Datové typy v Javě. Tomáš Pitner, upravil Marek Šabo

2 Strukturované datové typy Pole Záznam Množina... 4

Teoretické minimum z PJV

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Základy jazyka C. Základy programování 1 Tomáš Kühr

Tematický celek Proměnné. Proměnné slouží k dočasnému uchovávání hodnot během provádění aplikace Deklarace proměnných

Přednášky o výpočetní technice. Hardware teoreticky. Adam Dominec 2010

Strukturované typy a ukazatele. Úvod do programování 1 Tomáš Kühr

Programování v Javě I. Únor 2009

Tabulka symbolů. Vazba (binding) Vazba - příklad. Deklarace a definice. Miroslav Beneš Dušan Kolář

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Paměť počítače. alg2 1

Datové struktury a datové typy.

Fronta (Queue) Úvod do programování. Fronta implementace. Fronta implementace pomocí pole 1/4. Fronta implementace pomocí pole 3/4

Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

Programování v Javě I. Leden 2008

8 Třídy, objekty, metody, předávání argumentů metod

Programování v C++ 2, 4. cvičení

1.1 Struktura programu v Pascalu Vstup a výstup Operátory a některé matematické funkce 5

Výrazy, operace, příkazy

Struktura a architektura počítačů (BI-SAP) 1

PROGRAMOVÁNÍ V JAZYCE C V PŘÍKLADECH 11 Dynamické datové struktury 11.1 Spojové struktury Příklad PROG_

3 Jednoduché datové typy Interpretace čísel v paměti počítače Problémy s matematickými operacemi 5

Programovací jazyk Pascal

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Operátory, výrazy. Tomáš Pitner, upravil Marek Šabo

IUJCE 07/08 Přednáška č. 6

MQL4 COURSE. By Coders guru -3 DATA TYPES. Doufám, že předchozí lekce SYNTAX se vám líbila. V té jsme se pokoušeli zodpovědět:

Lineární datové struktury

Základní datové struktury.

Cílem kapitoly je seznámit studenta se seznamem a stromem. Jejich konstrukci, užití a základní vlastnosti.

Sada 1 - Základy programování

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Stromy. Strom: souvislý graf bez kružnic využití: počítačová grafika seznam objektů efektivní vyhledávání výpočetní stromy rozhodovací stromy

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

O datových typech a jejich kontrole

int ii char [16] double dd název adresa / proměnná N = nevyužito xxx xxx xxx N xxx xxx N xxx N

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Struktura programu v době běhu

Proměnné a datové typy

PA152. Implementace databázových systémů

Seminář Java II p.1/43

Sada 1 - Základy programování

Principy počítačů I Reprezentace dat

Základy programování (IZP)

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

Y36SAP

Dynamické datové struktury IV.

Odvozené a strukturované typy dat

PB002 Základy informačních technologií

Počítačová sestava paměti, operační paměť RAM

Systém souborů (file system, FS)

Programování v jazyce C pro chemiky (C2160) 12. Specifické problémy při vývoji vědeckého softwaru

Formátové specifikace formátovací řetězce

ALGORITMIZACE 2010/03 STROMY, BINÁRNÍ STROMY VZTAH STROMŮ A REKURZE ZÁSOBNÍK IMPLEMENTUJE REKURZI PROHLEDÁVÁNÍ S NÁVRATEM (BACKTRACK)

Cílem kapitoly je seznámit studenta s pamětmi. Jejich minulostí, současností a hlavnímu parametry.

Datové typy strana 29

Dynamická vícerozměrná pole. Základy programování 2 Tomáš Kühr

2) Napište algoritmus pro vložení položky na konec dvousměrného seznamu. 3) Napište algoritmus pro vyhledání položky v binárním stromu.

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Datové typy pro reálná čísla

BI-PA1 Programování a algoritmizace 1, ZS Katedra teoretické informatiky

Programování v C++ 1, 1. cvičení

Zápis programu v jazyce C#

BASPELIN CPM. Popis komunikačního protokolu verze EQ22 CPM EQ22 KOMPR

Transkript:

Reprezentace dat v informačních systémech Jaroslav Šmarda

Reprezentace dat v informačních systémech Reprezentace dat v počítači Datové typy Proměnná Uživatelské datové typy Datové struktury: pole, zásobník, seznam, binární strom

Reprezentace dat v počítači Paměť počítače: hlavní paměť (RAM) mezipaměť v procesoru (cache) registr (segment mezipaměti) trvalé úložiště (např. pevný disk) Data a instrukce zůstanou uložena i po vypnutí počítač

Paměť počítače Nejmenší jednotka paměti: Bit (Binary Digit) 0 nebo 1 Základní jednotka paměti: Byte = 8 bitů 0 1 0 0 1 1 1 0 2x2x2x2x2x2x2x2 = 2 8 = 256 možností

Paměť počítače 4 bity (1/2 bytu) 0 1 1 1 2x2x2x2 = 16 možností šestnáctková soustava (hexadecimální)

Paměť počítače 7D 30 FF 4A 0111 1101 0011 0000 1111 1111 0100 1010 4 bity Hexadecimální číslice 0 0 0 0 0 0 0 0 1 1 0 0 1 0 2 0 0 1 1 3 0 1 0 0 4 0 1 0 1 5 0 1 1 0 6 0 1 1 1 7 1 0 0 0 8 1 0 0 1 9 1 0 1 0 A 1 0 1 1 B 1 1 0 0 C 1 1 0 1 D 1 1 1 0 E 1 1 1 1 F

Reprezentace dat v počítači Data posloupnost bytů celé číslo, reálné číslo, text, zvuk, fotka, video jsou vždycky nějakého typu Datový typ určuje množství paměti potřebné k uložení a druh dat velikost paměti pro určitý datový typ závisí na typu počítače (Intel, iphone, ) velikost paměti pro určitý datový typ může záviset na programovacím jazyce

Skupiny datových typů celočíselné (byte, short, int, long) s plovoucí desetinnou čárkou (float, double) znakové (char) s logickou hodnotou (boolean)

Datový typ Datové typy Velikost v bitech Rozsah Skupina byte 8 bitů -128 až 127 celé číslo (byte) short 16 bitů -32 768 až 32 767 int 32 bitů -2 147 483 648 až 2 147 483 647 celé číslo (short integer) celé číslo (integer) long 64 bitů celé číslo (long int) float 32 bitů 3,4-38 až 3,4 38 číslo s pohyblivou desetinnou čárkou double 64 bitů 1,7-308 až 1,7 308 číslo s pohyblivou desetinnou čárkou (dvojnásobná přesnost) char 16 bitů 65 536 znaky (Unicode) boolean 1 bit logická hodnota (1=pravda, 0=nepravda)

Paměť počítače paměť s přímým přístupem (RAM Random Access Memory) všechna paměťová místa kdykoliv dostupná přes adresu 5C Adresa: 4010 Adresa: 4012 Adresa: 4014

Proměnná Abstrakce paměťového místa Je určitého datového typu V programovacím jazyce má symbolické jméno (název proměnné) Pozn.: paměťové místo má adresu

Deklarace proměnné Deklarace proměnné v programovacím jazyce: int cislostudenta; int pocetstudentu; float teplotavenku; <datový typ> <název proměnné>; Název proměnné: začíná (a..z, A..Z) a obsahuje (a..z,a..z,0..9) Deklarace = vyhrazení paměti v počítači Definice = jen určení nového datového typu (bez konkrétního vyhrazení paměti)

Uživatelské datové typy Definice uživatelského datového typu: struct ZaznamOStudentovi { int cislostudenta; char znamka; }; Deklarace proměnné uživatelského datového typu ZaznamOStudentovi: struct ZaznamOStudentovi st1r; struct ZaznamOStudentovi st2r;

Uživatelské datové typy paměť vyhrazená pro st1r a st2r: znamk znamk cislostudent a cislostudent a a a 400 přístup k údajům ve struktuře: st1r.cislostudenta st1r.znamka st1r 405 st2r

Ukazatel (pointer) Abstrakce paměťové adresy Velikost ukazatele: 4 byty

Ukazatel Deklarace ukazatelů: int *ukpocetstudentu1r; struct ZaznamOStudentovi *ukstudent1r; ukpocetstudentu1r=1020 ukstudent1r=1032 adresa: 310 adresa: 314 int ZaznamOStudento vi adresa: adresa: 1032

Proměnná uživatelského datového typu Definice uživatelského datového typu: struct ZaznamOStudentovi { int cislostudenta; char znamka; }; Deklarace proměnné uživatelského datového typu ZaznamOStudentovi: struct ZaznamOStudentovi st; Odkaz na atribut proměnné: st.cislostudenta=137246; st.znamka= A ;

Datová struktura: pole Potřebuji několik (? 10, 50, 1000, ) proměnných stejného typu všichni studenti ročníku Pole: množina homogenních prvků přístupný kdykoliv kterýkoliv prvek

Datová struktura: pole Index prvku pole Deklarace pole: struct ZaznamOStudentovi st[1000]; První prvek pole: st[0], poslední prvek: st[999] 1040 1045 1050 1055 Odkaz na atribut prvku pole: st[315].cislostudenta=128753; st[315].znamka= A ; adresa_prvku_i = adresa_začátku_pole + (i x délka_prvku_pole)

Datová struktura: pole Vícerozměrné pole: char znamka [60] [5]; znamka[20,2]= B ;

Datová struktura: spojový seznam Dynamická datová struktura Položka spojového seznamu: uzel Usnadňuje změnu uspořádání dat

Seznam jednosměrný spojový seznam first NULL 0 struct Uzel { struct Tobsahu o; struct Uzel* next; } next next next struct Uzel* first;

first Seznam obousměrný spojový seznam N U L L N U L L prior next prior next prior next struct Uzel { struct Uzel* prior; struct Tdata data; struct Uzel* next; } Ukazatel konce struct Uzel* first;

Datová struktura: binární strom levá větev Anet a Jan Kořenový uzel pravá větev nadřízený uzel Tereza větev podřízený uzel??? Zuzan a listový uzel Koncový uzel

Datová struktura: binární strom struct BinTree { struct BinTree* left; struct Tdata data; struct BinTree* right; } struct BinTree* korenovyuzel;