25/08/20141 Typ struktura (1) Datový typ struktura ( struct ) je agrego- vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou.

Slides:



Advertisements
Podobné prezentace
A1PRG - Programování – Seminář Ing. Michal Typová konverze, oblast platnosti, paměťové třídy 9 Verze
Advertisements

Standardní knihovní funkce pro práci s textovými řetězci
ČLENSKÁ SCHŮZE 2009 Plnění plánu činnosti sportivního klubu MAESTRO CLUB Kolovraty za rok 2008.
Co může být všechno v šabloně?
Programování v C jazyku - SEMINÁŘ
Počítače a programování 1 Přednáška 13 Jiří Šebesta.
CHARAKTERISTIKY SPALOVACÍCH MOTORU Charakteristika spalovacího motoru je grafické znázornění vzájemné závislosti vybraných provozních.
Evropská jazyková cena Socrates LABEL 2007 PORTFOLIO A FILMOVÉ PLÁTNO Portfolio et l´écran Gymnázium Boženy Němcové Hradec Králové
Programovací jazyk C++
ČLENSKÁ SCHŮZE 2008 Plnění plánu činnosti sportovního klubu MAESTRO CLUB Kolovraty na rok 2007.
Programování funkcí v Excelu
Vstupy a výstupy v JavaScriptu Vstup: použitím metody prompt objektu window čtením hodnot z položek formuláře Výstup : použitím metody alert objektu window.
Programování 2 Cvičení 5.
Aplikační a programové vybavení
OOP OOP (Object Oriented Programming)
Cisco Networking Academy
Měření dielektrických parametrů ztrátových materiálů
Databázové systémy 1 Cvičení č. 2 Fakulta elektrotechniky a informatiky Univerzita Pardubice.
Cvičení 2 Proměnné(jednoduché a složené) a konstanty První program Zápis výrazů.
Programování v C++ Cvičení.
Algoritmizace a programování
Materiály k přednášce Úvod do programování Ondřej Čepek.
Lineární algebra.
Modelování v AUTOCADU Křivky v prostoru, modelování z těles a povrchů,
Návrhy usnesení Členská schůze občanského sdružení MAESTRO CLUB Kolovraty dne
Návrhy usnesení Členská schůze občanského sdružení MAESTRO CLUB Kolovraty dne
Návrhy usnesení Členská schůze občanského sdružení MAESTRO CLUB Kolovraty dne
Datové struktury. 2 Co je datová struktura v C datový typ složený z jiných datových typů nejjednodušší datová struktura je pole. všechny jeho prvky jsou.
C# - struktury, výčtové typy, pole
Databáze Jiří Kalousek.
Datové typy 6 A1PRG - Programování – Seminář
HORECA manažment – 31. január 2007, Hotel Kaskády, Sliač - Sielnica Roman Vacho © RV Hotel & Restaurant Consulting.
Výsledky výzkumu ve vzdělávacích institucích doc. Ing. Josef Vaculík, CSc. Ing. Petr Urbanec Univerzita Pardubice.
Základy ekonomie Egor Sidorov Seminář 1/2.
Vyučovací hodina 1 vyučovací hodina: Opakování z minulé hodiny 5 min Nová látka 20 min Procvičení nové látky 15 min Shrnutí 5 min 2 vyučovací hodiny: Opakování.
A1PRG - Programování – Seminář Ing. Michal Operátory (2. část) 4 Verze
Jemný úvod do MATLABu © Leonard Walletzký, ESF MU, 2000.
Současný svět Projekt č. CZ /3. 1
KIV/ZIS cvičení 6 Tomáš Potužák. Pokračování SQL Klauzule GROUP BY a dotazy nad více tabulkami Stáhnout soubor studenti_dotazy_sql.mdb.
Databázové systémy I Cvičení č. 6 Fakulta elektrotechniky a informatiky Univerzita Pardubice 2013.
A1PRG - Programování – Seminář Ing. Michal Ukazatele a pole 10 Verze
Cvičení.
Datové typy a struktury
IB111 Programování a algoritmizace
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Gymnázium prof. Jana Patočky Jindřišská Praha 1 „Praha & EU: Investujeme do vaší.
13/04/20151 Datový typ třída – class (1) Datový typ definovaný uživatelem Poskytuje mechanismus pro modelování entit, s nimiž manipulují aplikace Charakterizuje.
Počítače a programování 1 7.přednáška. Základy Pole ve třídách a metodách Pole Arrays.
6. Typ záznam Strukturovaný datový typ - znamená spojení několika elementů stejného nebo různých typů do jedné proměnné. Např. pole je strukturovaný datový.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Pokročilé datové typy (struktury, unie, dynamické proměnné)
Úvod do programování2 Vyučující: Mgr. Vítězslav Jersák Web: xjv.webnode.cz.
POSLOUPNOST test. ZKUSTE ODPOVĚDĚT Co je to komentář? Poznámky, které nám pomohou pochopit, když se k programu vrátíme po delší době, co jsme chtěli tou,
Funkce Přednáška č. 5. Funkce (functions)  posloupnost příkazů uvedená hlavičkou  využití – opakovaně volaná sekvence – strukturování programu – ošetření.
Programování v jazyce C++ Speciality jazyka C++, úvod do OOP.
Makra v Excelu syntaxe. Zápis nahraného makra SubEnd Sub O klíčová slova Sub a End Sub – začátek a konec makra O komentáře O text za znakem ', až do konce.
Typ struktura (1) Datový typ struktura (struct) je agrego-vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové.
Programování ENUM, SWITCH,pole jednorozměrná a vícerozměrná, deklarace, inicializace, kopírování, porovnání Erik Král.
Vícerozměrná pole (1) Jazyk C povoluje, aby pole mělo více rozměrů (dimenzí) než jeden Z vícerozměrných polí bývá nejčastěji použí-váno pole dvourozměrné.
Vzorové řešení zápočtového testu
Struktury.
Programování v jazyce C++
Funkce výstupu (2) Funkce printf: deklarována v: stdio.h
Příkazy cyklu (1) Umožňují vícekrát (nebo ani jednou) pro-vést určitý příkaz Jazyk C rozlišuje příkaz cyklu: s podmínkou na začátku: obecný tvar: while.
Dynamické proměnné (1) Proměnné, jejichž počet a (nebo) velikost pa-měti využívané těmito proměnnými se v prů-běhu programu mění Dynamické proměnné lze.
Oblast platnosti identifikátoru (1)
Typ pole (1) Proměnná typu pole představuje kolekci proměnných stejného datového typu, které mohou být označovány společným jménem (identifikátorem) Pole.
Typ ukazatel (1) Proměnné typu ukazatel (pointer) uchovávají paměťovou adresu Hodnota ukazatele říká, kde (na jaké adrese) se v paměti nachází nějaký objekt.
Cyklus for (1) Obecný tvar: for (výraz1; výraz2; výraz3) příkaz
Union neboli sjednocení Bitová pole
Transkript prezentace:

25/08/20141 Typ struktura (1) Datový typ struktura ( struct ) je agrego- vaný heterogenní datový typ Jedná se o skupinu několika proměnných, které mohou mít různé datové typy, spoje- ných pod jediné jméno Struktury pomáhají organizovat „kompliko- vaná“ data Umožňují pracovat se skupinou příbuzných proměnných jako s jedním objektem

25/08/20142 Typ struktura (2) Definice typu struktura: struct jmTypu { datový_typ 1 id 11, id 12, …, id 1n 1 ; datový_typ 2 id 21, id 22, …, id 2n 2 ; datový_typ m id m1, id m2, …, id mn m ; }; Identifikátor jmTypu se nazývá jmenovka struktury a lze jej následně využít pro defi- nici proměnných

25/08/20143 Typ struktura (3) Proměnné id ij se nazývají složky (položky) struktury Příklad: struct osoba { char jmeno[15], prijmeni[20]; unsigned short vek; }; Na základě definovaného typu struktura je možné později definovat proměnné struct jmTypu p 1, p 2, …, p n ;

25/08/20144 Typ struktura (4) Identifikátory p 1, p 2, …, p n označují pro- měnné typu jmTypu Příklad: struct osoba petr, pavel; definuje proměnné petr a pavel, které jsou typu osoba Poznámky: –jmenovka struktury může být v době definice vynechána –za definicí struktury mohou následovat identifi- kátory odpovídajících proměnných

25/08/20145 Typ struktura (5) Příklad: struct { char autor[30], nazev[50]; unsigned short rokVydani; } kniha1, kniha2; Složky struktury mohou být v době definice také nastaveny na své iniciální hodnoty Poznámka: –iniciální hodnoty musí být konstantní výrazy

25/08/20146 Typ struktura (6) Příklad: struct osoba petr = {”Petr”,”Novak”,30}, pavel = {”Pavel”,”Novy”,40}; Jednotlivé složky struktury lze zpřístupnit pomocí tzv. tečkové notace: –identifikátor proměnné typu struktura –symbol tečka –identifikátor složky struktury

25/08/20147 Typ struktura (7) Se složkami typu struktura je možné pracovat stejným způsobem jako s proměnnými odpo- vídajícího datového typu Příklad: strcpy(petr.jmeno,”Petr”); strcpy(petr.prijmeni,”Novak”); petr.vek = 30; Jazyk C umožňuje pracovat najednou s celou strukturou

25/08/20148 Typ struktura (8) Lze např. použít přiřazovací příkaz, který zko- píruje obsah jedné struktury do struktury dru- hé (obě proměnné musí být téhož typu): struct bod { int x, y; }; struct bod bod1 = {20, 50}; struct bod bod2; bod2 = bod1;

25/08/20149 Typ struktura (9) Struktura může být: –uvedena jako návratová hodnota funkce –předána funkci jako skutečný parametr volaný hodnotou Pozor: –jsou-li definovány dvě struktury se stejnými slož- kami stejných datových typů, pak se chovají jako dva různé nekompatibilní datové typy Poznámka: –složka struktury, jmenovka struktury a proměnná mohou mít stejný identifikátor, aniž by docházelo ke konfliktům

25/08/ Typ struktura (10) Struktury je rovněž možné používat v kombi- naci s poli, tj. lze definovat: –struktury, jejichž složky jsou typu pole –pole, jehož prvky jsou typu struktura: příklad: struct bod body[20]; definuje pole body, jehož prvky jsou typu bod a pro jejichž zpřístupnění lze použít např.: body[0].x = 10; body[0].y = 20; Struktury mohou být do sebe vnořovány, tj. složky typu struktura mohou být opět typu struktura

25/08/ Typ struktura (11) Příklad: struct obdelnik { struct bod lhRoh, pdRoh; }; struct obdelnik obr; obr.lhRoh.x = 1; obr.lhRoh.y = 1; obr.pdRoh.x = 80; obr.pdRoh.y = 25;

25/08/ Pojmenovaný typ (1) Jazyk C poskytuje nástroj pro vytváření jmen datových typů Pojmenované typy lze vytvářet pomocí klí- čového slova typedef Obecný tvar: typedef datový_typ jmTypu; definuje jméno jmTypu jako synonymum pro datový_typ Typ jmTypu lze používat stejným způso- bem jako datový_typ

25/08/ Pojmenovaný typ (2) Příklad: typedef unsigned long delka; definuje typ delka, který odpovídá typu unsigned long Typ delka je možné dále využít např. pro definici proměnných Příklad: delka x, y, z; delka delky[10];

25/08/ Pojmenovaný typ (3) Příklady: –typedef int * pInt; pInt a, b; definuje proměnné a a b jako ukazatele na hod- noty datového typu int –typedef int matice[2][3]; matice m; definuje proměnnou m jako dvourozměrné pole, které má dva řádky a tři sloupce –typedef int radek[3]; typedef radek matice[2]; matice m; definuje proměnnou m jako dvourozměrné pole, které má dva řádky a tři sloupce

25/08/ Pojmenovaný typ (4) Definice pojmenovaných typů se často po- užívá také při definici typů struktura: typedef struct bod { int x, y; } typBod; typedef struct obdelnik { typBod lhRoh, pdRoh; } typObdelnik; typObdelnik obr;

25/08/ Typ union (1) Datový typ union umožňuje v různých chví- lích uchovávat hodnoty rozličných typů a velikostí Hodnoty (složky) unionu se vzájemně pře- krývají (sdílí stejné paměťové místo) Uniony umožňují manipulovat s různými typy dat v jedné oblasti paměti Jejich použití bývá méně obvyklé Syntaxe unionu je velmi podobná syntaxi struktury

25/08/ Typ union (2) Definice typu union: union jmTypu { datový_typ 1 id 11, id 12, …, id 1n 1 ; datový_typ 2 id 21, id 22, …, id 2n 2 ; datový_typ m id m1, id m2, …, id mn m ; }; Ke složkám unionu se přistupuje rovněž (jako u struktury) pomocí tečkové notace

25/08/ Typ union (3) Příklad: union konstanta { char c; int i; double x; }; union konstanta k; Proměnná k obsahuje tři složky ( c, i a x ), které jsou různých typů a sdílejí společné paměťové místo

25/08/ Typ union (4) Kapacita paměti, na které jsou uloženy hod- noty typu union, je dána největší složkou, jež je v unionu definována Union neposkytuje informaci o typu prvku, který do něj byl naposledy uložen Zmíněný problém je možné vyřešit tak, že se union vloží do struktury, jejíž: –první složka je výčtový typ –druhá složka je union

25/08/ Typ union (5) Příklad: typedef enum {znak,cele,realne} typHodn; typedef struct { typHodn typ; union konstanta hodnota; } typKonstanta; typKonstanta konst;