KERESŐALGORITMUSOK OBJEKTUMORIENTÁLT IMPLEMENTÁCIÓJA A MESTERSÉGES INTELLIGENCIA TÁRGY GYAKORLATI KURZUSAIN
|
|
- Orsolya Farkas
- 7 évvel ezelőtt
- Látták:
Átírás
1 KERESŐALGORITMUSOK OBJEKTUMORIENTÁLT IMPLEMENTÁCIÓJA A MESTERSÉGES INTELLIGENCIA TÁRGY GYAKORLATI KURZUSAIN OBJECT-ORIENTED IMPLEMENTATION OF SEARCH ALGORITHMS AT THE INTRODUCTORY COURSE OF ARTIFICIAL INTELLIGENCE Kósa Márk, Pánovics János Debreceni Egyetem, Informatikai Kar, Információ Technológia Tanszék Összefoglaló Az elmúlt években a hallgatói létszám gyors emelkedésének következtében szükségessé vált az egyetemünkön 1989 óta oktatott Mesterséges intelligencia bevezető kurzushoz kapcsolódó gyakorlatok tematikájának, követelmény rendszerének és számonkérési módjának az áttekintése, újragondolása. Az elmúlt öt év során sikerült kialakítani egy hatékony, a tényleges gyakorlati feladatmegoldáson alapuló számonkérési rendszert, melynek során a problémák számítógéppel támogatott dokumentálását és megoldását kérjük hallgatóinktól. Igazodva a korszerű informatika által támasztott követelményekhez, a hallgatóktól ma már valamilyen objektumorientált programozási nyelven várjuk ezeket a megoldásokat. Előadásunkban ismertetjük a kurzus gyakorlatainak oktatásával kapcsolatos tapasztalatainkat, és bemutatunk egy olyan Java osztályhierarchiát, amely megkönnyíti a tárgy előadásain ismeretett algoritmusok működésének megértését, és segíti hallgatóink vizsgára történő felkészülését. Az osztályhierarchia két fő részből áll: az állapottér-reprezentáció komponenseinek absztrakt elemeiből, valamint a reprezentációs gráfok csúcsainak reprezentációjából és a keresőalgoritmusok vezérlőinek implementációjából. Kulcsszavak Mesterséges intelligencia, állapottér-reprezentáció, keresőalgoritmusok, objektumorientált programozás, osztálydiagram. Abstract Due to an increase in the number of students of the last few years, it became necessary to review the topics, requirements and the way of examination in the practical lessons of the introductory course of Artificial Intelligence at the University of Debrecen. In the last five years, we managed to create an efficient examination system that is based on actual practical problem solving, i.e. documenting and solving problems using computers. In accordance with the demands of modern informatics, we require students to make these solutions using an object-oriented programming language. In this paper we present a possible object-oriented approach to implement search algorithms discussed at the seminars of the Artificial Intelligence course. It is about a Java class hierarchy which makes it easier to understand the operation of the algorithms described at the lectures of this subject, and helps our students prepare for their exams. This class hierarchy consists of two main parts: the abstract elements of the state space representation components, and the representation of nodes in the representation graphs together with the implementation of search strategies of the different algorithms. Keywords Artificial intelligence, state space representation, search algorithms, object-oriented programming, class diagram. 1
2 1. Bevezetés Az elmúlt években a hallgatói létszám gyors emelkedésének következtében szükségessé vált az egyetemünkön 1989 óta oktatott Mesterséges intelligencia bevezető kurzushoz kapcsolódó gyakorlatok tematikájának, követelmény rendszerének és számonkérési módjának az áttekintése, újragondolása. Előadásunkban ismertetjük a kurzus gyakorlatainak oktatásával kapcsolatos tapasztalatainkat. Az elmúlt öt év során sikerült kialakítani egy hatékony, a tényleges gyakorlati feladatmegoldáson alapuló számonkérési rendszert, melynek során a problémák számítógéppel támogatott dokumentálását és megoldását kérjük hallgatóinktól. Igazodva a korszerű informatika által támasztott követelményekhez, a hallgatóktól ma már valamilyen objektumorientált programozási nyelven várjuk ezeket a megoldásokat. A Mesterséges intelligencia bevezető kurzusa egyetemünkön három nagyobb témakört ölel föl: problémák állapottér-reprezentációja, megoldáskeresés állapottérgráfokban, problémaredukciós reprezentációs technika, megoldáskeresés hipergráfokban, kétszemélyes, zérusösszegű, véges, determinisztikus, teljes információjú játékok elmélete. A gyakorlati kurzusokon e témakörökhöz kapcsolódóan a hallgatóknak 4 5 Java nyelven elkészített programot kell bemutatniuk a félév során A gyakorlati foglalkozások A szorgalmi időszak 14 gyakorlati foglalkozásából általában alkalommal a problémák állapottér-reprezentációjával és az állapottérgráfokban történő megoldáskereséssel foglalkozunk. Ezeken a gyakorlatokon egy konkrét problémát elemzünk, és azon keresztül mutatjuk be a különböző megoldáskeresési stratégiákat. Első lépésként reprezentáljuk, azaz valamilyen matematikai modellben (általában elsőrendű logikai nyelv segítségével) formalizáljuk a problémát. Ezután egymás után implementáljuk az előadáson tárgyalt megoldáskereső algoritmusokat, így a nem módosítható keresőket, a visszalépéses keresőalgoritmusok különböző fajtáit, valamint a keresőgráffal kereső szisztematikus (szélességi, mélységi, optimális) és heurisztikus (best-first, A-algoritmuscsalád) algoritmusokat. Az elkészített programok mindegyikét teszteljük is, a konkrét problémán szemléltetve működésüket. Hallgatóinknak a félév során egy önállóan választott feladatot kell állapottérreprezentálniuk és megoldaniuk az ismertetett algoritmusokkal. A gyakorlati aláírás feltétele, hogy az elkészült reprezentációt és programokat a gyakorlatvezetőknek bemutassák, és a felmerülő kérdésekre válaszoljanak. A gyakorlatot sikeresen teljesítő hallgatók csak akkor vizsgázhatnak a tárgyból, ha a házi feladatként beadott programokon túl ellenőrzött körülmények között számítógépes laborjainkban megadott idő alatt elkészítenek egy adott állapottér-reprezentációhoz tartozó valamilyen (előre meghatározott) megoldáskereső programot. 2
3 2. Az osztályhierarchiák Az állapottérgráfokban történő megoldáskereséshez az elmúlt időszakban kifejlesztettünk két olyan Java csomagot, amelyek ügyesen felparaméterezve lehetőséget biztosítanak tetszőleges probléma bármely kívánt algoritmussal történő megoldására. A házi feladatként és a vizsga előfeltételeként megírandó programok elkészítése ezek után nem jelent mást, mint a gyakorlatokon ismertetett algoritmusok otthoni implementálását, és alkalmazásukat a választott problémára. A következőkben bemutatjuk a gyakorlatainkon használt osztályhierarchiát. Az általunk javasolt két Java csomag egyike az állapottér-reprezentációval, a másik pedig a megoldáskereső algoritmusokkal kapcsolatos osztályokat tartalmazza (1. ábra). 1. ábra A csomagstruktúra 2.1. Az állapottér-reprezentáció csomagja Ebben a csomagban két osztályt találunk (2. ábra). Az Operator osztály az egyes problémákhoz tartozó operátorok, míg az Allapot osztály a problémákhoz tartozó állapotok absztrakt ősosztálya. Mivel egy állapot jellemzői mindig a konkrét problémától függnek, ezért ez utóbbi osztályban csak egyetlen adattagot definiáltunk, amely nem más, mint a probléma állapotaira alkalmazható összes operátor halmaza. Természetesen függetlenül a problémától minden állapotnak meg kell tudnia mondani magáról, hogy célállapot-e, hogy alkalmazhatóe rá egy adott operátor, illetve hogy egy operátor alkalmazásával milyen új állapot jön létre belőle. A heurisztikus keresők olyan állapotokat használnak, amelyek a fentebb felsorolt jellemzőkön kívül még egy heurisztikaértéket is tartalmaznak. Ehhez nyújt segítséget a HeurisztikusAllapot interfész azáltal, hogy az ezt megvalósító állapotok rendelkezni fognak egy heurisztikus értéket szolgáltató módszerrel. Ehhez hasonlóan a KoltsegesOperator 3
4 interfészt azok az operátorok fogják implementálni, amelyeket az operátorok költségét figyelembe vevő keresőalgoritmusok használnak. 2. ábra Az állapottér-reprezentáció osztálydiagramja 2.2. A megoldáskereső algoritmusok csomagja A megoldáskereső algoritmusok csomagjában lévő osztályok két különálló hierarchiába rendeződnek. Az egyik (3. ábra) az állapottérgráfok csúcsainak, a másik (4. ábra) a különböző keresőalgoritmusoknak a modellezésére szolgál. 3. ábra Az állapottérgráf-csúcsok osztálydiagramja A csúcsokra vonatkozó csaknem minden információ a különböző csúcstípusok közös ősosztályában, a Csucs osztályban található. Itt tároljuk a csúcs által szemléltetett állapotot, a csúcsnak a startcsúcstól mért távolságát (mélységét), a szülő csúcsát, illetve azt az operátort, amellyel a szülőjében tárolt állapotból az adott csúcsban tárolt állapotot előállítottuk. A Csucs 4
5 osztály leszármazottai ezeken az attribútumokon túl a konkrét keresőalgoritmusok által igényelt további adattagokat tartalmaznak. 4. ábra A keresőalgoritmusok osztálydiagramja A keresőalgoritmusok ősosztálya az absztrakt Kereso osztály, amely éppen a legfontosabb metódusát nem implementálja, nevezetesen azt, hogy milyen stratégiával kell működnie a megoldáskeresés vezérlőjének. Ennek a metódusnak a kódját a leszármazott osztályok tartalmazzák majd. Ugyanakkor lehetőséget biztosít arra, hogy tároljuk a terminális csúcsokat, kiírjuk a megoldásokat, illetve hogy beállítsuk az egyes keresők algoritmustól független jellemzőit. A BacktrackKereso osztály új jellemzői között találjuk az aktuális utat, valamint a körfigyelés és az úthosszkorlát opcionális lehetőségét. Az AgEsKorlatKereso osztály annyiban tér el ettől, hogy az úthosszkorlát helyett költségkorláttal dolgozik, amely itt nem opció, hanem az algoritmus szerves részét képezi. A KeresografosKereso osztály a kereső adatbázisában tárolt csúcsok nyilvántartásához két listát használ. Ezen osztály leszármazottai (a konkrét gráfkereső algoritmusok) egyrészt a keresési stratégiában, másrészt pedig az adatbázisukban tárolt csúcsok osztályában térnek el egymástól Egy konkrét példa: Hanoi tornyai Lássuk ezek után, hogy hogyan lehet felhasználni a bemutatott csomagokat konkrét feladatok megoldására. Megoldandó feladatnak válasszuk a mindenki által jól ismert Hanoi tornyai problémát. Az alábbiakban definiáljuk a feladatot, és megadjuk az állapottér- 5
6 reprezentációjának leglényegesebb elemeit. Megjegyezzük azonban, hogy a megoldáskeresés szempontjából a feladat ismerete másodlagos, mivel a kódok elkészítéséhez elegendő a feladat állapottér-reprezentációja. A legenda szerint egy szerzetesek lakta távol-keleti kolostor udvarán áll három rúd, amelyeken 64 különböző átmérőjű aranykorong található. Eredetileg mind a 64 korong egyetlen rúdra volt rárakva úgy, hogy minden korong alatt egy nála nagyobb volt. A szerzeteseknek az a céljuk, hogy mind a 64 korongot áthelyezzék az első rúdról a harmadik rúdra, naponta mindig csak egy korongot mozgatva úgy, hogy sohase rakjanak egy korongot nála kisebbre. Amint az összes korongot átpakolják a harmadik rúdra, eljön majd az általuk várva várt világvége. Leegyszerűsített állapottér-reprezentációnkban legyen N = 3 a korongok száma, jelöljük a három rudat sorrendben A, B és C betűkkel, a korongokat pedig számozzuk 1-től N-ig, átmérőik szerint növekvő sorrendben. Tekintsük a probléma jellemző tulajdonságának azt, hogy melyik korong melyik rúdon található. Mivel minden korong elvileg előfordulhat bármely rúdon, ezért a korongok mindegyikéhez azonos alaphalmazokat rendelhetünk: H 1 = H 2 = = H N = {A, B, C} A probléma világának állapotai elemei ezen alaphalmazok Descartes-szorzatának elemei lesznek: A = H 1 H 2 H N Mivel a kiinduló helyzetben minden korong az első, A-val jelölt rúdon található, a problémának a kezdő = (A, A, A) A állapot lesz a feladatban meghatározott kezdállapota. A célállapotok halmazát egyetlen elem alkotja: az, amely azt a helyzetet írja le, amikor az összes korong a harmadik, C-vel jelölt rúdon található: C = {(C, C, C)} A Operátorunk a Mozgat(mit, hova) kétparaméteres operátor lesz, ahol a mit egy korongot, a hova pedig egy rudat jelöl. A mozgatás akkor hajtható végre, ha a mit korong nincs a hova rúdon; a mit korong a legkisebb a saját rúdján; a hova rúd vagy üres, vagy nincs rajta a mit korongnál kisebb korong. Az operátor alkalmazásának hatására a mit korong pozíciója megváltozik: a hova rúdra kerül. A feladat implementációját az operátor leprogramozásával érdemes kezdeni. Ehhez származtatunk az absztrakt Operator osztályból egy HanoiMozgat nevű konkrét osztályt, amelynek két adattagja a Mozgat(mit, hova) operátor két paramétere lesz. Ha olyan keresőt szeretnénk használni, amelyben az operátorok alkalmazása nem konstans költségű, akkor a HanoiMozgat osztálynak implementálnia kell a KoltsegesOperator interfészt, azaz meg kell adnunk a koltseg() metódus törzsét is. Ezután rátérhetünk az állapotteret leíró osztály elkészítésére. Ebben az osztályban először is az állapotok komponenseinek megfelelő adattagokat kell megadnunk. Jelen esetben ez az N értéket és a korong nevű N elemű tömböt jelenti. A korong tömb elemei az A, B vagy C karakterek lehetnek. Ezeket felhasználva már csak az Allapot osztályból örökölt absztrakt metódusokat kell implementálnunk a reprezentációnak megfelelően. A kezdőállapotot a 6
7 HanoiAllapot osztály paraméter nélküli konstruktorával hozzuk létre. Ha olyan keresőt szeretnénk használni, amely valamilyen reprezentáción kívüli plusz információt, heurisztikát használ a megoldás kereséséhez, akkor a HanoiAllapot osztálynak implementálnia kell a HeurisztikusAllapot interfészt, azaz meg kell adnunk a heurisztika() metódus törzsét is. Ezeknek a kódoknak az elkészítése minimális programozói ismeretekkel is gyorsan megoldható, mindössze a reprezentációban megfogalmazott formulákat kell átültetni Java nyelvű kódra. A probléma osztálydiagramja az 5. ábrán látható. 5. ábra A Hanoi tornyai probléma osztálydiagramja package hanoi; import kereso.*; import kereso.keresografos.szisztematikus.melysegikereso; public class HanoiMain { public static void main( String[] args ) { Kereso kereso = new MelysegiKereso( new HanoiAllapot(), MelysegiKereso.OSSZES_MEGOLDAS ); System.out.println( kereso ); kereso.keres(); for ( Csucs cs : kereso.getterminalisok() ) { System.out.println( "Egy megoldás:" ); kereso.kiirmegoldas( cs ); } System.out.println( "Megoldások száma: " + kereso.getterminalisok().size() ); } } 6. ábra A főprogram egy lehetséges megvalósítása Utolsó teendőnk a keresőalgoritmus kiválasztása és a főprogram megírása. A főprogramban példányosítanunk kell a megfelelő keresőalgoritmus osztályát, amelynek paraméterként átadjuk a megoldandó probléma kezdőállapotát és a keresés jellemzőit, majd 7
8 meg kell hívnunk a keresés vezérlését megvalósító keres() metódust. A keresés befejeződése után megjeleníthetők a megoldások. A 6. ábrán látható a HanoiMain osztály kódja, amely a Hanoi tornyai problémát mélységi keresővel oldja meg. Hasonlóan egyszerű a többi keresőalgoritmus használata is: a MelysegiKereso helyett a kívánt keresőalgoritmus osztályát kell példányosítani. 3. Oktatási tapasztalatok Az elmúlt félévek során A mesterséges intelligencia alapjai című tárgy keretében hallgatóinknak különböző problémák állapottér-reprezentációját kellett elkészíteniük, majd az itt bemutatott osztályhierarchiákat és kódokat felhasználva implementálni azt. Tapasztalataink alapján elondhatjuk, hogy az itt bemutatott csomagok, osztályok és forráskódok nagy segítséget nyújtottak egyrészt az órák tervezésében, másrészt a tárgy előadásain ismertetett algoritmusok elsajátításában, legfőképpen azon hallgatók számára, akik rendelkeztek a szükséges elméleti háttérrel (logikai és programozási alapismeretekkel). Ezek a hallgatók önállóan is sokat kísérleteztek a kódok bővítésével és javításával, eredményeiket felhasználva a jövőben tovább tudjuk emelni a gyakorlati foglalkozásaink színvonalát. 8
Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 007/008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció i stratégiák Szemantikus hálók / Keretrendszerek
RészletesebbenOOP: Java 8.Gy: Abstract osztályok, interfészek
OOP: Java 8.Gy: Abstract osztályok, interfészek 26/1 B ITv: MAN 2019.04.03 Abszrakt metódus és absztrakt osztály. Gyakran előfordul a tervezés során, hogy egy osztály szintjén tudjuk, hogy valamilyen metódus
RészletesebbenSZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.
SZOFTVERES SZEMLÉLTETÉS A MESTERSÉGES INTELLIGENCIA OKTATÁSÁBAN _ Jeszenszky Péter Debreceni Egyetem, Informatikai Kar jeszenszky.peter@inf.unideb.hu Mesterséges intelligencia oktatás a DE Informatikai
Részletesebbenés az instanceof operátor
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenJava VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán
Java VIII. Az interfacei és az instanceof operátor Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 24. Java VIII.: Interface JAVA8 / 1 Az interfészről általában
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008
Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008 Az Előadások Témái Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció Gráfkeresési stratégiák Szemantikus hálók
RészletesebbenList of Publications (Pánovics János)
List of Publications (Pánovics János) Book 1. Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, Budapest, 2005. Peer-Reviewed Papers 1. Kádek Tamás, Pánovics János: Some Improvements of the
RészletesebbenMesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363
1/6 Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 Az Előadások Témái 46/6 Bevezető: mi a mesterséges intelligencia... Tudás reprezentáció stratégiák Szemantikus hálók
RészletesebbenPublikációs jegyzék (Pánovics János)
Publikációs jegyzék (Pánovics János) Könyv 1. Juhász István, Kósa Márk, Pánovics János: C példatár, Panem, Budapest, 2005. Referált cikkek 1. Kádek Tamás, Pánovics János: Some Improvements of the Extended
RészletesebbenJava programozási nyelv 5. rész Osztályok III.
Java programozási nyelv 5. rész Osztályok III. 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/20 Tartalomjegyzék
RészletesebbenAbstract osztályok és interface-ek. 7-dik gyakorlat
Abstract osztályok és interface-ek 7-dik gyakorlat Abstract metódusok és osztályok Az OO fejlesztés során olyan osztályokat is kialakíthatunk, melyeket csak továbbfejlesztésre, származtatásra lehet használni,
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenJava programozási nyelv 6. rész Java a gyakorlatban
Java programozási nyelv 6. rész Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2004. október A Java programozási nyelv Soós Sándor 1/16 Tartalomjegyzék
RészletesebbenModellezés Gregorics Tibor Mesterséges intelligencia
Modellezés 1. Állapottér-reprezentáció Állapottér: a probléma leírásához szükséges adatok által felvett érték-együttesek (azaz állapotok) halmaza az állapot többnyire egy összetett szerkezetű érték gyakran
RészletesebbenOOP: Java 8.Gy: Gyakorlás
OOP: Java 8.Gy: Gyakorlás 43/1 B ITv: MAN 2019.04.10 43/2 Egy régebbi beszámoló anyaga 1. Feladat: Készítsen egy Szemely nevű osztályt a szokásos konvenciók betartásával, amely tárolja egy ember nevét
RészletesebbenV. Kétszemélyes játékok
Teljes információjú, véges, zéró összegű kétszemélyes játékok V. Kétszemélyes játékok Két játékos lép felváltva adott szabályok szerint. Mindkét játékos ismeri a maga és az ellenfele összes választási
RészletesebbenSzoftvertechnolo gia gyakorlat
Szoftvertechnolo gia gyakorlat Dr. Johanyák Zsolt Csaba http://johanyak.hu 1. Dependency Injection (függőség befecskendezés) tervezési minta A tervezési minta alapgondolata az, hogy egy konkrét feladatot
RészletesebbenMesterséges intelligencia. Gregorics Tibor people.inf.elte.hu/gt/mi
people.inf.elte.hu/gt/mi Szakirodalom Könyvek Fekete István - - Nagy Sára: Bevezetés a mesterséges intelligenciába, LSI Kiadó, Budapest, 1990, 1999. ELTE-Eötvös Kiadó, Budapest, 2006. Russel, J. S., Norvig,
RészletesebbenMár megismert fogalmak áttekintése
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése Eseménykezelési módszerek 2 Már megismert fogalmak
RészletesebbenA mesterséges intelligencia alapjai
A mesterséges intelligencia alapjai Az előadások mellé vetített anyag Várterész Magda A mesterséges intelligencia alapjai: Az előadások mellé vetített anyag Várterész Magda A tananyag a TÁMOP-4.1.2-08/1/A-2009-0046
RészletesebbenMesterséges Intelligencia MI
Mesterséges Intelligencia MI Problémamegoldás kereséssel ha sötétben tapogatózunk Dobrowiecki Tadeusz Eredics Péter, és mások BME I.E. 437, 463-28-99 dobrowiecki@mit.bme.hu, http://www.mit.bme.hu/general/staff/tade
RészletesebbenEnterprise JavaBeans 1.4 platform (EJB 2.0)
Enterprise JavaBeans 1.4 platform (EJB 2.0) Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2007. 11.13. Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans
RészletesebbenEnterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans
Enterprise JavaBeans Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Az Enterprise JavaBeans Az Enterprise Javabeans Az Enterprise JavaBeans (EJB) server oldali komponens, amely Az üzleti
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észletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenOsztálytervezés és implementációs ajánlások
Osztálytervezés és implementációs ajánlások Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2006. 04. 24. Osztálytervezés és implementációs kérdések OTERV / 1 Osztály tervezés Egy nyelv
RészletesebbenProgramozás III KIINDULÁS. Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg.
KIINDULÁS Különböző sportoló típusok vannak: futó, magasugró, focista, akik teljesítményét más-más módon határozzuk meg. Programozás III Az egyszerűség kedvéért mindegyiket a nevük alapján regisztráljuk,
Részletesebben2. Visszalépéses stratégia
2. Visszalépéses stratégia A visszalépéses keres rendszer olyan KR, amely globális munkaterülete: út a startcsúcsból az aktuális csúcsba (ezen kívül a még ki nem próbált élek nyilvántartása) keresés szabályai:
RészletesebbenOOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN
OOP: Java 11.Gy: Enumok, beágyazott osztályok 13/1 B ITv: MAN 2019.04.24 ArrayList Rugalmas tömb A tömbök korlátai Fix méret, nem lehet menet közben megnövelni Ha túl nagyra választjuk, fölösleges helyfoglalás
RészletesebbenKétszemélyes játékok Gregorics Tibor Mesterséges intelligencia
Kétszemélyes játékok Kétszemélyes, teljes információjú, véges, determinisztikus,zéró összegű játékok Két játékos lép felváltva adott szabályok szerint, amíg a játszma véget nem ér. Mindkét játékos ismeri
RészletesebbenInterfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
RészletesebbenIntelligens Rendszerek Elmélete IRE 4/32/1
Intelligens Rendszerek Elmélete 4 IRE 4/32/1 Problémamegoldás kereséssel http://nik.uni-obuda.hu/mobil IRE 4/32/2 Egyszerű lények intelligenciája? http://www.youtube.com/watch?v=tlo2n3ymcxw&nr=1 IRE 4/32/3
RészletesebbenJAVA PROGRAMOZÁS 2.ELŐADÁS
Dr. Pál László, Sapientia EMTE, Csíkszereda JAVA PROGRAMOZÁS 2.ELŐADÁS 2014-2015 tavasz Tömbök, osztályok, objektumok, konstruktorok Tömbök 2 Referencia típusú változó Elemtípus Primitív Referencia: osztály,
RészletesebbenBevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
RészletesebbenProblémamegoldás kereséssel. Mesterséges intelligencia március 7.
Problémamegoldás kereséssel Mesterséges intelligencia 2014. március 7. Bevezetés Problémamegoldó ágens Kívánt állapotba vezető cselekvéseket keres Probléma megfogalmazása Megoldás megfogalmazása Keresési
RészletesebbenBánsághi Anna 2014 Bánsághi Anna 1 of 33
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 7. ELŐADÁS - ABSZTRAKT ADATTÍPUS 2014 Bánsághi Anna 1 of 33 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív
RészletesebbenObjektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 2. rész Öröklés és többalakúság Nemvirtuális metódusok, elrejtés Virtuális metódusok, elrejtés Típuskényszerítés, az is és as operátorok Absztrakt osztályok, absztrakt
RészletesebbenProgramozási nyelvek II. JAVA EA+GY 1. gyakolat
Programozási nyelvek II. JAVA EA+GY 1. gyakolat EÖTVÖS LORÁND TUDOMÁNYEGYTEM INFORMATIKAI KAR PROGRAMOZÁSI NYELVEK ÉS FORDÍTÓPROGRAMOK TANSZÉK 2017/2018. őszi félév Tartalom 1 Amit tudni kell a félévről
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észletesebbenProgramozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar
Programozás I. 5. gyakorlat 1 Objektumorientáltság Egységbezárás és információ elrejtése (absztrakt adattípus) Adatok és rajtuk végzett műveletek egységbezárása (osztályok írása, múlt hét) Öröklődés Polimorfizmus
RészletesebbenA PROGRAMOZÁSI TECHNOLÓGIA TANTÁRGY OKTATÁSA A GÁBOR DÉNES FŐISKOLÁN
A PROGRAMOZÁSI TECHNOLÓGIA TANTÁRGY OKTATÁSA A GÁBOR DÉNES FŐISKOLÁN THE TEACHING OF TECHNOLOGY OF PROGRAMMING IN DENNIS GABOR COLLEGE Kaczur Sándor 1 Összefoglaló: A Gábor Dénes Főiskola mérnök-informatikus
RészletesebbenBME MOGI Gépészeti informatika 8.
BME MOGI Gépészeti informatika 8. 1. feladat Készítse beosztottak és vezetők munkahelyi adatait kezelő alkalmazást! A feladat megoldásához hozza létre a következő osztályokat! Beosztott osztály: adatmező
RészletesebbenJava VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1
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észletesebbenObjektumorientált paradigma és programfejlesztés Bevezető
Objektumorientált paradigma és programfejlesztés Bevezető Vámossy Zoltán vamossy.zoltan@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Ficsor Lajos (Miskolci Egyetem) prezentációja alapján
RészletesebbenHALLGATÓI KÉRDŐÍV ÉS TESZT ÉRTÉKELÉSE
HALLGATÓI KÉRDŐÍV ÉS TESZT ÉRTÉKELÉSE EVALUATION OF STUDENT QUESTIONNAIRE AND TEST Daragó László, Dinyáné Szabó Marianna, Sára Zoltán, Jávor András Semmelweis Egyetem, Egészségügyi Informatikai Fejlesztő
RészletesebbenJava VII. Polimorfizmus a Java nyelvben
Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)
RészletesebbenGENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és. Függvénysablonok
GENERIKUS PROGRAMOZÁS Osztálysablonok, Általános felépítésű függvények, Függvénynevek túlterhelése és Függvénysablonok Gyakorlatorientált szoftverfejlesztés C++ nyelven Visual Studio Community fejlesztőkörnyezetben
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észletesebbenÖröklés és Polimorfizmus
Öröklés és Polimorfizmus Egy létező osztályból egy (vagy több) újat készítünk A létező osztályt ősnek, az újakat utódnak nevezzük Az utódok öröklik az ős minden tagját Az utódok az öröklött tagokat újakkal
RészletesebbenOOP. Alapelvek Elek Tibor
OOP Alapelvek Elek Tibor OOP szemlélet Az OOP szemlélete szerint: a valóságot objektumok halmazaként tekintjük. Ezen objektumok egymással kapcsolatban vannak és együttműködnek. Program készítés: Absztrakciós
RészletesebbenSZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN
SZOFTVEREK A SORBANÁLLÁSI ELMÉLET OKTATÁSÁBAN Almási Béla, almasi@math.klte.hu Sztrik János, jsztrik@math.klte.hu KLTE Matematikai és Informatikai Intézet Abstract This paper gives a short review on software
RészletesebbenIII. OOP (objektumok, osztályok)
III. OOP (objektumok, osztályok) 1. Természetes emberi gondolkozás Az Objektumorientált paradigma alapelvei nagyon hasonlítanak az emberi gondolkozásra. Érdemes ezért elsőként az emberi gondolkozás elveit
RészletesebbenProgramozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenJava VII. Polimorfizmus a Java nyelvben
Java VII. Polimorfizmus a Java nyelvben Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 10. 19. Java VII. Polimorfizmuss JAVA7 / 1 A kötés (binding( binding) ) fogalma Kötés (binding)
Részletesebben2. Visszalépéses keresés
2. Visszalépéses keresés Visszalépéses keresés A visszalépéses keresés egy olyan KR, amely globális munkaterülete: egy út a startcsúcsból az aktuális csúcsba (az útról leágazó még ki nem próbált élekkel
RészletesebbenObjektum orientált programozás Bevezetés
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenAz osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
RészletesebbenEloadó: Dr. Várterész Magdolna
Eloadó: Dr. Várterész Magdolna Tartalomjegyzék: 1. Bevezetés 1.1. A jegyzet megtekintéséhez ajánlott környezet 1.2. Információ a mesterséges intelligencia kurzusról 1.3. Röviden a mesterséges intelligenciáról
RészletesebbenAbsztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:
Objektum orientált programozás Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 03. 04. OOPALAP / 1 A program készítés Absztrakciós folyamat, amelyben a valós világban
RészletesebbenBánsághi Anna anna.bansaghi@mamikon.net. 2014 Bánsághi Anna 1 of 31
IMPERATÍV PROGRAMOZÁS Bánsághi Anna anna.bansaghi@mamikon.net 9. ELŐADÁS - OOP TERVEZÉS 2014 Bánsághi Anna 1 of 31 TEMATIKA I. ALAPFOGALMAK, TUDOMÁNYTÖRTÉNET II. IMPERATÍV PROGRAMOZÁS Imperatív paradigma
RészletesebbenA MESTERSÉGES INTELLIGENCIA KÉRDÉSEI A KÖZÉPISKOLAI OKTATÁSBAN
Eszterházy Károly Főiskola Matematikai és Informatikai Intézet A MESTERSÉGES INTELLIGENCIA KÉRDÉSEI A KÖZÉPISKOLAI OKTATÁSBAN DR. KOVÁSZNAI GERGELY ÉS DR. KUSPER GÁBOR JEGYZETE Tartalomjegyzék 1. Bevezetés...4
RészletesebbenStatikus adattagok. Statikus adattag inicializálása. Speciális adattagok és tagfüggvények. Általános Informatikai Tanszék
Speciális adattagok és tagfüek Miskolci Egyetem Általános Informatikai Tanszék CPP7 / 1 Statikus adattagok Bármely adattag lehet static tárolási osztályú A statikus adattag az osztály valamennyi objektuma
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észletesebbenOOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
RészletesebbenProgramozási nyelvek II. JAVA
Programozási nyelvek II. JAVA 8. gyakorlat 2017. november 6-10. Általános tudnivalók A feladatmegoldás során fontos betartani az elnevezésekre és típusokra vonatkozó megszorításokat, illetve a szövegek
RészletesebbenProgramozási nyelvek Java
statikus programszerkezet Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 2. előadás csomag könyvtárak könyvtárak forrásfájlok bájtkódok (.java) (.class) primitív osztály
RészletesebbenList<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error
Generics Egyszerűbb példák (java.util csomagból): public interface List { void add(e x); Iterator iterator(); public interface Iterator { E next(); boolean hasnext(); E - formális típusparaméter,
RészletesebbenSZAKDOLGOZAT. Szatmári László
SZAKDOLGOZAT Szatmári László Debrecen 2010 Debreceni Egyetem Informatika Kar Kereső algoritmusok hatékonyságának összehasonlítása a Hanoi problémán keresztül Témavezető: Dr. Várterész Magda egyetemi docens
Részletesebben7. K: JAVA alapok Konzultáció
Objektum Orientált Programozás 7. K: JAVA alapok Konzultáció 35/1B IT MAN B IT v: 2017.05.03 MAN Hiba, biztonságos program 01. Szintaktikai hiba imt i = 0; system.out.println( alma ); for (int i = 0, i
RészletesebbenPelda öröklődésre: import java.io.*; import java.text.*; import java.util.*; import extra.*;
Java osztály készítése, adattagok, és metódusok, láthatóság, konstruktor, destruktor. Objektum létrehozása, használata, öröklés. ( Előfeltétel 12. Tétel ) Az osztály egy olyan típus leíró struktúra, amely
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észletesebbenBevezetés a Python programozási nyelvbe
Bevezetés a Python programozási nyelvbe 7. Gyakorlat osztályok, objektumok (utolsó módosítás 2018. aug. 28.) Szathmáry László Debreceni Egyetem Informatikai Kar 2018-2019, 1. félév OO programozás Pythonban
RészletesebbenKereső algoritmusok a diszkrét optimalizálás problémájához
Kereső algoritmusok a diszkrét optimalizálás problémájához A. Grama, A. Gupta, G. Karypis és V. Kumar: Introduction to Parallel Computing, Addison Wesley, 2003. könyv anyaga alapján A kereső eljárások
RészletesebbenMesterséges Intelligencia I. kötelező program
1. Feladat kiírás Mesterséges Intelligencia I. kötelező program A feladat az Othello (más neveken Reversi, Fonákollós, Színcserélő) játékot játszó ágens írása. A játékot egyik oldalán világos, a másikon
RészletesebbenProgramozás II. 3. gyakorlat Objektum Orientáltság C++-ban
Programozás II. 3. gyakorlat Objektum Orientáltság C++-ban Tartalom OOP ismétlés Osztályok létrehozása Adattagok láthatóságai, elnevezési ajánlások Konstruktor, destruktor this pointer Statikus és dinamikus
RészletesebbenStruktúra nélküli adatszerkezetek
Struktúra nélküli adatszerkezetek Homogén adatszerkezetek (minden adatelem azonos típusú) osztályozása Struktúra nélküli (Nincs kapcsolat az adatelemek között.) Halmaz Multihalmaz Asszociatív 20:24 1 A
RészletesebbenAlkalmazott Modul III 6. előadás. Objektumorientált programozás: öröklődés és polimorfizmus
Eötvös Loránd Tudományegyetem Természettudományi Kar Alkalmazott Modul III 6. előadás Objektumorientált programozás: öröklődés és polimorfizmus 2011.10.24. Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
RészletesebbenJava és web programozás
Budapesti Műszaki Egyetem 2015. 02. 11. 2. Előadás Mese Néhány programozási módszer: Idők kezdetén való programozás Struktúrált Moduláris Funkcionális Objektum-orientált... Mese Néhány programozási módszer:
RészletesebbenSzámítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
RészletesebbenProgramozás II. 2. gyakorlat Áttérés C-ről C++-ra
Programozás II. 2. gyakorlat Áttérés C-ről C++-ra Tartalom Új kommentelési lehetőség Változók deklarációjának helye Alapértelmezett függvényparaméterek Névterek I/O műveletek egyszerűsödése Logikai adattípus,
RészletesebbenJNDI - alapok. Java Naming and Directory Interface
JNDI - alapok Java Naming and Directory Interface Naming Service Naming service: nevek hozzárendelése objektumokhoz, elérési lehetőség (objektumok/szolgáltatások lokalizálása), információk központosított
RészletesebbenProgramozási nyelvek Java
Programozási nyelvek Java Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 8. előadás Öröklődés - megnyitunk egy osztályt egy másik előtt zárt egységeket szeretünk készíteni (láthatósági kérdés:
RészletesebbenObjektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
RészletesebbenMesterséges intelligencia 2. laborgyakorlat
Mesterséges intelligencia 2. laborgyakorlat Keresési módszerek A legtöbb feladatot meg lehet határozni keresési feladatként: egy ún. állapottérben, amely tartalmazza az összes lehetséges állapotot fogjuk
RészletesebbenGyakorlati vizsgatevékenység A
Gyakorlati vizsgatevékenység A Szakképesítés azonosító száma, megnevezése: 481 04 0000 00 00 Web-programozó Vizsgarészhez rendelt követelménymodul azonosítója, megnevezése: 1189-06 Web-alkalmazás fejlesztés
RészletesebbenProgramozási módszertan. Mohó algoritmusok
PM-08 p. 1/17 Programozási módszertan Mohó algoritmusok Werner Ágnes Villamosmérnöki és Információs Rendszerek Tanszék e-mail: werner.agnes@virt.uni-pannon.hu PM-08 p. 2/17 Bevezetés Dinamikus programozás
RészletesebbenA TANTÁRGY ADATLAPJA
A TANTÁRGY ADATLAPJA 1. A képzési program adatai 1.1 Felsőoktatási intézmény Babeș-Bolyai Tudományegyetem 1.2 Kar Matematika és Informatika 1.3 Intézet Magyar Matematika és Informatika 1.4 Szakterület
RészletesebbenMESTERSÉGES INTELLIGENCIA DR. KOVÁSZNAI GERGELY JEGYZETE. Verziószám: 1.0 2008. május 19.
MESTERSÉGES INTELLIGENCIA DR. KOVÁSZNAI GERGELY JEGYZETE Verziószám: 1.0 2008. május 19. 1 Tartalomjegyzék 1. A mesterséges intelligencia története...4 1.1. Korai lelkesedés, nagy elvárások (az 1960-as
Részletesebben1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
RészletesebbenObjektumelvű programozás
Objektum, osztály Objektumelvű programozás Az elemzés együttműködő objektumok rendszereként fogalmazza meg a feladatot. Objektum-központú elemzés A tervezés a feladat tárgyköreit egy-egy objektum felelősségévé
RészletesebbenJava II. I A Java programozási nyelv alapelemei
Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak
Részletesebbenbujdoso@inf.unideb.hu, http:www.inf.unideb.hu/~bujdoso 2 Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma, 4029 Debrecen, Csengı u. 4.
Problémák a szövegszerkesztés verseny- és ECDL vizsgafeladataival kapcsolatban Problems in tests papers on word processing of ECDL exams and competitions BUJDOSÓ Gyöngyi 1, Ph.D., egyetemi adjunktus CSERNOCH
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észletesebbenProgramozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék
Programozás 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 11. Tantárgy célja, szükséges ismeretek Tantárgy célja,
RészletesebbenA DEBRECENI MÉRNÖK INFORMATIKUS KÉPZÉS TAPASZTALATAIRÓL. Kuki Attila Debreceni Egyetem, Informatikai Kar. Összefoglaló
A DEBRECENI MÉRNÖK INFORMATIKUS KÉPZÉS TAPASZTALATAIRÓL TEACHING EXPERIENCES OF THE IT ENGINEERING COURSE OF UNIVERSITY OF DEBRECEN Kuki Attila Debreceni Egyetem, Informatikai Kar Összefoglaló A Debreceni
RészletesebbenMesterséges intelligencia 3. laborgyakorlat
Mesterséges intelligencia 3. laborgyakorlat Kétszemélyes játékok - Minimax A következő típusú játékok megoldásával foglalkozunk: (a) kétszemélyes, (b) determinisztikus, (c) zéróösszegű, (d) teljes információjú.
RészletesebbenALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha
ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig
RészletesebbenA controlling és az értékelemzés összekapcsolása, különös tekintettel a felsőoktatási és a gyakorlati alkalmazhatóságra
A controlling és az értékelemzés összekapcsolása, különös tekintettel a felsőoktatási és a gyakorlati alkalmazhatóságra Dr. Szóka Károly Nyugat-magyarországi Egyetem Közgazdaságtudományi Kar Egyetemi docens
RészletesebbenBevezető. Servlet alapgondolatok
A Java servlet technológia Fabók Zsolt Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem Utolsó módosítás: 2008. 03. 06. Servlet Bevezető Igény a dinamikus WEB tartalmakra Előzmény: CGI Sokáig
Részletesebben