Třída SIMSET je druhou standardní systémovou třídou, která obsahuje prostředky pro práci se spojovými seznamy. KRUHOVÉ SPOJOVÉ SEZNAMY Spojový seznam –

Slides:



Advertisements
Podobné prezentace
GENEROVÁNÍ PSEUDONÁHODNÝCH ČÍSEL
Advertisements

(instance konkrétní třídy)
Modely hromadné obsluhy Modely front
Programování funkcí v Excelu (pole)
Programovací jazyk C++
Algoritmizace od algoritmu k Pascalu.
Vnitřní řazení v poli (in sito)
1 Vnitřní řazení s využitím dynamických struktur Tvorba spojového seznamu je vcelku triviální záležitostí: a)Vytvořím prázdný seznam příkazem LIST:=nil.
10. Dynamické datové struktury
Spojové struktury Spojová struktura ( linked structure ):
Fronta - a)Implementace s využitím statických struktur (pole) b)Implementace s využitím dynamických struktur (spojového seznamu) odebírá se ze začátku.
Programování v Pascalu Přednáška 5 RNDr. Hana Havelková.
Doporučená literatura: *HUŠEK, R., LAUBER, J.: Simulační modely.. SNTL/Alfa Praha,1987. * NEUSCH L, S. A KOLEKTIV: Modelovanie a simulacia.. SNTL Praha,
Databázové systémy II Přednáška č. 6 RNDr. David Žák, Ph.D. Fakulta elektrotechniky a informatiky
Programování v Pascalu Přednáška 7
Materiály k přednášce Úvod do programování Ondřej Čepek.
ADT Strom.
C# - datové typy Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Algoritmizace a programování
Algoritmizace a programování Podmíněné a cyklické příkazy- 08
SYSTÉMOVÁ TŘÍDA SIMULATION Třída SIMULATION je třetí systémovou třídou, která obsahuje prostředky pro vytváření diskrétních simulačních modelů. Je podtřídou.
Informatika I 3. přednáška
Procedury a funkce Základní charakteristika a použití v programu.
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í.
Algoritmy a programovací techniky
Objektové programování
Algoritmy vyhledávání a řazení
08/04/20151 Delegáty (1) Delegát (delegate) je datový typ, který definuje signaturu metody Delegáty bývají rovněž označovány jako typo- vě bezpečné ukazatele.
Další abstraktní datové typy
Simulační modely a programové vybavení. Vývoj simulačních programů  Původně pouze strojový kód –Příliš dlouhé, náročné na programátora, obtížné hledání.
Počítače a programování 1
JavaScript Podmínky, cykly a pole.
Cvičení.
5. Procedury a funkce Procedura je samostatně odladěný algoritmus, v programu může být volána vícekrát. Dvojí terminologie - rozlišujeme procedury a funkce.
Programovací jazyk PASCAL
Algoritmizace a programování Objektově orientované programování - 16 Mgr. Josef Nožička IKT Algoritmizace a programování
Algoritmizace a programování Binární soubory - 14 Mgr. Josef Nožička IKT Algoritmizace a programování
C# - předávání parametrů Centrum pro virtuální a moderní metody a formy vzdělávání na Obchodní akademii T.G. Masaryka, Kostelec nad Orlicí.
Spojové struktury BI-PA1 Programování a algoritmizace 1, ZS
STROMY Datová struktura sestávající z uzlů
VYTVOŘENÍ TŘÍDY KOMPLEXNÍHO ČÍSLA Vytvořte třídu proměnné, která bude prezentovat komplexní číslo. Zadávat se budou dvě složky, reálná a imaginární. Dále.
10. Dynamické proměnné Dynamická proměnná se nezavádí deklarací proměnných, ale vzniká za běhu programu provedením speciálního příkazu. Nemá přidělen žádný.
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.
UNIX Shell skripty Roman Danel VŠB TU Ostrava, Hornicko – geologická fakulta.
Databázové modelování
3. konzultace (5 hodin) Studijní materiály najdete na adrese:
XQuery Dotazovací jazyk XML Daniel Privalenkov. O čem bude prezentace Nutnost dotazovacího jazyku v XML Rychlý přehled XQuery Několik příkladů.
BINÁRNÍ STROM Vytvořte program, který bude vytvářet "binární strom". Každý prvek bude definován z klávesnice svým obsahem a dvěma dalšími proměnnými, které.
Uživatelem definované typy Ing. Lumír Návrat  katedra informatiky, A 1018 
ZÁKLADNÍ POJMY. ZDROJOVÝ TEXT PROGRAMU Tvoří: klíčová slova komentáře identifikátory.
ALGORITMIZACE A ZÁKLADY PROGRAMOVÁNÍ
Pascal - větvení.
Cvičení 3-4 Procedury, funkce,řetězce. Procedury Procedura Procedura Procedura je podprogram, který mění stav programu (změnou stavu proměnných nebo změnou.
PROGRAMOVÁNÍ 3ITA,3ITB Jaroslav Burdys Hlavní zdroj:
Bezpečnostní technologie I
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é.
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é.
Programovací jazyk C++
Strukturované typy proměnných v programovacím jazyce Pascal - 1.hodina
Programování 2. hodina RNDr. Jan Lánský, Ph.D.
Abstraktní datové typy
Databázové systémy a SQL
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)
Opakování základních příkazů a syntaxí v programovacím jazyce Pascal
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.
Fronta (1) Dynamická datová struktura typu FIFO (First In First Out)
Programování v prostředí Borland Delphi
C# přehled vlastností.
Algoritmizace a datové struktury (14ASD)
Transkript prezentace:

Třída SIMSET je druhou standardní systémovou třídou, která obsahuje prostředky pro práci se spojovými seznamy. KRUHOVÉ SPOJOVÉ SEZNAMY Spojový seznam – velmi často používaná datová struktura Práce se spojovými seznamy Způsob práce se spojovým seznamem a konkrétní složitost obslužných algoritmů jsou závislé na použité organizaci seznamu. SYSTÉMOVÁ TŘÍDA SIMSET

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Jednosměrný spojový seznam Jedná se o nejjednodušší strukturu realizující spojový seznam. Každý prvek odkazuje na svého následníka a je zpřístupněn jednou referenční proměnnou, která odkazuje na první prvek. Zpřístupňující proměnná Odkaz na následující prvek seznamu Obsah položky

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Dvousměrný spojový seznam Každý prvek odkazuje jak na svého předchůdce, tak na svého následníka a zpřístupnění je možné na jednom či druhém či obou koncích. Singulární případy při zařazování či ubírání na některém z konců seznamu. Zpřístupňují proměnné Odkaz na následující prvek seznamu Obsah položky Odkaz na předcházející prvek seznamu

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Kruhový spojový seznam Singulární případy lze zamezit kruhovou organizací seznamu,tj. první prvek prohlásíme definitoricky následníkem posledního prvku a poslední prvek předchůdcem prvního. Ke zpřístupnění „ obou konců“ kruhového seznamu stačí jediná referenční proměnná. Zpřístupňující proměnná

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Reprezentace prázdného seznamu Zbývající singularita – práce s „ prázdným seznamem“, tj. zařazování prvního a vyjímání poslední prvku seznamu. Odstranění – přidání speciálního prvku, který nebudeme počítat mezi prvky seznamu a který nebudeme nikdy ze seznamu vypouštět Speciální prvek

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Prázdný seznam v tomto pojetí bude reprezentován seznamem (stále kruhovým) obsahující pouze zmíněný speciální prvek.

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Filozofie třídy SIMSET Popsané pojetí cyklických kruhových seznamů obsahujících speciální prvek, který nebudeme počítat mezi vlastní členy seznamu budeme nazývat hlavou seznamu. Základní datová struktura – stejná jak pro prvky seznamu tak pro jeho hlavu, tj. odpovídající datový prototyp musí obsahovat dvě složky pro referenční odkazy na následníka a předchůdce v seznamu. Prefixační systém jazyka PC-SIMULA umožňuje, aby datové prototypy vlastních prvků seznamu a jeho hlavy byly kvalifikačně odlišné, tj. ke třídě základní datové struktury vytvoříme dvě podtřídy:  prototyp hlav seznamů  prototyp vlastních prvků seznamů

SIMULACE DISKRÉTNÍCH SYSTÉMŮ V třídě SIMSET je takové kvalifikační odlišení realizováno. základní datový prototyp – třída linkage o podtřída prototyp hlav seznamů – třída head o podtřída prototyp vlastních prvků seznamu – třída link linkage headlink

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Deklarace systémové třídy SIMSET : class Simset; begin class linkage begin ref (linkage) SUC, PRED; …. end; linkage class head; …; linkage class link; …; end ;

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Deklarace třídy linkage: - základní prototyp struktury řazené do kruhového dvousměrného seznamu class linkage; begin ref(linkage) SUC, PRED; ref(linkage) procedure suc; suc:-if SUC in link then SUC else none; ref(linkage) procedure pred; pred:-if PRED in link then PRED else none; ref(linkage) procedure prev; prev:- PRED; end ; - identifikátory složené z velkých písmen označují uživateli nedostupné veličiny

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Třída head: - prototyp hlavy seznamu, nerozšiřuje třídu linkage - z uživatelského hlediska je celý seznam reprezentován (zpřístupňován) právě hlavou. Procedury: procedure first – funkční hodnotou je odkaz na první položku v seznamu, pro prázný seznam nabývá hodnoty none procedure last – odkazuje na poslední položku seznamu, pro prázný seznam nabývá hodnoty none procedure empty – nabývá hodnoty true při prázdném seznamu procedure cardinal – funkční hodnotou je celé číslo udávající počet položek seznamu procedure clear – odstraňuje všechny položky ze seznamu

SIMULACE DISKRÉTNÍCH SYSTÉMŮ Třída link: - Prototyp exemplářů chápaných jako vlastní prvky spojového seznamu. Obsahuje pouze deklarace lokálních procedur – nerozšiřuje třídu linkage - pouze kvalifikační odlišení vlastních prvků spojového seznamu od jeho hlavy – rozdíl jen v obslužných procedurách Procedury: procedure out – odstraňuje položku ze seznamu procedure into(S) – zařazuje položku na konec seznamu procedure follow(X) – zařazuje položku do seznamu za objekt odkazovaný parametrem X procedure precede(X) – zařazuje položku do seznamu před objekt odkazovaný parametrem X