FELÜLET...13 PROJEKTTERV...14
|
|
- Zita Kovács
- 8 évvel ezelőtt
- Látták:
Átírás
1
2 1. FELADAT FELADATKITŰZÉS: PONTOSÍTÁS Térkép: Alkalmazott mesterséges intelligencia algoritmusok ALRENDSZERDIAGRAM OSZTÁLYOK GUI ALRENDSZER(GYURI) Osztálydiagram MainForm osztály GraphicPanel osztály STATE ALRENDSZER Osztálydiagram State osztály Car osztály CONTROLLER ALRENDSZER Osztálydiagram Statistics osztály Parameters osztály Map osztály Field osztály AI ALRENDSZER Osztálydiagram IDriver interfész HumanDriver osztály UniversalNeuralDriver osztály(gyuri) SpecializedNeuralDriver osztály RuleBasedDriver osztály CrossEntropy osztály ALGORITMUSOK LÁTÁS UNIVERZÁLIS VEZETŐ Vezetés Tanulás HIBRID VEZETŐ Vezetés Tanulás SZABÁLYALAPÚ VEZETŐ Vezetés Tanulás KEZELŐFELÜLET PROJEKTTERV MUNKAMEGOSZTÁS HATÁRIDŐK...14
3 1. Feladat A cél egy tanulást támogató szimulációs rendszer és tanuló algoritmusok implementálása Feladatkitűzés: Adott egy négyzethálós térkép, amin az egyik pontból el kell jutni egy másik pontba. A térkép minden négyzetéhez tartozik egy járhatóság érték. Ezen a térképen kell elvezetnie egy algoritmusnak egy járművet, úgy, hogy minél jobban az úton maradjon. Javasolt MI módszerek: genetikus algoritmusok, neurális hálók. Elkészítendő: moduláris felépítéssel GUI-s térkép generáló rész, jármű kinematika (kézzel vezetés), vezető algoritmus, vezetés megjelenítés Pontosítás Térkép: Külön térképszerkesztő alkalmazás nem készül, Microsoft Windows Bitmap állományokból generálunk térképeket. Kitüntetett pontok a start és a cél Alkalmazott mesterséges intelligencia algoritmusok A tanulást három különböző algoritmussal is megvalósítjuk, így lehetőség nyílik a hatékonyságok összehasonlítására. Implementálunk egy tisztán neurális felépítésű ágenst, egy specializált neurális ágenst és egy szabály alapú következtetést használót Alrendszerdiagram
4 2. Osztályok 2.1. GUI alrendszer Osztálydiagram
5 MainForm osztály Az osztály egyetlen objektuma a program vezérlését és megjelenítési műveleteit végzi. class MainForm private GraphiPanel mygraphicpanel; private State mystate; private Driver mydriver; private Parameters myparameters; //vezető választását segítő objektumok private ListViewItem driverselector; private Button driverselectedbutton; //főmenu private MenuBar MainMenu; //térkép betöltés, választás objektumai private Panel mapselectionpanel; private Button mapselectedbutton; //statisztika fileba mentését segítő objektumok private ListViewItem StatListView; private Button stattofilebutton; //a MI vezető indításá megállításához tartozó objektumok private Button startpausebutton; private Button stopbutton; ért //a térkép frissítésere szolgáló fgv public void GraphRefresh(Pos carpos, Angle carangle); //statisztika karbantartása public void StatRefresh(StatType s); //jelzés a programnak, felhasználónak, hogy az autó célba public void SetEnd(); //Inicialzáló fgvek public void InitDriverSelection(); public void InitMap(Map m); //futás alatt a nem szükséges formok letiltása public void SetAllFormState(bool l); //statisztika mentésa szöveges fájlba public void StatToFile();
6 GraphicPanel osztály A térkép és a járműgrafikus 2 dimenziós megjelenítéséért felelős osztály. class GraphicPanel private Panel mygraphicpanel; private Map mymap private mycarmodel //térkép frissítése public void RefreshMap(Pos carpos, Angel carangle); //térkép betöltése a képernyőre public void setmap(map mymap); //a grafikus megjelenítés alaphelyzetbe állítása public void ClearPanel(); //a panelre a térkép betöltése private void DrawMap(); //a jármű grafikájának betöltése private void DrawCar(); 2.2. State alrendszer Osztálydiagram
7 State osztály Az osztály feladata: a játék állapotának tárolása, illetve a fizikai szimuláció végrehajtása. static class State private Pair carposition; // az autó koordinátái (m) private Pair carvelocity; // az autó sebességvektora (m/ms) private double carorientation; // az autó orientációja (fok) private double throttle; // gáz- illetve fékállás ( ) private double wheel; // kormányállás ( ) public Pair CarPosition get return carposition; public double CarOrientation get return carorientation; public double Throttle get return throttle; set throttle=value; public double Wheel get return wheel; set wheel = value; public double CarSpeed get return carvelocity.abs()*3600.0; public void Simulate(double millisec); // a fizikai szimuláció elvégzése public void Reset(); // visszaállítás kezdőállapotba Car osztály Az autó fizikai jellemzőit, viselkedését tartalmazó osztály. class Car public Pair<double> WheelPosition(double orientation, int wheelnumber); // egy adott kerék pozícióját adja meg public Pair<double> Force(double throttle, double wheel); // az autó által kifejtett erőt adja meg
8 2.3. Controller alrendszer Osztálydiagram Statistics osztály A tanulás különböző fázisaiban mért köridők tárolására, lekérdezésére szolgál. Az ágensek slotokat igényelhetnek, melyekre később a köridőket küldhetik. A MainForm megfelelő metódusa képes grafikonok megjelenítésére, amivel elemezni lehet az ágensek fejlődését. public static class Statistics public void RequireSlot(IDriver owner) // slot igénylése public void SendLapTime(IDriver sender, double laptime) // köridő felvétele a listába public List<double> LapTimes(IDriver) // rögzített köridők lekérése private Dictionary<IDriver,List<double>> storeddata; // a slotot igényelt Idriverekhez köridők tárolása Parameters osztály Az osztály a konstansok file-ból való betöltésére, tárolására és lekérdezésére szolgál. Az univerzalitás miatt nem típusbiztos, a megfelelő konverziókat a felhasználás helyén kell végrehajtani. public static class Parameters public void LoadFromFile(String path) // a paraméterek betöltése a megadott file-ból public Object GetParameter(String key); // paraméter lekérdezése private Dictionary<String,Object> parameters; // paraméterek
9 Map osztály A map osztály kezeli a térképet. Gyakorlatilag egy számokból álló mátrix, melyben a számok egy-egy talajtípust jelentenek. Ezt a hozzárendelést egy Field típusú elemekből álló vektor hozza létre. class Map public int[,] fields; public int mapsize; public Pair startpos; public Pair finishpos; public double finishradius; Field osztály A talaj tulajdonságai összefüggenek, például az aszfaltos talaj nagy tapadást biztosít, viszonylag kis surlódást, magas sebességet. struct Field public Color color; // térképen megjelenő szín public double grip; // tapadás public double friction; // surlódás public double maxspeed; // elérhető legnagyobb sebesség public double penalty; // büntetőpont : mennyire jó, hogy ott haladunk
10 2.4. AI alrendszer Osztálydiagram IDriver interfész Univerzális interfész a különböző tanuló ágensek implementációihoz. interface IDriver void Init(); // kezdetekor inicializálás Pair<double> Think(); // következő lépés számítása, output: gáz és kormányállás HumanDriver osztály Az osztályobjektmának feladata, hogy a Mainformtól kapott inputot, a megfelelően lekezelje, és a State alrendszer objektumait a megfelelő állapotba állítsa. class HumanDriver public void InputHandler(char s); private
11 UniversalNeuralDriver osztály class UniversalNeuralDriver: IDriver public void Init(); // kezdetekor inicializálás public Pair<double> Think(); // következő lépés számítása, output: gáz és kormányállás private Matrix W; // neurális hálózat súlyozásai SpecializedNeuralDriver osztály class SpecializedNeuralDriver: IDriver public void Init(); // kezdetekor inicializálás public Pair<double> Think(); // következő lépés számítása, output: gáz és kormányállás private Matrix W; // neurális hálózat súlyozásai RuleBasedDriver osztály A szabályalapú következtetést használó ágens. class RuleBasedDriver: IDriver private Vector wheelparam; // a kormánykezelést megszabó paraméterek private Vector throttleparam; // a gázadást és fékezést megszabó paraméterek public void Init(); public Pair Think(); CrossEntropy osztály Az evolúciós algoritmust irányító osztály. class CrossEntropy private RuleBasedDriver[] agents; // a populáció ágensei private int agentsnum; // ágensek száma public void Learn(); // a tanulási folyamat elindítása public EvolAgent GetBestAgent(); // az előállított legügyesebb ágens
12 3. Algoritmusok 3.1. Látás A látás algoritmusa a specializált neurális és a szabály alapú ágens által használt metódus: a térképtől kapott mátrixot transzformálja. A térkép elküldi azt a részletét, amit éppen a vezető lát, viszont egy nekünk túl sok információ (lásd: Field). Ahogy az ember is értelmezi a látott kép alapján, hogy hol van az ideális út, és milyen ívet ír le, így a motiváció, hogy egy hasonló algoritmussal segítsük a beavatkozást és tanulást, illetve ezáltal tegyük még emberibbé ágenseinket. Két fázisból áll az algoritmus. 1. fázis: út széleinek megkeresése. Inputként megkapjuk a Map által szolgáltatott mátrixot, melyben az eljárásunk megkeresi az út széleit, és kimenetként ad egy bináris mátrixot. 2. fázis: az előző fázis outputja a bemenet, adott távolságonként elmetszük az utat egyenesekkel, és megjelöljük az út széleivel vett metszéspontokat. Outputban kiadjuk az ezen pontok közötti szakaszok felezőpontjait és az út szélétől vett távolságukat. Input: 3.2. Univerzális vezető Vezetés látómező sebesség kormányállás autó jelenlegi helyzete és állapota Output: sebesség kormányállás A neuronok elsősorban a látómezőt tanulják meg felismerni, másodsorban pedig a pályát. Az aktuális kép alapján mindig lokális döntések születnek, így adódank az első eredmények. Input: Tanulás előző kör eredménye látómező sebesség kormányállás autó jelenlegi helyzete és állapota Output: globális stratégiák A neuronháló lassan megtanulja a pályán lévő kanyarokat, így az aktuális és esetleg más pályákon is eredményes lehet.
13 3.3. Hibrid vezető Vezetés A látás algoritmus által generált kontrollpontokból és út szélétől vett távolságokból álló vektort kapják meg a neuronok inputként, majd az első réteg az egymás utáni pontok távolságvektorait adja tovább. Ezek és az út szélétől vett távolság alapján számolja ki az adott pillanatban optimálisan vélt gáz/fékpedál-, és kormányállást Tanulás Az aktuális pozíció és az előző n db döntés alapján módosítjuk a neurális háló súlyozását. Azt kell megtanulni, hogy a gáz/fékpedál állása a következő kontrollpontoktól (illetve az azok közti vektoroktól) milyen súllyal függ. Ha út szélén vagyunk -> nincs módosítás Ha úton vagyunk -> gázpedál növelés, ha nem lehet, kormányszög csökkentés Ha lecsúsztunk -> kormányszög növelés, ha nem lehet, gázpedál csökkentés 3.4. Szabályalapú vezető Vezetés Az ágens inputként a látómező látás algoritmussal feldolgozott adatait kapja meg, illetve a sebességet. Ezen inputok alapján alkalmazza a megfelelő szabályokat a kormányállás és a gázadás-fékezés output kiszámítására. p1 illetve p2 az ágens viselkedését meghatározó paraméterekt tartalmazó vektorok (az evolúció ezeken van értelmezve). Az input vektorból lineáris műveleteket használva számítja ki, mit tesz. Ha úton vagyunk -> k darab kontrollpont (a vektorban középtől való eltérés, k+1. komponens: sebesség) kormányállás: <a,p1> gázállás: <b,p2> (ahol b az a vektor, előjelek nélkül) Ha lecsúsztunk -> lassan megyünk az út felé Tanulás Cross-Entropy módszer. Első iterációban előállítunk n egyedet a paramétereket véletlenszerűen kiválasztva egyenletes eloszlás szerint. Kiválasztjuk a k legjobb egyedet (2-10 %), majd a következő iterációban ezek eredményességének megfelelően módosítjuk a véletlenszerű kiválasztás sűrűségfüggvényét. 4. Kezelőfelület A kezelőfelület igényesen kivitelezett, felhasználó-barát, és egyszerű lesz. Funkcionalitások: a térkép és a jármű 2D megjelenítése
14 statisztikák megjelenítése, az eddig megtett utakról és időeredményekről, továbbá ezek mentése szöveges fájlokba térkép betöltése, melyet bmp fileokból lehet generáltatni az Mi vezetők indítása, megállítása menükön keresztül elérhető egyéb funkciók Elrendezés: Előreláthatólag 2 részből fog állni a felület. A valódi grafika mellett megjelenítjük az autó állapot információit(sebesség, kormányállás, stb.). Egy másik panelen(sidebaron) pedig a már fent említett vezérlőfunkciók kapnak helyet. 5. Projektterv 5.1. Munkamegosztás Orosz György - GUI alrendszer, UniversalNeuralDriver osztály Vörös Gyula - State alrendszer, BaseRuledDriver osztály Zsiák Gergő Pál - Controller alrendszer, SpecializedNeuralDriver osztály 5.2. Határidők GUI, fizika olyan mértékben kész, hogy az ágenseket tesztelni lehessen prototípus kész program tesztelt program, dokumentáció
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Névterek és hatókörök Láthatósági szintek Osztály szintő tagok Beágyazott osztályok
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 1. rész Osztályok és objektumok Mezık és metódusok Konstruktor és destruktor Láthatósági szintek Névterek és hatókörök Osztály szintő tagok Beágyazott osztályok
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelık Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendı anyag vázlatát
RészletesebbenAdatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben
Adatbázis alapú rendszerek gyakorlat Adatbázis alapú alkalmazásfejlesztés Java, C# környezetben Java GUI készítése, Oracle kapcsolódás JDBC-vel A jelen anyagban egy egyszerűsített megközelítéssel vizsgáljuk
RészletesebbenTervminták a valósidejű gyakorlatban
Tervminták a valósidejű gyakorlatban Forrás Ezeknek a diáknak a forrása a Game Programming Patterns című könyv Online elérhető a szerző oldaláról: http://gameprogrammingpatterns.com/contents.htm Game Loop
RészletesebbenWebes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)
Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 8. előadás (ASP.NET WebAPI) 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto A webszolgáltatás
Részletesebben117. AA Megoldó Alfréd AA 117.
Programozás alapjai 2. (inf.) pót-pótzárthelyi 2011.05.26. gyak. hiányzás: kzhpont: MEG123 IB.028/117. NZH:0 PZH:n Minden beadandó megoldását a feladatlapra, a feladat után írja! A megoldások során feltételezheti,
RészletesebbenEmlékeztető: a fordítás lépései. Szimbólumtábla-kezelés. Információáramlás. Információáramlás. Információáramlás.
Emlékeztető: a fordítás lépései Forrás-kezelő (source handler) Szimbólumtábla-kezelés Fordítóprogramok előadás (A, C, T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus elemző
RészletesebbenJAVA PROGRAMOZÁS 3.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 3.ELŐADÁS 2014-2015 tavasz Polimorfizmus, absztrakt osztályok, interfészek 2 Példa - Hengerprogram 3 Példa - Hengerprogram 4 Példa - Hengerprogram
RészletesebbenProgramozás 5. Dr. Iványi Péter
Programozás 5. Dr. Iványi Péter 1 Struktúra Véges számú különböző típusú, logikailag összetartozó változó együttese, amelyeket az egyszerű kezelhetőség érdekében gyűjtünk össze. Rekord-nak felel meg struct
RészletesebbenGrafikus felhasználói felületek. Abstract Window Toolkit, a java.awt és java.awt.event csomagok
Grafikus felhasználói felületek készítése és eseménykezelés Java-ban Abstract Window Toolkit, a java.awt és java.awt.event csomagok Abstract Window Toolkit Absztraktizálás: az osztályok és funkcionalitások
RészletesebbenC# osztályok. Krizsán Zoltán
C# osztályok Krizsán Zoltán Fogalma Önálló hatáskőrrel rendelkező, absztrakt adattípus, amely több, különböző elemet tartalmazhat. Minden esetben a heap-en jön létre! A programozó hozza létre, de a GC
RészletesebbenFejlett programozási nyelvek C++ Iterátorok
Fejlett programozási nyelvek C++ Iterátorok 10. előadás Antal Margit 2009 slide 1 Témakörök I. Bevezetés II. Iterátor definíció III. Iterátorok jellemzői IV. Iterátorkategóriák V. Iterátor adapterek slide
RészletesebbenSTL. Algoritmus. Iterátor. Tároló. Elsődleges komponensek: Tárolók Algoritmusok Bejárók
STL Elsődleges komponensek: Tárolók Algoritmusok Bejárók Másodlagos komponensek: Függvény objektumok Adapterek Allokátorok (helyfoglalók) Tulajdonságok Tárolók: Vektor (vector) Lista (list) Halmaz (set)
RészletesebbenObjektumorientált programozás C# nyelven III.
Objektumorientált programozás C# nyelven III. Kivételkezelés Tulajdonságok Feladatok Készítette: Miklós Árpád Dr. Kotsis Domokos Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és
RészletesebbenCollections. Összetett adatstruktúrák
Collections Összetett adatstruktúrák Collections framework Előregyártott interface-ek és osztályok a leggyakoribb összetett adatszerkezetek megvalósítására Legtöbbször módosítás nélkül használhatók Időt,
RészletesebbenJava programozási nyelv 8. rész Grafikus felhasználói felület
Java programozási nyelv 8. rész Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17
RészletesebbenOOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek középszint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
RészletesebbenA Microsoft Visual Studio 2005 fejlesztőkörnyezet
Vizuális és eseményvezérelt programozás BMF NIK A Microsoft Visual Studio 2005 fejlesztőkörnyezet Az integrált fejlesztőkörnyezet (IDE) alapelemei Projektek és megoldások Új projekt indítása, projektek
Részletesebben3. gyakorlat Saját adatok használata
3. gyakorlat Saját adatok használata Ebben a gyakorlatban megismerkedünk az ESRI coverage adattípussal hazai adatok példáján. Újabb megjelenítési módok alkalmazásával létrehozunk egy térképet saját térségünkrıl.
RészletesebbenJava VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07.
Java VI. Öröklődés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 03. 07. Java VI.: Öröklődés JAVA6 / 1 Egy kis kitérő: az UML UML: Unified Modelling Language Grafikus eszköz objektum
RészletesebbenProgramozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.
Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. február 25. Osztályok C++ osztályok Bevezetés Objektum-orientáltság
RészletesebbenAccess adatbázis elérése OLE DB-n keresztül
Access adatbázis elérése OLE DB-n keresztül Készítsünk egy grafikus felülető alkalmazást, ami lehetıvé teszi egy Access adatbázisban tárolt hallgatói adatok (EHA, Név, e-mail cím) lekérdezését (összes
RészletesebbenGrafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák.
AWT Grafika Bevezető Grafikus felületek a programozó szempontjából grafikus elemek absztrakt reprezentációja az egyes elemek tulajdonságait leíró adatstruktúrák. Fogalmak: geometriai alakzatok, felületek,
RészletesebbenSzámítógépes grafika
Számítógépes grafika XVII. rész A grafikai modellezés A modellezés A generatív számítógépes grafikában és a képfeldolgozás során nem a valódi objektumokat (valóságbeli tárgyakat), hanem azok egy modelljét
RészletesebbenJava programozási nyelv 7. rész Java osztálykönyvtár 1.
Java programozási nyelv 7. rész Java osztálykönyvtár 1. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. október A Java programozási nyelv Soós Sándor 1/20 Tartalomjegyzék
RészletesebbenINFORMATIKAI ALAPISMERETEK
Informatikai alapismeretek emelt szint 1021 ÉRETTSÉGI VIZSGA 2011. május 13. INFORMATIKAI ALAPISMERETEK EMELT SZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ NEMZETI ERŐFORRÁS MINISZTÉRIUM
RészletesebbenBevezetés a Programozásba II 11. előadás. Adatszerkezetek megvalósítása. Adatszerkezetek megvalósítása Adatszerkezetek
Pázmány Péter Katolikus Egyetem Információs Technológiai és Bionikai Kar Bevezetés a Programozásba II 11. előadás 2014.05.12. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Adatszerkezetek
RészletesebbenOsztály és objektum fogalma
Osztály és objektum fogalma A C++ programozási nyelv I. CPP1/ 1 Az osztály (class) class: adatok és módszerek (method) (függvények) együttese, amely absztrakt adattípusként működik. objektum: egy osztály
RészletesebbenKalapácsvetés 2016 szöveges
Kalapácsvetés 2016 Ebben a feladatban a 2016. évi nyári olimpiai játékokon az atlétika férfi kalapácsvetés döntőjének eredményeit kell feldolgoznia. A döntő 6 dobási sorozatból állt, de a 3. sorozat után
RészletesebbenTARTÓK STATIKÁJA I. Statikai modell felvétele és megoldása a ConSteel szoftver segítségével (alkalmazási segédlet)
Statikai modell felvétele és megoldása a ConSteel szoftver segítségével (alkalmazási segédlet) 1. A program telepítése A ConSteel program telepítő fájlja a www.consteelsoftware.com oldalról tölthető le
RészletesebbenC++ Standard Template Library (STL)
Programozási Nyelvek és Fordítóprogramok Tanszék Programozási Nyelvek I. Témák 1 STL alapok 2 STL fogalmak 3 Konténerek 4 Iterátorok 5 Funktorok C++ STL Ne fedezzük fel újra spanyolviaszt! Sok adatszerkezet/algoritmus
RészletesebbenPHP5 Új generáció (2. rész)
PHP5 Új generáció (2. rész)...avagy hogyan használjuk okosan az osztályokat és objektumokat PHP 5-ben. Cikksorozatom elõzõ részében képet kaphattunk arról, hogy valójában mik is azok az objektumok, milyen
RészletesebbenTartalomjegyzék. Bevezetés...2
Tartalomjegyzék Bevezetés...2 1. Követelmény analízis...3 1.1. Áttekintés...3 1.2. Használati eset diagram (use case)...3 1.3. Alkalmazási példa...5 2. Modellezés...6 2.1. Osztálydiagram...6 2.2. Osztályok
RészletesebbenKétdimenziós rajzolás WPF-ben
Kétdimenziós rajzolás WPF-ben A grafikus megjelenítés módjai WPF-ben: System.Windows.Shapes névtér osztályaival magas szintű, rengeteg metódus, tulajdonságok, eseménykezelés, input kezelés (egér, billentyűzet)
RészletesebbenBevezetés a programozásba 2
Bevezetés a programozásba 2 7. Előadás: STL konténerek, sablonok http://digitus.itk.ppke.hu/~flugi/ Vector int int main() { vector v(10); int int sum=0; for for (int i=0;i
RészletesebbenProgramozás II. labor
Programozás II. labor 1. rész Programozási tételek Öröklődés Interfészek Eseménykezelés Kivételkezelés Visszalépéses keresés Programozás II. Programozási tételek OOP alapok ismétlése Öröklődés Öröklődés
RészletesebbenInformatikai Kar. 3. fejezet. alapismeretek. Giachetta Roberto
Informatikai Kar 3. fejezet alapismeretek Giachetta Roberto Actually I made up the term 'Object-Oriented', and I can tell you I did not have C++ in mind. (Alan Kay) adottak) 3:3 Feladat: Stack) adatszerkezetet
RészletesebbenMVC. Model View Controller
MVC Model View Controller Szoftver fejlesztés régen Console-based alkalmazások Pure HTML weboldalak Assembly, C Tipikusan kevés fejlesztő (Johm Carmack Wolfenstein, Doom, Quake..) Szűkös erőforrások optimális
RészletesebbenA DERIVE kezelése. 1. A DERIVE ablaka. Amikor elindítod a DERIVE-ot ez az ablak jelenik meg:
A DERIVE kezelése A számítógépes DERIVE (CAS DERIVE) algebrai rendszer-t gyakran matematikai asszisztens-nek is nevezik. Ez egy hatékony és könnyen használható programcsomag amely bizonyos típusú matematikai
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 2. ELŐADÁS - C# ÁTTEKINTÉS - 2 2015 Bánsághi Anna 1 of 64 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 64
RészletesebbenA 2014-es kompetenciamérés eredményei. Országosan a 10. évfolyamon 78815 tanuló írta meg a felmérést.
A 2014-es kompetenciamérés eredményei Országosan a 10. évfolyamon 78815 tanuló írta meg a felmérést. Az országos átlag 2014-ben matematikából 1631 pont, szövegértésből 1597 pont. Az alábbi grafikon azt
RészletesebbenVISUAL BASIC ALAPISMERETEK
11. Grafika VISUAL BASIC ALAPISMERETEK 11. Gyakorlat témaköre: Kiválasztógomb (Option Button) és a jelölőnégyzet (CheckBox) használata Kör, ellipszis (Circle) rajzolása. Circle (X, Y), Sugár, QBColor(Szín),
RészletesebbenSzármaztatási mechanizmus a C++ nyelvben
Származtatási mechanizmus a C++ nyelvben Miskolci Egyetem Általános Informatikai Tanszék CPP2 / 1 Az öröklődés s fogalma 1. Egy osztály deklarálható valamely más osztály(ok) leszármazottjaként. Az deklaráció
RészletesebbenKomponens modellek. 3. Előadás (első fele)
Komponens modellek 3. Előadás (első fele) A komponens modellek feladata Támogassa a szoftverrendszerek felépítését különböző funkcionális, logikai komponensekből, amelyek a számítógépes hálózatban különböző
RészletesebbenModern unit és integrációs tesztelés
Modern unit és integrációs tesztelés HOUG Orákulum - 2016. április Viczián István Java fejlesztő - IP Systems @vicziani at Twitter http://jtechlog.hu Miről lesz szó? 1 / 26 Automatizált tesztelés fontossága
RészletesebbenJava felhasználói felület
Java felhasználói felület Alapfogalmak Komponens alapok Elek Tibor GUI-val kapcsolatos fogalmak Eseményvezérelt program Program futás: - induló állapot (induló UI) megjelenítése, - eseménykezelő végtelen
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net
ESEMÉNYVEZÉRELT PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - C# ÁTTEKINTÉS - 1 2015 Bánsághi Anna 1 of 84 TEMATIKA I. C# ÁTTEKINTÉS II. WPF III. Modern UI 2015 Bánsághi Anna 2 of 84
RészletesebbenMinden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is.
TARTALOM 2 Minden jog fenntartva, beleértve bárminemű sokszorosítás, másolás és közlés jogát is. Kiadja a Mercator Stúdió Felelős kiadó a Mercator Stúdió vezetője Lektor: Gál Veronika Szerkesztő: Pétery
RészletesebbenA csõdelõrejelzés és a nem fizetési valószínûség számításának módszertani kérdéseirõl
MÛHELY Közgazdasági Szemle, LV. évf., 2008. május (441 461. o.) KRISTÓF TAMÁS A csõdelõrejelzés és a nem fizetési valószínûség számításának módszertani kérdéseirõl A Bázel 2 tõkeegyezmény magyarországi
RészletesebbenProgramozás. C++ osztályok. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.
Programozás C++ osztályok Fodor Attila Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék foa@almos.vein.hu 2010. április 8. Csak bázisosztályként használt/értelmezhető
RészletesebbenMATEMATIKA TAGOZAT 5-8. BEVEZETŐ. 5. évfolyam
BEVEZETŐ Ez a helyi tanterv a kerettanterv Emelet matematika A változata alapján készült. Az emelt oktatás során olyan tanulóknak kívánunk magasabb szintű ismerteket nyújtani, akik matematikából átlag
RészletesebbenProgramozás I. Metódusok C#-ban Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Tömbök a C#-ban Metódusok C#-ban Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Szoftvertechnológia
RészletesebbenOAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1.
OAF Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat Szimuláljuk különféle élőlények túlélési versenyét. A lények egy pályán haladnak végig, ahol váltakozó viszonyok vannak. Egy lénynek
RészletesebbenProgramozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia
Öröklés ism. Programozás alapjai II. (9. ea) C++ többszörös öröklés, cast, perzisztencia Szeberényi Imre BME IIT Egy osztályból olyan újabb osztályokat származtatunk, amelyek rendelkeznek
RészletesebbenREAL DRONE SIMULATOR PRE-ALPHA VErzió
REAL DRONE SIMULATOR PRE-ALPHA VErzió BEVEZETŐ A Real Drone Simulator egy valósághű multikopter szimulátor, amely segít embereknek megtanulni és kifejleszteni a távirányítású légijárművet irányító képességét.
RészletesebbenGenerikus Típusok, Kollekciók
Generikus Típusok, Kollekciók Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Generikus Típusok, Kollekciók 2013 1 / 26 Tartalomjegyzék 1 Enumeráció 2 Generikus Típusok 3 Kollekciók System.Collections
RészletesebbenBME MOGI Gépészeti informatika 7.
BME MOGI Gépészeti informatika 7. 1. feladat Írjon Windows Forms alkalmazást egy kör és egy pont kölcsönös helyzetének vizsgálatára! A feladat megoldásához hozza létre a következő osztályokat! Pont osztály:
Részletesebbeneseményvezérelt megoldások Vizuális programozás 5. előadás
Programozási architektúrák, eseményvezérelt megoldások Vizuális programozás 5. előadás Komponens-alapú programozás Kezdelteges formája, az első komponensek: DLL-ek Black box ujrahasznosítható kód Függvényeket
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 8. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 8. előadás Visszatekintés A Windows Console alkalmazások egy karakteres képernyőt biztosítottak, ahol a kimenet a kiírt szöveg, míg a bemenet a billentyűzet volt.
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 4. Előadás Dr. Bécsi Tamás A RadioButton komponens Tulajdonságok: bool Checked Állapotjelző két állapot esetén: (true: bejelölve,false: nem bejelölve) Események: Esemény
RészletesebbenAlap számológép alkalmazás
Első Androidos programom - Egyszerű műveleteket használó számológép elkészítése Android Developer Tools (ADT) segítségével Alap számológép alkalmazás Android programfejlesztés Tompos Szabolcs Tartalom
RészletesebbenJOGSZABÁLY. LI. ÉVFOLYAM, 15. SZÁM Ára: 693 Ft 2007. JÚNIUS 5. TARTALOM. 1. (1) A rendelet hatálya fenntartótól függetlenül
LI. ÉVFOLYAM, 15. SZÁM Ára: 693 Ft 2007. JÚNIUS 5. oldal JOGSZABÁLY 24/2007. (IV. 2.) OKM rendelet a közoktatás minõségbiztosításáról és minõségfejlesztésérõl szóló 3/2002. (II. 15.) OM rendelet módosításáról...
RészletesebbenSZAKDOLGOZAT. Kiss Albert
SZAKDOLGOZAT Kiss Albert Debrecen 2009 Debreceni Egyetem Informatikai Kar A VIZUÁLIS PROGRAMOZÁS TANÍTÁSA A DEBRECENI MECHWART ANDRÁS GÉPIPARI ÉS INFORMATIKAI SZAKKÖZÉPISKOLÁBAN Témavezető: Nyakóné dr.
RészletesebbenElőzmények 2011.10.23.
Előzmények Dr. Mileff Péter A 80-as évek közepétől a szoftverek komplexitása egyre növekszik. Megjelentek az OO nyelvek. Az OO fejlesztési módszerek a rendszer különböző nézőpontú modelljeit készítik el.
RészletesebbenTERMELÉSTERVEZÉS A VISSZUTAS LOGISZTIKÁBAN
GRIM Tímea DOBOS Imre TERMELÉSTERVEZÉS A VISSZUTAS LOGISZTIKÁBAN A dolgozat az újrafelhasználás termeléstervezésbe történô integrálását elemzi A nemzetközi kutatások is gyermekcipôben járnak még ezen a
RészletesebbenGrafikus felületek készítése 1.
Grafikus felületek készítése 1. SWT Budapes( Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Grafikus felületek fejlesztése Java grafikus toolkitek o AWT Na>v widgetek
RészletesebbenMatematika emelt szint a 11-12.évfolyam számára
Német Nemzetiségi Gimnázium és Kollégium Budapest Helyi tanterv Matematika emelt szint a 11-12.évfolyam számára 1 Emelt szintű matematika 11 12. évfolyam Ez a szakasz az érettségire felkészítés időszaka
RészletesebbenPHP II. WEB technológiák. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19
PHP II. WEB technológiák Tóth Zsolt Miskolci Egyetem 2014 Tóth Zsolt (Miskolci Egyetem) PHP II. 2014 1 / 19 Tartalomjegyzék Objektum Orientált Programozás 1 Objektum Orientált Programozás Öröklődés 2 Fájlkezelés
Részletesebben2011.11.29. JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése
Tartalom Integrált fejlesztés Java platformon JUnit JUnit használata Tesztelési technikák Demo 2 A specifikáció alapján teszteljük a program egyes részeit, klasszikus V-modell szerint Minden olyan metódust,
Részletesebben4. Öröklődés. Programozás II
4. Öröklődés Programozás II Mielőtt belevágunk Egy Tárgy típusú objektumokat tároló tömb i. elemében tároljunk el egy új tárgyat Rossz módszer: tomb[i].setnev( uj.getnev() ); tomb[i].setertek( uj.getertek()
RészletesebbenJava bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o
Miért Java? széleskörben elterjedt Micro Edition - beágyazott rendszerek, régi telefonok Standard Edition - PC, android ezen alapul Enterprise Edition - vállalati programok, web service-ek multiplatform
RészletesebbenEseményvezérelt alkalmazások fejlesztése II. A.NET keretrendszer és a C# programozási nyelv. Objektumorientált programozási nyelvek A Smalltalk nyelv
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése II A.NET keretrendszer és a C# programozási nyelv Objektumorientált programozási nyelvek A Smalltalk nyelv 1980-ban
RészletesebbenTartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés
Tartalom D Szoftvertechnológia elıadás Architektúra D vs CORBA Példá 2 1987 Dynamic Data Exchange (DDE) Windows 2.0-ban Windows alkalmazások közötti adatcsere Ma is használatos (pl. vágólap) NetDDE NetBIOS
RészletesebbenOBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek
OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN vizsgatételek 1. Az objektumorientált programozás szemlélete, az objektum fogalma 2. Az objektumorientált programozás alapelvei 3. A Java nyelv története, alapvető
RészletesebbenC#, OOP. Osztályok tervezése C#-ban
C#, OOP Osztályok tervezése C#-ban OOP Létrehozás (creating) Megszüntetés (destroying) Túlterhelés (overlading) Felsorolás típus (enumerated types) 2 Hajó osztály Sailboat class using System; class Sailboat
RészletesebbenSzéchenyi István Egyetem www.sze.hu/~herno
Oldal: 1/6 A feladat során megismerkedünk a C# és a LabVIEW összekapcsolásának egy lehetőségével, pontosabban nagyon egyszerű C#- ban írt kódból fordítunk DLL-t, amit meghívunk LabVIEW-ból. Az eljárás
RészletesebbenArcGIS 8.3 segédlet 6. Dr. Iványi Péter
ArcGIS 8.3 segédlet 6. Dr. Iványi Péter Tartalomjegyzék Ami kimaradt és kevésbé fontos dolgok Teljesen új adattábla létrehozása Bitmap adatok kezelése Szerkesztés bitmap képről Térképek terjesztése Teljesen
RészletesebbenRIA Rich Internet Application
Áttekintés RIA Rich Internet Application Komplex felhasználói felülettel rendelkező web-alkalmazások Bevezető Flex áttekintés ActionScript Felhasználói felület tervezése Események Szerver oldali szolgáltatásokkal
RészletesebbenJava Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor
Java Programozás 4. Gy: Java GUI Tipper, MVC kalkulátor 15/1 B ITv: MAN 2018.03.10 1. Feladat: Tipper Készítsük el a tippelős programunk grafikus változatát. Az üzleti logika kódja megvan, a felület pedig
Részletesebbenrendszerszemlélető, adatközpontú funkcionális
http://vigzoltan.hu rendszerszemlélető, adatközpontú funkcionális Integrált Vállalatirányítási Rendszerek Alkalmazói fejlesztések mindig valamilyen módszertan alapján történnek. A módszertan eljárások,
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 2. Előadás Dr. Bécsi Tamás Tömbök (Arrays) Definíció: típus[] név; (pld. int[] szamok; ) Inicializálás: int[] szamok = new int[4]; int[] szamok = 1,2,4,3,5}; int[] szamok
RészletesebbenEgy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül.
Eötvös Lóránt Tudományegyetem Informatikai kar Egy dinamikus adatbázis megvalósítása egy megrendelő-raktározó alkalmazáson keresztül. szerző: Nemes András Programtervező Informatikus nappali tagozat. témavezető:
RészletesebbenZH mintapélda. Feladat. Felület
ZH mintapélda Feladat Írjon Java alkalmazást, amely képes hallgatók rekordjaittárolni és azokat különbözo rendezo kulcsok szerint sorba rendezni. A program grafikus felhasználói felületén keresztül új
RészletesebbenElemi alkalmazások fejlesztése IV. Adatbázis-kezelés ActiveX vezérlıkkel - 1
ADATBÁZIS-KEZELÉS ACTIVEX VEZÉRLİK ALKALMAZÁSÁVAL I.... 1 ACTIVEX... 1 ACTIVEX CONTROL... 1 SAJÁT ACTIVEX VEZÉRLİ LÉTREHOZÁSA... 1 circctrl.cpp... 2 Háttérszín tulajdonság hozzárendelése a vezérlıhöz...
RészletesebbenINFORMÁCIÓS- ÉS VEZÉRLŐSZOFTVER A SZÁMÍTÓGÉP-KOMPATIBILIS FUNKCIÓVAL BÍRÓ VÉRNYOMÁSMÉRŐKHÖZ
HASZNÁLATI ÚTMUTATÓ INFORMÁCIÓS- ÉS VEZÉRLŐSZOFTVER A SZÁMÍTÓGÉP-KOMPATIBILIS FUNKCIÓVAL BÍRÓ VÉRNYOMÁSMÉRŐKHÖZ TÍPUSOK: BP-410R/U, BP-600R/U(J), BP-600RB/UB(J), BP-700 sorozat, AK-3000T, AK-4000T/TU,
RészletesebbenPageRank algoritmus Hubs and Authorities. Adatbányászat. Webbányászat PageRank, Hubs and Authorities. Szegedi Tudományegyetem.
Webbányászat PageRank, Szegedi Tudományegyetem Miért akarjuk rangsorolni a Weboldalakat? Mert tudásra szomjazunk Mert a Google-nak megéri. Pontosan hogy is? Mert állatorvost keresünk, pizzázni akarunk,
RészletesebbenVB C++ C# JScript J# Common Language Specification. ADO.NET and XML. Base Class Library. Common Language Runtime. Operating System
P r o g r a m o z á s i n y e l v e k I I. C # E jegyzet másolata nem használható fel szabadon,az előadás anyagának kivonata. Ezen teljes jegyzetről,vagy annak bármely részéről bármely másolat készítéséhez
RészletesebbenVizuális, eseményvezérelt programozás I.
Vizuális, eseményvezérelt programozás I. Visual Studio ismétlés Grafikus felület tervezése Vezérlők alapvető tulajdonságai, metódusai, eseményei Hibakezelés V 1.0 1 Hallgatói tájékoztató A jelen bemutatóban
Részletesebben3. Gyakorlat Ismerkedés a Java nyelvvel
3. Gyakorlat Ismerkedés a Java nyelvvel Parancssori argumentumok Minden Java programnak adhatunk indításkor paraméterek, ezeket a program egy tömbben tárolja. public static void main( String[] args ) Az
RészletesebbenProgramozási nyelvek II.: JAVA
Programozási nyelvek II.: JAVA 13. gyakorlat 2017. december 11-15. 13. gyakorlat Programozási nyelvek II.: JAVA 1 / 32 Az 13. gyakorlat tematikája Generikus típusokés öröklődés Clone Comparator Névtelen
RészletesebbenEllenőrzés. Értékelés. ELŐADÁS ÁTTEKINTÉSE monitoring
Ellenőrzés Monitoring Értékelés ELŐADÁS ÁTTEKINTÉSE monitoring IT PROJEKT TÉNYEK Az informatikai projektek 25%-a készül el határidőre, a követelményeknek megfelelően, a tervezett keretösszegen belül maradva.
RészletesebbenC++ programozási nyelv
C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. november A C++ programozási nyelv Soós Sándor 1/17 Tartalomjegyzék Házi
RészletesebbenI. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek, a halmazelmélet elemei, a logika elemei. 1. Számfogalom, műveletek (4 óra)
MATEMATIKA NYEK-humán tanterv Matematika előkészítő év Óraszám: 36 óra Tanítási ciklus 1 óra / 1 hét Részletes felsorolás A tananyag felosztása: I. Gondolkodási módszerek: (6 óra) 1. Gondolkodási módszerek,
RészletesebbenOsztályok. 4. gyakorlat
Osztályok 4. gyakorlat Az osztály fogalma Az objektumok formai leírása, melyek azonos tulajdonsággal és operációkkal rendelkeznek. Osztályból objektum készítését példányosításnak nevezzük. Minden objektum
RészletesebbenBÁN JÓZSEF FERTİSZÉPLAK SZÉKESFEHÉRVÁR - BUDAPEST. Termelésirányítási és Kereskedelmi Rendszer. VISZK Bt. Székesfehérvár
BÁN JÓZSEF FERTİSZÉPLAK SZÉKESFEHÉRVÁR - BUDAPEST TKR Termelésirányítási és Kereskedelmi Rendszer VISZK Bt. Székesfehérvár TKR - Jelentısebb referenciák ( 2001 ) Bán József Kiadva : 2003. október BÁN JÓZSEF
RészletesebbenInformatikai Diákköri Kutatások. Szemináriumi Füzetek. Széchenyi István Egyetem. Műszaki Tudományi Kar. 1. évfolyam 1. szám 2004.
A fejlődés ellen nincs gyógymód vallotta Neumann János fél évszázaddal ezelőtt. Az idő őt igazolta. Az elmúlt évtizedek eredményei, a tudományos teljesítmények arra sarkallnak bennünket, hogy aktív részesei
RészletesebbenÍ Á Á É ö ö ö ö ö ű ü ö ű ű ű ö ö ö ü ö ü í ü í í í ü í ü Á ü ö ö ü ö ü ö ö ü ö í ö ö ü ö ü í ö ü ű ö ü ö ü í ö í ö ű ű ö ö ú ö ü ö ű ű ű í ö ű í ű ö ű ü ö í ű í í ö í ö ö Ó Í ö ű ű ű ű í í ű ű í í Ü ö
Részletesebben