Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Koordinace integrovaného záchranného systému. Použité datové struktury.

Podobné prezentace


Prezentace na téma: "Koordinace integrovaného záchranného systému. Použité datové struktury."— Transkript prezentace:

1 Koordinace integrovaného záchranného systému

2 Použité datové struktury

3 Mapa města Reprezentace jako graf křižovatky jsou uzly, ulice jsou hrany Uzel – rekord seznam sousedů U každého i vzdálenost v BČJ seznam bloků

4 Blok ukazatelé na křižovatky, Každé centrum svou informaci čas na uhašení, čas na zachránění živých, poslední aktualizace (policisté mají něco jiného)

5 Událost V klasickém slova smyslu Co vše je událost Centrum vydá nebo přijme příkaz Jednotka se hodlá přesunout, provádí akci, mluví s centrem.

6 Datová reprezentace kalendáře Kalendář je seznam událostí Globální proměnná čas – integer Seznam Položka obsahuje: Kdy– integer Kdo– pointer na aktéra Co – událost

7 Aktér Akter je abstraktní třída jak nad centrem tak nad jednotkami Kvůli ukazování na jednotlivé Aktéry v kalendáři. Obsahuje virtuální metody ZpracujUdalost a NaplanujUdalost

8 Datová reprezentace centra Vysílačka (integer) – čas, kdy je vysílačka volná Seznam událostí k vyřízení Obsahuje náročnost problému, pointer na místo, kde je problém Seznam jednotek Ukazatele na jednotky Specializovaná mapa města

9 Datová reprezentace komanda Komando je skupina záchranářů, hasičů nebo policistů. Pozice Počet členů Stav Kdy budu volné – integer

10 Jdeme na algoritmizaci Počítač pouze řeší problémy, které by bez něj vůbec neexistovaly.

11 Nejkratší cesta Pokud centrum někomu zadá kam a kudy má jít. Dijkstrův algoritmus

12 Co dělá skupina, když nemá co dělat? Jednotku kompletně řídí centrum. Nastane jen když centrum nemá nahlášený problém (např. na počátku akce). V takovém případě jednotka prohledává dosud neprozkoumanou oblast a centru hlásí výsledky zkoumání.

13 Jak jednotka prohledává? Jednotky se snaží napodobit prohledávání do šířky: Centrum najde nejbližší neprozkoumanou křižovatku (blok) a přidělí ji jednotce k prozkoumání. Po prozkoumání se jednotka naplánuje na vysílání centru.

14 Pascal Kolik jazyků znáš tolikrát jsi počítačem

15 Mapa PUzel = ^ TUzel; TUzel = record; SeznamSousedu : PSeznam1; SeznamBloku : PSeznam2; end; TMapa = PUzel;

16 Blok PBlok = ^ TBlok; TBlok = record SeznamKrizovatek : PSeznam1; PozadovanaHodnota: Integer; {Lisi se dle centra} PosledniAktualizace: Integer; end;

17 Kalendář PPolozka = ^TPolozka TPolozka = record Kdo : TAkter; /CHCIP Kdy : Integer; Co : TUdalost end; PKalendar = PPolozka;

18 Některé procedury pro kalendář Procedure NaplanujUdalost(Udalost:TUdalost, Akter:PAkter; Cas:Integer) Zatridi do seznamu udalost... Kdo:=Akter;Kdy:=Cas;Co:=Udalost... Procedure VykonejUdalosti; begin while TKalendar.kdy= CAS do begin Kdo^.ZpracujUdalost(Udalost); OdeberCeloKalendare; end;

19 Centrum PCentrum = ^TCentrum TCentrum = Object(TAkter) Mapa:TMapa; VolnaVysilacka:Integer; Seznam Jednotek Seznam Problemu; SeznamCekajicichNaHovor ReagujNaUdalost, NajdiNejkratsiCestu end;

20 Procedury pro Centrum Procedure ReagujnaUdalost; case Udalost of PrijemNebezpeci: PrijemKontrola: PrijemKonecUkolu; PrijemNajdiNovouCestu Zadani: end;


Stáhnout ppt "Koordinace integrovaného záchranného systému. Použité datové struktury."

Podobné prezentace


Reklamy Google