2 Strukturované datové typy 2 2.1 Pole... 2 2.2 Záznam... 3 2.3 Množina... 4



Podobné dokumenty
Sada 1 - Základy programování

Programovací jazyk Pascal

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

NPRG030 Programování I, 2017/18 1 / :22:16

Pascal. Katedra aplikované kybernetiky. Ing. Miroslav Vavroušek. Verze 7

Ing. Igor Kopetschke TUL, NTI

Algoritmizace prostorových úloh

Vyučovací hodina. 1vyučovací hodina: 2vyučovací hodiny: Opakování z minulé hodiny. Procvičení nové látky

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Sada 1 - Základy programování

Inovace a zkvalitnění výuky prostřednictvím ICT Základy programování a algoritmizace úloh. Ing. Hodál Jaroslav, Ph.D. VY_32_INOVACE_25 09

Datové typy a struktury

0. ÚVOD - matematické symboly, značení,

NPRG030 Programování I, 2015/16 1 / :25:32

Radomíra Duží L Datový typ množina

EVROPSKÝ SOCIÁLNÍ FOND. Úvod do PHP PRAHA & EU INVESTUJEME DO VAŠÍ BUDOUCNOSTI

Sada 1 - Základy programování

Elementární datové typy

POČÍTAČE A PROGRAMOVÁNÍ

5a. Makra Visual Basic pro Microsoft Escel. Vytvořil Institut biostatistiky a analýz, Masarykova univerzita J. Kalina

NPRG030 Programování I, 2010/11

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

dovolují dělení velkých úloh na menší = dekompozice

NPRG030 Programování I, 2016/17 1 / :58:13

Algoritmizace prostorových úloh

ALGORITMIZACE A PROGRAMOVÁNÍ

Sada 1 - Základy programování

Přednáška 3. Rekurze 1

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

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

VY_32_INOVACE_08_2_04_PR

Lekce 01 Úvod do algoritmizace

Algoritmizace a programování

4a. Makra Visual Basic pro Microsoft Excel Cyklické odkazy a iterace Makra funkce a metody

Funkce. Definiční obor a obor hodnot

type Obdelnik = array [1..3, 1..4] of integer; var M: Obdelnik;

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Binární soubory (datové, typované)

Maturitní otázky z předmětu PROGRAMOVÁNÍ

7. Datové typy v Javě

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Množiny, funkce

Object Pascal je přísně typový procedurální jazyk, který umožňuje jak strukturované, tak objektově orientované programování.

Odvozené a strukturované typy dat

Programování 2 (NMIN102) Soubory. RNDr. Michal Žemlička, Ph.D.

2. Množiny, funkce. Poznámka: Prvky množiny mohou být opět množiny. Takovou množinu, pak nazýváme systém množin, značí se

Test prvočíselnosti. Úkol: otestovat dané číslo N, zda je prvočíslem

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

Pseudonáhodná čísla = algoritmicky generovaná náhrada za náhodná čísla

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

ADT/ADS = abstraktní datové typy / struktury

Algoritmizace a programování

O datových typech a jejich kontrole

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

Rozklad problému na podproblémy

- znakové konstanty v apostrofech, např. a, +, (znak mezera) - proměnná zabírá 1 byte, obsahuje kód příslušného znaku

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 12.

2 Datové typy v jazyce C

7 Formátovaný výstup, třídy, objekty, pole, chyby v programech

Kurz Databáze. Obsah. Návrh databáze E-R model. Datová analýza, tabulky a vazby. Doc. Ing. Radim Farana, CSc.

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

Implementace LL(1) překladů

IB015 Neimperativní programování. Seznamy, Typy a Rekurze. Jiří Barnat Libor Škarvada

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

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

for (int i = 0; i < sizeof(hodnoty) / sizeof(int); i++) { cout<<hodonoty[i]<< endl; } cin.get(); return 0; }

Vyhledávání. doc. Mgr. Jiří Dvorský, Ph.D. Katedra informatiky Fakulta elektrotechniky a informatiky VŠB TU Ostrava. Prezentace ke dni 21.

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Programovací jazyk. - norma PASCAL (1974) - implementace Turbo Pascal, Borland Pascal FreePascal Object Pascal (Delphi)

Matematika I. Přednášky: Mgr. Radek Výrut, Zkouška:

Soubory. Hung Hoang Dieu. Department of Mathematics Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague 1 / 7

Teoretické minimum z PJV

1. D Y N A M I C K É DAT O V É STRUKTUR Y

Matematika I (KMI/5MAT1)

Anotace. Ordinalni typy - typ char, funkce ord, chr, succ, prev, inc, dec,

Algoritmus. Přesné znění definice algoritmu zní: Algoritmus je procedura proveditelná Turingovým strojem.

Dynamické datové typy a struktury

První kapitola úvod do problematiky

Datové typy strana 29

Semestrální práce 2 znakový strom

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

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

Základy programovacího jazyka Turbo Pascal

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

Logo2 operace, rekurze, větvení výpočtu

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

Úvod do programovacích jazyků (Java)

Rekurze. Pavel Töpfer, 2017 Programování 1-8 1

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

Příklad : String txt1 = new String( Ahoj vsichni! ); //vytvoří instanci třídy String a přiřadí ji vnitřní hodnotu Ahoj vsichni!

DATABÁZE ACCESS Vytváření tabulek TENTO PROJEKT JE SPOLUFINANCOVÁN EVROPSKÝM SOCIÁLNÍM FONDEM A STÁTNÍM ROZPOČTEM ČESKÉ REPUBLIKY.

Da D to t v o é v ty t py IB111: Datové typy

Programovací jazyk PASCAL Turbo

3 Co je algoritmus? Trocha historie Definice algoritmu Vlastnosti algoritmu... 3

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Základy programování (IZP)

Základy programování (IZP)

Algoritmizace a programování

Skripta ke školení. Základy VBA. vypracoval: Tomáš Herout. tel:

Reálná čísla. Sjednocením množiny racionálních a iracionálních čísel vzniká množina

Funkce a lineární funkce pro studijní obory

Transkript:

Obsah Obsah 1 Jednoduché datové typy 1 2 Strukturované datové typy 2 2.1 Pole.................................. 2 2.2 Záznam................................ 3 2.3 Množina................................ 4 3 Rekurze 5 4 Strategie návrhu programu 5 4.1 Návrh programu shora dolů..................... 5 4.2 Návrh programu zdola nahoru.................... 5 1 Jednoduché datové typy Jednoduché datové typy Typy, které obsahují jednu informaci jeden údaj; číslo, písmeno,... Číselné typy (celá čísla, čísla v plovoucí řádové čárce) Znakový datový typ Pravdivostní datový typ boolean Může obsahovat jen 2 možné hodnoty True (pravda) a False (nepravda) Další jednoduché datové typy Datový typ výčet var obdobi:(jaro,leto,podzim,zima); Datový typ interval var cislice:0..9; mala_pismena: a.. z ; tepla_obdobi:jaro..podzim; Ordinální datové typy typy, které mají hodnoty očíslované Celočíselné typy, pravdivostní typ, znakový typ, výčtové typy Funkce Inc/Dec zvětší/zmenší položku o 1 Funkce Pred/Succ vrátí předchůdce/následníka položky

2 Strukturované datové typy Strukturované datové typy Typy, které obsahují více informací než jednoduché typy Skládá se z jednodušších datových typů (ať už jednoduchých nebo strukturovaných) Pole Záznam Množina Soubor 2.1 Pole Datový typ pole Skládá se z pevného počtu položek stejného typu Položky se rozlišují pomocí číselných indexů, u položek není možné najít jejich jiné pojmenování Mezi položkami dat a hodnotami indexů je jednoznačné přiřazení Definice obsahuje velikost pole a typ datové položky var pole:array[1..100] of integer; Zápis typů bez deklarace proměnné type TCislo=integer; TPole=array[1..10] of char; TPoleCisel=array[1..10] of TCislo; TPolePoli=array[1..5] of TPoleCisel; var Cislo:TCislo; Pole:TPolePoli; Použití polí Jediná operace definovaná pro pole je označení položky selektor pole Touto operací získáme příslušnou položku pole var telefon:array[1..9] of byte; telefon[1]:=5; WriteLn( 4. cislice cisla je:, telefon[4]); 2

Použití polí Lze provádět i kopírování celých polí: type TTelefon=array[1..9] of byte; var telefon1, telefon2: TTelefon; telefon2:=telefon1; Tento zápis odpovídá kopírování člen po členu: telefon2[1]:=telefon1[1]; Pozor na kompatibilitu typů! var telefon3:array[1..9] of byte; telefon3:=telefon1; Pole Indexy polí mohou být libovolné ordinální typy: var a:array[-100..100] of integer; b:array[1000..2000] of char; c:array[ a.. z ] or string; Vícerozměrná pole: var d:array[1..10,1..10,1..10] of integer; e:array[1..10] of array[1..10] of integer; d[1][2][3]:=1; String je speciální typ pole, index od 0 (zde je délka) Standardně obsahuje 255 znaků, ale jejich počet lze snížit: 2.2 Záznam var s:string[10]; Datový typ záznam Skládá se z určitého množství položek, které mohou být různého typu Každá položka má své jméno identifikátor položky 3

type TDatum=record den:1..31; mesic:1..12; rok:integer; end; var datum:tdatum; datum.den:=28; datum.mesic:=3; datum.rok:=2006; 2.3 Množina Datový typ množina Je složen z ordinálních typů (bázový typ) Uchovává v sobě, zda se daná hodnota v množině vyskytuje nebo ne Bázový typ může obsahovat maximálnř 256 hodnot type TBarva=(cervena, modra, zelena, zluta); TOdstin=set of TBarva; Datový typ množina přiřazení Konstruktor množiny (množinový literál) se zapisuje do hranatých závorek var barva:todstin; barva:=[]; Přiřazení prázdné množiny barva:=[cervena, modra]; Datový typ množina operace Rovnost množin = odstin1=odstin2 Nerovnost množin <> Je podmnožinou <= Je nadmnožinou >= Sjednocení množin + [cervena]+[modra] = [cervena, modra] 4

Rozdíl množin - Průnik množin * Je prvkem in modra in odstin 3 Rekurze Rekurze Patří mezi složitější programátorské konstrukce Odpovídá matematické indukci Pro výpočet volá funkce (procedura) sama sebe Nutnost ukončovací podmínky Např.: Faktorial: n! = n (n 1)!, 1! = 1 Fibonacciho číslo: F n = F n 1 + F n 2, F 0 = 0, F 1 = 1 4 Strategie návrhu programu 4.1 Návrh programu shora dolů Návrh programu shora dolů Problém se snažíme rozdělit na jednodušší podproblémy. Takto iterativně pokračujeme, dokud nejsou všechny problémy jednoduše vyřešitelné. Návrh programu shora dolů klady a zápory Výhody: Od začátku máme přehled o celku (vidíme les a hledáme stromy) Nevýhody: Schopnost odhadnout správné rozčlenění Nemožnost paralelního návrhu 4.2 Návrh programu zdola nahoru Návrh programu zdola nahoru Od začátku mám (nebo jsem schopný udělat) základní bloky. Jednotlivé bloky skládám do větších celků, dokud se nedostanu k řešení původního problému. 5

Návrh programu zdola nahoru klady a zápory Výhody: Od začátku máme stromy a z nich tvoříme les Rychlost návrhu (paralelní návrh) Nevýhody: Vysoký stupeň abstrakce potřeba mít programátorské zkušenosti Nepřehledný návrh ve většině fází vývoje Některé části návrhu se objevují postupně 6