JAVA MIDLET SUDOKU JÁTÉK
|
|
- Flóra Gálné
- 7 évvel ezelőtt
- Látták:
Átírás
1 Debreceni Egyetem Informatikai Kar JAVA MIDLET SUDOKU JÁTÉK Témavezető: Dr. Fazekas Gábor egyetemi docens Készítette: Veszeli Tamás programozó matematikus Debrecen
2 Tartalomjegyzék 1. Bevezetés A probléma felvázolása Technológiák Java 2 Micro Edition (J2ME) technológiák Java platformok Java SE (Standard Edition) Java EE (Enterprise Edition) Java ME (Micro Edition) A J2ME architektúra Konfigurációk Connected Device Configuration (CDC) Connected Limited Device Configuration (CLDC) Connected Device Configuration (CDC) CDC Class Library CDC Profilok Mobile Information Device Profile (MIDP) MIDP architektúra A mobil eszközzel szemben támasztott hardver követelmények A mobil eszközzel szemben támasztott szoftver követelmények A MIDlet életciklus modellje Felhasználói felületek Hálózatok kezelése Perzisztens tárolás A Sudoku Játékszabály Története Matematikája
3 4. Alkalmazás specifikációk Áttekintés Általános leírás Általános követelmények Rendszerkövetelmények Felhasználói esetek Felhasználói felületek Alkalmazás architektúra A játék megvalósítása A MIDlet A főmenü A játék menete Új játék indítása A feladvány generálása A játékfelület A megoldás ellenőrzése Játék folytatása Beállítások Információk Kilépés Következtetés Irodalom Függelék Köszönetnyilvánítás
4 1. Bevezetés 1.1. A probléma felvázolása A mobil információs eszközök hozzátartoznak mindennapjainkhoz. Hazánkban is szinte mindenki rendelkezik mobil eszközzel. A mobil eszközök legfőbb gyengesége a kis kijelző, és a korlátozott tároló- és számolókapacitás. A fejlődésnek köszönhetően egyre újabb és gyorsabb technológiák jelennek meg, ezzel lehetővé téve bonyolultabb problémák megoldását a mobil eszközökön is. A fejlődés a mobil eszközök egyre szélesebb körű felhasználását teszi lehetővé. A játékok szinte egy időben jelentek meg a mobiltelefonokkal, és az óta is töretlen a népszerűségük. A sudoku az utóbbi idők egyik legkedveltebb játéka. Sorra jelennek meg az ezzel foglalkozó oldalak, szinte az összes rejtvényújságban, és rengeteg napilapban, hetilapban is megtalálható. A sudoku nemcsak szórakoztató, hanem fejleszti az ember megoldó képességét és logikáját is. A sudoku kedvelői egyre több ingyenes, és megvásárolható program közül választhatnak. Ezen programok legfőbb gyengesége, hogy általában előre elkészített feladványokat tartalmaznak, miközben több millió lehetséges feladvány létezik. Így új játék kezdésénél gyakran ugyanazt a feladványt kapjuk. A témával bővebben a 3. fejezetben foglalkozom. Dolgozatom célja egy olyan sudoku mobilalkalmazás készítése, amely mindig új megoldható rejtvényt állít elő, és megoldhatóvá teszi a játékos számára különböző nehézségi szinteken. A témával részletesebben a 3. fejezetben foglalkozom. 4
5 1.2. Technológiák A Java Enterprise Edition (J2EE) a szerver és a vállalati alkalmazások platformja, a Java 2 Standard Edition (J2SE) a személyi számítógépeké. Mellettük a Java technológiát a Java Micro Edition (J2ME) valósítja meg a fogyasztói és beágyazott eszközökön. Pl.: mobiltelefonok, egyes PDA-k és egyéb, beágyazott eszközök. A J2ME az Enterprise és a Standard Edition-höz hasonlóan szabványos Java API-kból épül fel, amelyeket a Java Community Process (JCP) program keretében fejlesztenek olyan csoportok, amelyek vezető készülékgyártókat és szoftverfejlesztőket, forgalmazókat tömörítnek. A témával részletesebben a 2. fejezetben foglalkozom. 5
6 2. Java 2 Micro Edition (J2ME) technológiák 2.1. Java platformok Nem mindegy, hogy egy Java programot egy mikro rendszerre, egy PC-re, vagy egy többprocesszoros szervergépre fejlesztettek ki. Itt természetesen nem csak a teljesítményre, hanem az egyes lehetőségek szűkülésére és bővülésére is gondolni kell. Éppen ezért a Java bevezette az úgynevezett Java platformokat. Ezek a platformok valamilyen általánosságban lefednek egy-egy felhasználási területet; maga a nyelv pedig az ottani igényeknek megfelelően szűkült, esetleg bővült Java SE (Standard Edition) Kifejezetten munkaállomásokra (pl. PC) szánt változat. A Java itt indult az Applet - ekkel, majd az önálló asztali alkalmazások is teret hódítottak. Ennek a platformnak kellően nagy memóriája és processzora van, illetve fontos a felhasználó számára kényelmes felhasználói felület is Java EE (Enterprise Edition) Üzleti alkalmazásra szánt változat, gyakran nagyon erős, többprocesszoros szervergépekhez, gigabájtos méretű memóriával. Leginkább webes alkalmazások fejlesztésére használják. Fontos eleme a servlet, amely egy olyan kis java alkalmazás, amely egy kliens felőli kérést hivatott kiszolgálni. Fontos még megemlíteni a JSP-t (Java Servlet Pages), amely hasonlóan az ASP vagy PHP nyelvekhez dinamikus oldalak előállításában vesz részt Java ME (Micro Edition) A Java Micro Edition-t elsősorban telepes üzemű, kis kijelzőjű, korlátozott beviteli lehetőségekkel és processzor teljesítménnyel rendelkező eszközökre fejlesztették ki (telefonok, PDA-k, személyhívók, stb.). A J2ME az ugyanilyen célból készült PersonalJava utódja (teljes mértékben le is váltotta azt). A J2ME virtuális gépe a KVM (Kilobyte Virtual 6
7 Machine), mely pár kilobájtos méretű, kifejezetten a mobil környezethez íródott, és igényeknek megfelelően modulárisan bővíthető. A J2ME profilban az alkalmazások kezeléséért és telepítéséért a JAM (Java Application Manager) felelős. Az egyes alkalmazásokat jar fájlok képében telepíthetjük (ez lényegében egy ZIP fájl, amely tartalmazza az alkalmazásban szereplő osztályok bájtkódját, illetve információkat a JAM számára). A J2ME platform biztosítja a Java technológia előnyeit e fenti eszközökön rugalmas felhasználói interfész, robosztus biztonsági modell, hálózati protokollok széles skálája, valamint hálózati és offline alkalmazások támogatása A J2ME architektúra Szerverek és vállalati gépek Optional Packages Szerverek és PC-k Optional Packages Felső kategóriás PDA-k, beágyazott eszközök Mobil telefonok, egyszerűbb PDA-k Smart-kártyák Optional Packages Java 2 Platform Enterprise Edition (J2EE) Java 2 Platform Standard Edition (J2SE) Personal Profile Personal Basis Profile Optional Packages Foundation Profile MIDP CDC CLDC Java Card JVM JVM JVM KVM Card VM Java 2 Platform Micro Edition 1. ábra. A J2ME architektúra 7
8 A J2ME architektúrában különböző konfigurációkat, profilokat és opcionális csomagokat definiáltak. Ezen elemekből épül fel a teljes Java futtatókörnyezet (JRE). Minden egyes kombináció memóriára, processzor kapacitásra, illetve I/O műveletekre optimalizált attól függően, hogy az adott eszköz melyik hardver-kategóriába tartozik Konfigurációk A konfigurációkban egy virtuális gépet, illetve minimális könyvtárhalmazt definiáltak. Ezek biztosítják az egy kategóriába tatozó eszközök számára az olyan alapfunkcionalitásokat, mint a hálózati kapcsolat és memóriakezelés. Jelenleg két J2ME konfiguráció létezik: a CLDC (Connected Limited Device Configuration) illetve a CDC (Connected Device Configuration) Connected Device Configuration (CDC) Mivel egy J2ME alkalmazás mind konfigurációt, mind valamilyen profilt igényel, a CDC specifikációjakor a profilokat helyezték előtérbe. Vagyis minden CDC profil implementáció CDC osztálykönyvtár (class library) implementációt és Java virtuális gépet tartalmaz. Az opcionális csomagokat külön lehet letölteni attól függően, hogy milyen speciális profilt használunk. CDC Class Library o A CDC osztálykönyvtárak a J2SE-ből származnak, de a mobil eszközök korlátozásait figyelembe veszik. o A legtöbb CDC API megegyezik a neki megfelelő J2SE API-val, a környezetre alkalmazott implementáció a mobil eszköz memória és processzorkapacitására lett hangolva. Így a J2SE-re írt alkalmazások könnyen portolhatók CDC környezetre. CDC Profilok o Foundation Profile 8
9 o A legalapvetőbb CDC profil. Tartalmazza a legalapvetőbb alkalmazástámogató osztályokat, mint pl. hálózat és I/O. Nem tartalmaz grafikus, illetve GUI szolgáltatásokat. o Personal Basis Profile o Pehelysúlyú komponenseket, illetve Xlet alkalmazásokat támogat. A Personal Basis Profile tartalmazza a teljes Foundation Profile API-t. o Personal Profile o Teljes AWT és korlátozott bean-támogatás. Ezenkívül a PP tartalmazza a teljes PBP API-t. Opcionális csomagok o RMI o JDBC Connected Limited Device Configuration (CLDC) Követelmények Hardware követelmények o Legalább 160 kbyte nem-felejtő, a JVM számára elérhető memória o Minimum 32 kbyte felejtő a JVM számára futás alatt elérhető memória (pl. heap) Szoftver követelmények o Az eszközön fut operációs rendszer, mely kezeli a hardvert o Az operációs rendszer biztosít legalább egy ütemezhető egységet a JVM számára o Az operációs rendszernek nem szükséges támogatnia az elkülönített névtereket vagy folyamatokat és a real-time ütemezést. 9
10 J2ME követelmények o Egy J2ME konfiguráció a Java technológia minimum-halmaza. Minden konfigurációban definiált tulajdonság általánosan alkalmazható kell, hogy legyen az eszközök széles skáláján. A további tulajdonságokat a profilokban definiálják. o Mivel a konfiguráció célja a hordozhatóság és az interoperabilitás, a konfiguráció nem definiálhat opcionális tulajdonságokat. o A J2ME konfiguráció értelemszerűen a Java technológia könyvtárainak és tulajdonságainak egy részhalmaza. A teljes specifikáció helyett a CLDC azt definiálja, hogy miben tér el a J2SE-től. A specifikáció által lefedett területek o Java nyelv és virtuális gép o A fő java könyvtárak (java.lang.*, java.util.*) o I/O (java.io.*) o Biztonság o Hálózat CLDC architektúra Profilok Konfiguráció Könyvtárak JVM Operációs rendszer 2. ábra. A CLDC architektúra 10
11 Java alkalmazás A CLDC nem céloz meg semmilyen specifikus eszköz kategóriát. Sok eszköznek fejlett grafikus interfésze van, mások csak karakteres kijelzésre alkalmasak, megint más eszközöknek egyáltalán nincs látható felhasználói interfészük. Ezért a CLDC nagyon egyszerű. JVM eltérése J2SE-től A következő tulajdonságokat teljes mértékben eltávolítottak a CLDC virtuális gépből: Felhasználó által definiált osztálybetöltők Szálcsoportok és démonszálak Példányok véglegesítése Aszinkron kivételek 2.3. Connected Device Configuration (CDC) Mivel egy J2ME alkalmazás mind konfigurációt, mind valamilyen profilt igényel, a CDC specifikációjakor a profilokat helyezték előtérbe. Vagyis minden CDC profil implementáció CDC osztálykönyvtár (class library) implementációt és Java virtuális gépet tartalmaz. Az opcionális csomagokat külön lehet letölteni attól függően, hogy milyen speciális profilt használunk CDC Class Library A CDC osztálykönyvtárak a J2SE-ből származnak, de a mobil eszközök korlátozásait figyelembe veszik. A legtöbb CDC API megegyezik a neki megfelelő J2SE API-val, a környezetre alkalmazott implementáció a mobil eszköz memória és processzorkapacitására lett hangolva. Így a J2SEre írt alkalmazások könnyen portolhatók CDC környezetre. 11
12 CDC Profilok Foundation profile: A legalapvetőbb CDC profil. Tartalmazza a legalapvetőbb alkalmazás-támogató osztályokat, mint pl. hálózat és I/O. Nem tartalmaz grafikus, illetve GUI szolgáltatásokat. Personal basis profile: Pehelysúlyú komponenseket, illetve Xlet alkalmazásokat támogat. A Personal Basis Profile tartalmazza a teljes Foundation Profile API-t. Opcionális csomagok: RMI JDBC Az egyes profilok által támogatott Java csomagok Package J2SE FP 1.0 PBP 1.0 PP 1.0 java.applet + részleges java.awt.* + részleges részleges java.beans.* + részleges részleges java.io java.lang.* java.math + részleges részleges + java.net java.rmi.* + opcionális opcionális opcionális java.security.* java.sql + opcionális opcionális opcionális java.text java.util.* javax.accessibility + javax.naming.* + javax.rmi.* + javax.sound.* + javax.swing.* + javax.transaction + org.omg.* + javax.microedition.io.* javax.microedition.xlet.*
13 2.4. Mobile Information Device Profile (MIDP) A Mobile Information Device Profile (MIDP) a CLDC-vel együtt a Java mobil eszközökre való futtatókörnyezete (JRE). CLDC és MIDP együtt olyan dinamikus és biztonságos platformot definiál, mely alkalmas magas szintű grafikus, hálózatot kezelő alkalmazás mobil eszközre történő fejlesztésére. A MIDP tartalmazza azokat az alapvető funkcionalitásokat, melyeket a szabványos Java környezetben futó mobil alkalmazások igényelnek. MIDP segítségével olyan alkalmazások írhatók, melyek a korszerű mobil eszközökre optimalizáltak. A MIDP lehetővé teszi hálózati alkalmazások futtatását is. MIDP alkalmazás letöltéséhez a felhasználó kiválasztja a webszerveren a letöltendő alkalmazást. Ezután a mobil eszköz letölti az alkalmazást, verifikálja és lefordítja bájtkódra és elindítja. A grafikus felhasználói interfész a kisméretű kijelzőre, illetve a bemenetet megvalósító és más natív eljárásokra méretezett. A MIDP a telefon billentyűzetének és egyéb gombok teljes kihasználásával biztosítja az intuitív navigációt és adatbevitelt. A MIDP alkalmazások kapcsolat nélkül is képesek futni, a mobil eszköz biztonságosan tárolja, és helyben kezeli az adatokat MIDP architektúra MIDP alkalmazások MIDP OEM specifikus alkalmazások OEM specifikus osztályok Natív alkalmazások CLDC Natív rendszerszoftver MID 3. ábra. A MIDP architektúra 13
14 A mobil eszközzel szemben támasztott hardver követelmények Kijelző: 96x54, színmélység 1 bit, közel négyzet alakú pixel Legalább egy a következő felhasználói input eszközökből: egykezes billentyűzet, kétkezes billentyűzet, érintőképernyő 256 kb nem felejtő memória a MIDP-nek (+ mai a CLDC-nek kell), ezenkívül 8 kb memória az alkalmazásoknak 128 kb felejtő memória (heap) Hálózat: kétirányú rádiós csatorna, korlátozott sávszélesség Hang: hangok lejátszására alkalmas HW eszköz vagy valamilye SW algoritmus A mobil eszközzel szemben támasztott szoftver követelmények A fenti hardver tulajdonságokkal rendelkező eszközök még mindig nagyon sokféle szoftverfuttatási lehetőséggel rendelkezhetnek. a MID környezet eszközeinek szoftverlehetőségei nagyon eltérhetnek egymástól. Pl. néhány mobil eszköz teljes operációs rendszerrel, multiprocesszing támogatással és hierarchikus fájlstruktúrával rendelkezik, míg más eszközök kis, szálalapú operációs rendszerrel rendelkeznek, fájlrendszer nélkül A szoftverben is követelményeket kell tehát támasztanunk az eszközzel szemben. Ezek a következők: minimális kernel, amely kezeli a hardvert (megszakítások, kivételek, minimális ütemezés.). A kernel képes legyen futtatni legalább egy virtuális gépet. biztosítsa a nem felejtő memóriából a való olvasás, illetve az oda történő írás lehetőségét olvasás és írási hozzáférés az eszköz rádiós hálózati kapcsolatán keresztül időkezelés minimális bitmap megjelenítése a grafikus kijelzőn legalább 1 input kezelése az előző fejezetben említettek közül az alkalmazás életciklusának kezelése 14
15 A MIDP környezetben futó Java alkalmazásokat MIDleteknek nevezzük. Ha alkalmazás töltünk le a webről, akkor nem a MIDletet töltjük le és indítjuk, hanem egy ún. MIDlet suit-ot, ami egy vagy több MIDlet-et tartalmaz összecsomagolva. A MIDlet suite többnyire több, hasonló funkciót ellátó vagy együttműködő MIDlet összessége. Az egy suiteban lévő MIDletek osztozhatnak az erőforrásokon (adat, grafika) ugyanabban a suite-ban lévő MIDletek hozzáférhetnek egy suite-beli MIDlet információihoz, míg más suite-ban lévő MIDletek erőforrásaihoz nem A MIDlet életciklus modellje A MIDP API javax.microedition.midlet csomagja a midletek életciklusával foglalkozik. MIDlet pédányosítása Paused Active Destroyed Garbage Colector 4. ábra. A MIDlet életciklus modellje A MIDlet életciklusának három állapota van. Állapotváltozásokat kezdeményezhet maga az alkalmazás a MIDlet osztálytól örökölt metódusainak meghívásával, vagy külső események hatására az AMS értesíti a midletet az életciklus-változásokról. Ekkor szintén a megfelelő metódus hívódik meg. A midlet a telepítéskor destroyed állapotba kerül. Ekkor nincs betöltődve a KVM-be. Az alkalmazás indításakor az AMS meghívja a midlet startapp() metódusát, és az aktív állapotba kerül. A futás szüneteltetésekor a pauseapp() hívódik meg, és az alkalmazás felfüggesztett állapotba kerül. A szüneteltetés magától is bekövetkezhet például egy bejövő 15
16 telefonhívás alkalmával, vagy ha új üzenet érkezik. Bár ebben a kérdésben a készülékgyártók MIDlet implementációi különböznek egymástól. Van ugyanis olyan implementáció, amely az előbb említett események hatására nem függeszti fel a működést, csak úgy veszi, hogy az alkalmazás képernyőjét egy másik képernyő eltakarja. Amikor az alkalmazást befejezzük, mielőtt az AMS törölné a midletet, meghívja a destroyapp() metódust. Ha ennek a paramétere nem igaz, akkor a midlet megakadályozhatja a befejeztetést, ha igaz, akkor nem Felhasználói felületek A javax.microedition.lcdui a felhasználói felületekért felelős csomag. A kis méret- és erőforrásigény elérése érdekében a KVM nem támogatja az olyan létező felhasználói felület API-kat, mint az AWT és a Swing. Ezek nemcsak nagy méretük miatt alkalmatlanok a mobiltelefonos használatra, hanem azért is, mert a mobil eszközök eltérő megközelítésből indulnak ki a felhasználói felületekkel kapcsolatban. Ezért ezek helyett egy új, a kis memóriával rendelkező eszközökre illeszkedő, és az azok különbözőségeiből fakadó követelményeknek is megfelelő API-t hoztak létre. Az LCDUI központi fogalma a képernyő. Az alkalmazások futása során a felhasználó képernyőről-képernyőre halad. A kijelzőn mindig az aktuális képernyő látható, amit a kijelző objektum (Display) setcurrent(displayable d) metódusával állíthatunk be. A MIDP API-ban képernyőt a Displayable osztály reprezentálja. A Displayable két közvetlen kiterjesztése a Canvas és a Screen osztály. A Canvas és leszármazottjai az alacsonyszintű felhasználói felületek, amelyek teljes hozzáférést biztosítanak a kijelzőhöz. A Canvas osztály definiál egy paint(graphics g) absztrakt metódust, amelyet a leszármazottaknak implementálniuk kell, és amely a képernyő kirajzolását végzi a Graphics objektumon keresztül. A kijelzőnek ez a fajta programozása nagyon fontos például játékok fejlesztésénél. A sudoku játékban a táblát megjelenítő képernyő (SudokuCanvas) is a Canvas leszármazottja. A Screen osztály a magasszintű felhasználói felületeket megvalósító osztályok őse. A magasszintű azt jelenti, hogy a képernyőtartalmak elemeinek a kirajzolása a telefon szoftverének a feladata, az határozza meg az elemek méretét, színét, helyét, stb. A programozó dolga az, hogy a képernyőn megjelenítendő tartalmat megadja. Így ugyanaz a képernyő különböző eszközökön különbözőképpen jelenhet meg. 16
17 5. ábra. Két különböző megjelenítés A Screen osztályból származik közvetlenül az Alert, a List, a TextBox, amelyek egy egész képernyőt foglalnak el, tartalmuk kötött, szerkezetüket nem lehet megváltoztatni és a Form osztály, amely űrlapok gyors és egyszerű készítését teszi lehetővé. Egy Formon különböző elemeket helyezhetünk el, mint például képek, szöveg elemek, szövegbeviteli mezők vagy választási lehetőségek. Ezek az elemek az Item osztály leszármazottjai. 6. ábra. A képernyők osztályhierarchiája 17
18 Az alacsony és magasszintű API-k nemcsak a tartalom megjelenítés módjában különböznek, hanem az események kezelésében is. Az alacsonyszintű API hozzáférést enged a billentyűzethez, azaz különböző gombnyomás eseményekhez eseménykezelőt tudunk rendelni. Egy alacsonyszintű esemény bekövetkezésekor egy, az eseménynek megfelelő metódus hívódik meg, amelyben az eseményeket kezelhetjük. Ilyen metódus például a keypressed(int keycode) vagy a keyreleased(int keycode). A keycode az eseményt kiváltó gomb kódját jelenti, amelyek a Canvas osztályban statikus adattagokként szerepelnek. A magasszintű felhasználói eseményeknek két fajtája van: o Egy Item típusú elem állapotának megváltozása. Ezek figyelését az elemhez rendelhető, egy az ItemStateListener interfészt implementáló példány végzi. Az esemény bekövetkezésekor a példánynak az eseménykezelő interfésztől örökölt itemstatechanged(item item) metódusa hívódik meg. Az Item típusú paraméter az eseményt kiváltó elemet hivatkozza. o Egy Command esemény bekövetkezte. Az ilyen típusú események Figyelése a CommandListener interfész egy implementációjának a feladata, amelynek meg kell valósítania az interfész CommandAction(Command c, Displayable d) metódusát, ami esemény bekövetkeztével hívódik meg. A paraméterek itt is az eseményt kiváltó parancs és az azt tartalmazó képernyőt jelenti. 18
19 Hálózatok kezelése A javax.microedition.io csomag a Generic Connection keretrendszert (GCF) valósítja meg. A legegyszerűbb általános kapcsolattípust a Connection interfész írja le. Ezt terjeszti ki a csomag többi interfésze, amelyek specializálják a kapcsolat típusát. 7. ábra. Connection interfész hierarchia A MIDP négyféle kapcsolattípust támogat: Http Datagram Socket Comm (logikai soros port kapcsolat) Ezek közül a Http kötelezően támogatott típus. Egy kapcsolat megnyitása a Connector osztály open() metódusával történik. Ennek a kötelező paramétere egy String, ami a cél URL-t reprezentálja a kapcsolattípusnak megfelelően. Visszatérési értéke egy megfelelő kapcsolatobjektum. 19
20 Perzisztens tárolás A MIDP egy egyszerű lehetőséget kínál adatok tárolására és visszatöltésére az alkalmazás leállítása és újraindítása után is. Ennek a megvalósítása javax.microedition.rms csomagban érhető el. Az RMS a Record Management System rövidítése. Az RMS kezeli a tárolt adatokat, ami egy rekordorientált adatbázis modellen alapul. Használatakor névvel ellátott tárolókat (RecordStore) hozhatunk létre, amelyek a MIDlet készlethez kötődnek és ennek törlésekor maguk is törlődnek. A rekordtárolóhoz a MIDlet készlet tagjai férhetnek hozzá, más MIDlet készlet tagjai nem. Ezekhez rekordként adhatunk adatokat és olvashatunk belőlük. A rekordok bájt tömbök, amelyek számozva kerülnek a tárolóba. Kiolvasásuk történhet sorszámuk alapján, vagy kérhetjük a rekordok felsorolását a RecordEnumeration segítségével. A mobiltelefonok erre a célra néhány tíz kilobájt és több megabájt között változó méretű területet biztosítanak a kategóriáktól függően. 20
21 3. A Sudoku 3.1. Játékszabály A Sudoku egy 9 9 cellából álló rács. A rács kilenc kisebb, 3 3-as blokkra oszlik, amelyben elszórva néhány 1-től 9-ig terjedő számot találunk. Az üresen maradt cellákat a játékosok töltik ki saját (ugyancsak 1-től 9-ig terjedő) számaikkal úgy, hogy minden vízszintes sorban, függőleges oszlopban, és 3 3-as blokkban az 1-től 9-ig terjedő számok pontosan egyszer szerepeljenek. 8. ábra. Egy sudoku tábla 3.2. Története Latin négyzet-nek nevezik az olyan NxN-es négyzetet, aminek minden sorában és oszlopában az 1-N számok egy-egy permutációja áll. Mivel ezzel Euler foglalkozott sokat, vannak, aki tőle származtatják a sudoku-t. A kiegészítő szabályt egy nyugdíjas amerikai építész, Howard Garns találta ki, ben. Egy New York-i rejtvény újságban közölt néhány rejtvényt "Number Place" néven. (Abban az évtizedben, mint Rubik a kockát) 21
22 1984-ben a "Nikoli" nevű japán rejtvény társaság átvette a rejtvényt, és a "sudoku" elnevezést adta neki. Japánban azóta töretlen a népszerűsége. Több folyóirat csak ezzel foglalkozik, és azt állítják, hogy ők még mindig kézzel csinálják a rejtvényeket végén az új-zélandi származású, hong-kongi Wayne Gould ajánlotta a számítógéppel készített rejtvényeit néhány neves angol újságnak, akik "kipróbálták", és európai siker lett belőle, sőt Amerikába is visszatért a játék. Howard Garns nem érte meg a nagy sikert, egyik forrás szerint 1981-ben, másik szerint 1989-ben meghalt Matematikája Egy konkrét N-re nyilvánvalóan véges sok sudoku kitöltés létezik. A 4x4-es esetben ezeket programmal gyorsan elő lehet állítani, a 9x9-es esetben (és a még nagyobb N-kre) számítógépnek is sok. Bertram Felgenhauer és Frazer Jarvis sheffieldi matematikusok programmal kiszámították, hogy különböző helyes (9x9-es) sudoku kitöltés létezik. Az alábbi - lényegesen különböző - transzformációkkal lehet jó sudoku kitöltésből másik jót készíteni: A kilenc számjegy permutációja; A mátrix transzponálása (sor-oszlop csere); A sorok permutálása egy 3x3-as blokkon belül; Az oszlopok permutálása egy 3x3-as blokkon belül; A 3x3-as sor-blokkok permutálása; A 3x3-as oszlop-blokkok permutálása. (A "lényegesen különböző" azt jelenti, hogy pl. a forgatások, tükrözések az előzőkben benne vannak.) Ha ezt figyelembe vesszük, akkor kiderül, hogy lényegesen különböző kitöltés létezik. Ezzel még el lesz egy darabig az emberiség. 22
23 Ez azért meglepő csökkenés, de vegyük figyelembe, hogy "a kilenc számjegy permutációja" egyetlen kitöltésből (9!-1) különböző másikat eredményez. És ezek mindegyikére végrehajthatók a fenti további műveletek! Ha úgy határozzuk meg a rejtvényt, hogy csak egy megoldása lehessen, akkor nem tudjuk, hogy minimum hány négyzetnek kell kitöltve lenni egy rejtvényben. Gordon Royle ausztrál matematikus már olyan lényegesen különböző egy megoldású sudoku rejtvényt halmozott fel, amiben 17 mező van kitöltve. Olyan rejtvényt még senki nem talált, amiben 17-nél kevesebb mező van kitöltve, és egy megoldása van. Sudoku rejtvény készítésénél célszerű először egy teljes megoldást készíteni, és ezután kitörölni belőle bizonyos mezőket (pl. nehézségi szintnek megfelelően). Az első elem meghatározása könnyű, a kilenc számjegy közül bármelyiket választhatjuk. Az összes többi elemnél figyelembe kell vennünk, hogy melyik mezőkkel van függésben (pl. a második elem felvehető értékei csak az első mező értékétől függenek). Az utolsó sor/oszlop, és a 3x3-as dobozok értékei egyértelműen meghatározhatóak. Természetesen elég nagy a valószínűsége annak, hogy ha elérkezünk egy adott mezőhöz, az előzőleg kitöltött mezők alapján nem vehet fel már semmilyen értéket. Ekkor vissza kell lépnünk az előző mezőhöz, és egy másik számjegyet választanunk értékül. A témával bővebben a program megvalósításánál foglalkozom. 23
24 4. Alkalmazás specifikációk 4.1. Áttekintés Általános leírás Az alkalmazás a sudoku játékot valósítja meg mobil környezetben. A játékot egy időben egy személy játszhatja Általános követelmények A játék a sudoku (9x9) szabályai szerint történik. Egy 81 elemű (9x9) táblázat előre nem megadott mezőit lehet kitölteni. Lehetőség van új játék kezdésére. A játékot menteni lehet, és később folytatni. A játékból való kilépéskor, vagy a játék szüneteltetésekor (pl. telefonhívás) a játék elmentődik. Lehetőség van nehézségi szint beállítására. A programban meg lehet nézni az elkezdett játékok számát, és a játékszabályt is Rendszerkövetelmények A rendszer platformfüggetlen. Programozási nyelv: Java Célhardver: CLDC1.0 / MIDP1.0 képes eszköz (elsősorban mobileszköz) Minimum 256 színű kijelző javasolt, de lehet szürkeskálás is. 24
25 4.2. Felhasználói esetek Játék előtti műveletek o Játék folytatása o Új játék o Beállítások Játék műveletek o Kilépés + mentés o Ellenőrzés o Főmenübe lépés + mentés 9. ábra. Felhasználói esetek 25
26 4.3. Felhasználói felületek főmenü beállítások információk játék közben 26
27 5. Alkalmazás architektúra Az alkalmazás kapcsolatot tart a felhasználóval, a felhasználó által végzett műveleteket információvá alakítja. Két fő részből épül fel: Felhasználói interfész Adattárolás A felhasználói interfész megjeleníti a felhasználó számára a sudoku táblát a játék aktuális állásával. Ezen kívül további információkat is ad a játékról. Figyeli a játékos lépéseit, és kirajzolja a változásokat. Az adattárolási rész az RMS segítségével a rekordtárolóba való adatmentésért és az adatok szükség esetén történő visszatöltéséért felel. A nehézségi szintet és az elkezdett játékok számát is ide kell eltárolni. Egy játék mentésekor a sudoku táblát leíró információk is ide kerülnek, és a játék folytatásakor innen töltődnek be. 27
28 6. A játék megvalósítása Az alkalmazás egy MIDP alkalmazás, fő osztálya a Sudoku osztály, mely a MIDlet osztály leszármazottja. Továbbá a Sudoku osztály implementálja a CommandListener interfészt. Ezzel kezeli a magas szintű eseményeket, mellyel meghatározza a parancsok viselkedését. A SudokuCanvas (A Canvas osztály leszármazottja) osztály valósítja meg a tábla megjelenítését. A SudokuCanvas alacsonyszintű eseménykezelő és alacsonyszintű felhasználói felület. A Table osztály egyik feladata a sudoku tábla értékeinek generálása, újragenerálása, valamint adott számú mező nem láthatóvá tétele a nehézségi foknak megfelelően. Ugyancsak a Table osztály tartja számon annak a mezőnek a koordinátáit, amelyiken adott pillanatban a játékos áll. A játék megoldásának ellenőrzéséért is ez az osztály felel. A tábla egyes mezői TableItem típusú objektumokból állnak. A TableItem osztályban tárolódnak az adott mezők tulajdonságai, továbbá a mező értékének meghatározására szolgáló metódusok A MIDlet A Sudoku példányosításakor létrejönnek az alkalmazásban használt parancspéldányok, a megjelenítendő táblázat egy példánya, és a képernyő. Alkalmazásindításkor a Sudoku osztály startapp() metódusa hívódik meg. A startapp() metódus a főmenüt teszi az aktuális képernyővé. Ezenkívül megnyitásra kerülnek a beállítások és a mentett játék rekordjai, és betöltődnek a beállítások. 28
29 6.2. A főmenü A List segítségével egyszerűen és gyorsan lehet menüket létrehozni: mainmenu = new List("Sudoku", Choice.IMPLICIT); mainmenu.append("játék folytatása", null); mainmenu.append("új játék", null); mainmenu.append("beállítások", null); mainmenu.append("információk", null); mainmenu.append("kilépés", null); 10. ábra. A főmenü megvalósítása A főmenü öt menüpontból áll: Játék folytatása Ebből a pontból lehet folytatni a mentett játékot. Amennyiben nem volt még mentve játék (pl. első játék), akkor jelzi a felhasználó felé ezt. Új játék Innen indíthat új játékot a felhasználó. Ezt a menüpontot választva egy az aktuális feladvány táblázata jelenik meg a képernyőn. Beállítások A beállítások pont a nehézségi fokozat beállítására szolgál. Három nehézségi fokozat közül választhat. Információk Itt tekinthető meg az elkezdett játékok száma, továbbá a játékszabály leírása is itt érhető el. Kilépés Az alkalmazásból való kilépésre szolgál. Kilépéskor az aktuális feladvány mentésre kerül. 29
30 6.3. A játék menete A játék során az aktuális képernyő a SudokuCanvas. Ez csak ellenőrzéskor változik meg, amikor valamilyen üzenet jelenik meg a képernyőn Új játék indítása Új játék indításakor növeljük az elkezdett játékok számát, majd elmentjük a beállításokat, amely ezen adatot is tartalmazza. Ezután generálunk egy új feladványt, és a SudokuCanvas lesz a képernyő A feladvány generálása A SudokuCanvas tartalmazza a Table osztály egy példányát (table), melyben a táblázatot egy 81 elemű (9x9) TableItem típusú tömb tárolja. A choosablefieldindexes egy Vector típusú objektum, ezt tárolja, mely mezők értékei nem kerültek törlésre a feladvány készítésekor. A Table osztály példányosításakor még nem jönnek létre a táblázat mezői, hanem csak a choosablefieldindexes vektort töltjük föl, természetesen az összes index-szel. public Table(){ for(int i = 0; i < 9; i++){ for(int j = 0; j < 9; j++){ int ind[] = new int[2]; ind[0] = i; ind[1] = j; choosablefieldindexes.addelement(ind); } } } 11. ábra. A Table osztály konstruktora A feladvány generálására a generatesudoku() metódust használhatjuk. A metódus megvizsgálja, hogy az alkalmazás indítása után indítottunk-e már játékot. Amennyiben igen, akkor alapállapotba állítja a táblázatot. Ezután a Table osztály makeapuzzle() metódusával 30
31 generál egy új megoldást. A metódus bejárja a 81 elemű kétdimenziós tömböt. Amennyiben visszalépés történt, az adott mező felvehető értékeiből töröljük a mező aktuális értékét, így későbbi iterációs lépésekben már nem veheti fel. Ha nem történt visszalépés, egy új elemmel tölti fel a kétdimenziós tömböt. Beállítja az elem felvehető értékeit, majd beállít egy véletlen értéket. Amennyiben nem sikerül új értéket beállítani (nincs több felvehető érték), akkor visszalép az előző elemre, egyébként a következő elemre. public boolean makeapuzzle(){ boolean backstep = false; for(int i = 0; i<9; i++) { for(int j = 0; j<9; j++) { if(backstep)table[i][j].setavalidnumberfalse(table[i][j].getvalue()-1); else{ table[i][j] = new TableItem(); setvalidnumbers(i,j); } backstep = false; if(!table[i][j].setrandomvalue()){ backstep = true; if(j>1)j-=2; else{ if(i>0){ i-=1; if(j==0)j = 7; else j = 8; } else return false; } } } } return true; } 12. ábra. A makeapuzzle metódus A generálásban használt metódusok: <TableItem>.setAValidNumberFalse(): a paraméteréül kapott értéket törli a felvehető értékek közül. 31
32 <Table>.setValidNumbers(): a paraméteréül kapott indexű elemnek beállítja a felvehető értékeit. <TableItem>.setRandomValue (): beállít egy véletlen értéket az adott elemhez a felvehető értékek közül. Miután elkészült a teljes megoldás, nem láthatóvá kell tennünk bizonyos elemeket. Ezek lesznek azok a mezők, amiket a játékosnak kell kitöltenie (A többi mező értékét a játékos nem tudja megváltoztatni). Ezt a deletenumbers() metódus végzi. A nehézségi foknak megfelelően bizonyos számú mezők értékeit véletlenszerűen nem láthatóvá teszi. A könnyű fokozat az alapértelmezett. Három nehézségi szint van: könnyű: 33 elem lesz láthatatlan közepes: 43 elem lesz láthatatlan nehéz: 53 elem lesz láthatatlan A véletlen koordinátákat a getarandomindexfromtable() metódustól kapjuk, amely a choosablefieldindexes vektorból véletlenszerűen választ egy elemet. Egyúttal törli az indexeket a choosablefieldindexes vektorból, így a következő alkalommal nem kaphatjuk ugyanazokat az indexeket. A feladvány generálása után a SudokuCanvas lesz a képernyő A játékfelület A játékfeületen a 3x3-as dobozok különböző színnel vannak jelölve a könnyebb átláthatóság érdekében. Bordó számjegyek a feladvány generálása után látható mezőkön vannak. A játékos által kitöltött mezőkön a számjegyek kékek. Zöld színnel az a mező van jelölve, amelyik mezőn éppen állunk. A játékfelület kirajzolása a SudokuCanvas paint() metódusával történik. A metódus a kijelző méretének függvényében rajzolja ki a játékteret. 32
33 13. ábra. A játékfelület A számjegyeket a billentyűzet számjegyeivel tudjuk beírni. A 0-s billentyű lenyomásávals törölhetjük az adott elemet, de csak akkor, ha a felhasználó által kitölthető mező az aktuális. A mezőkön lépkedni a készüléken lévő kurzorok segítségével lehet A megoldás ellenőrzése 14. ábra. Játék közbeni menü 33
34 Ha kitöltöttük a feladványt, lehetőségünk van a megoldás helyességének ellenőrzésére. A menüből az ellenőrzés gombot kiválasztva az alkalmazás ellenőrzi a kitöltést. Az ellenőrzésnek három lehetséges kimenetele van: Nincs kitöltve az összes mező. Helytelen a megoldás Helyes a megoldás Mindhárom esetben egy üzenet jelenik meg a képernyőn. Üzenetet az Alert osztály segítségével könnyen tudunk eljuttatni a felhasználóhoz. Nagyon egyszerű az üzenethez szöveget vagy akár képet is hozzárendelni. Megadható továbbá, hogy mennyi ideig jelenjen meg az üzenet Image img; try{ img = Image.createImage("/images/wrong.png"); } catch (IOException e) {img = null;} Alert a = new Alert("Üzenet","Nincs mentett játék!",img,null); a.settimeout(3000); dpy.setcurrent(a); 15. ábra. Egy üzenet megjelenítése képpel Az allfieldsetcheck() metódus ellenőrzi, hogy az összes mezőt kitöltöttük-e, amennyiben nem, üzenetet küld. A solutioncheck() metódus visszatérési értéke igaz, ha helyesen töltötte ki a játékos a feladványt, és hamis, ha helytelenül. Természetesen ezekről is tájékoztatja a felhasználót. A feladvány generálásakor használt metódusokat használja. Megkeresi az adott mezővel függésben lévő mezőket (egyező sorban, osztlopban, vagy 3x3-as dobozban vannak.). Amennyiben valamelyikben is egyezést talál, hamis értékkel tér vissza. 34
35 16. ábra. Nem teljesen kitöltött feladvány, és az ellenőrzéskor kapott üzenet 17. ábra. Nem jól kitöltött feladvány, és az ellenőrzéskor kapott üzenet 35
36 18. ábra. Jól kitöltött feladvány, és az ellenőrzéskor kapott üzenet A főmenü gombot választva a főmenübe jutunk, ekkor a játék eddigi állása mentésre kerül, és később ebből az állásból folytatható Játék folytatása Játék folytatásakor ellenőrizzük, hogy van-e már mentett játékállásunk. Amennyiben még nincs, egy üzenettel közöljük a felhasználó felé. Egyébként betöltjük a mentett állást. A játék betöltését a restoregamestore() metódussal végezzük. Előzőleg az állás mentésekor külön eltároltuk az egyes mezőkhöz tartozó értékeket, valamint azt, hogy az adott mező értéke látható-e vagy sem a játékos számára. Létrehoz egy üres sudoku táblát, majd a mentett értékekkel és láthatósági tulajdonságokkal feltölti azt. A betöltés után a játék az előzőleg abbahagyott állapotából folytatható. 36
37 private boolean restoregamestore() { if (gamestore!= null && gamevisibilitystore!= null) { try { byte[] game = gamestore.getrecord(2); byte[] gamevisibility = gamevisibilitystore.getrecord(3); booolean vis; if (game.length == 81 && gamevisibility.length == 81) { stable.table.makeanemptypuzzle(); int i,j; for(int k = 0; k < 81; k++){ i = k / 9; j = k % 9; stable.table.table[i][j].setvalue(game[k]); vis = (gamevisibility[k] == 1)?true:false; stable.table.table[i][j].setisvisible(vis); } return true; } } catch (RecordStoreException ex) {} } return false; } 19. ábra. Mentett játékállás betöltése Beállítások A beállításoknál megadhatjuk a nehézségi szintet. A nehézségi szint megadását egy Form segítségével oldottam meg. A Form könnyen megjeleníthető a képernyőn, a fokozatok közötti választást pedig a ChoiceGroup osztálly segítségével valósítottam meg. optionsform = new Form("Beállítások"); optionsform.addcommand(okcommand); optionsform.setcommandlistener(this); difficultychoice = new ChoiceGroup("Nehézségi szint", Choice.EXCLUSIVE); difficultychoice.append("könnyű", null); difficultychoice.append("közepes", null); difficultychoice.append("nehéz", null); difficultychoice.setselectedindex(stable.table.getdifficulty(), true); optionsform.append(difficultychoice); 20. ábra. A beállítások formjának létrehozása 37
38 Információk Az információk képernyőt a beállításokhoz hasonlóan a Form osztály segítségével valósítottam meg, a játékok számát pedig az előzőleg elmentett információkból nyerem vissza. Itt olvashatja el a felhasználó a játékszabályt is Kilépés A játékból való kilépéskor mentésre kerülnek a beállítások, és az utolsó játékállás, majd véget ér az alkalmazás 38
39 7. Következtetés Az alkalmazás architektúrája nem csak a sudoku játék megvalósítására alkalmas. A játék megoldó algoritmusainak átírásával / cseréjével bármilyen táblás játék elkészítésére lehetőség van. A játéknak rengeteg továbbfejlesztési módja lehetséges. Egy lehetséges továbbfejlesztési mód kiegészíteni az alkalmazást hálózati kapcsolattal, mellyel lehetőség nyílna egy szerveren eltárolni a játékosok játékainak adatait, így versenyt felállítani közöttük. Egy másik lehetőség, hogy a játékos testre szabhatja saját játékát, tehát nem csak a nehézségi szinteket adhatja meg. Megadhatja például, hogy lehessen-e több, vagy csak egy megoldása a feladványnak, a kitöltött feladványból kitörlendő mezők számát, a kitörlendő mezők szimmetrikusak legyenek-e vagy sem. Manapság egyre gyakoribb, hogy nem a megszokott 9x9-es táblán, hanem ennél nagyobb, például 16x16-os, vagy akár ennél is nagyobb táblán játszanak. Ekkor természetesen a számjegyeken kívül újabb karakterekre van szükség. Általában az abc betűit használják erre. Léteznek a 9x9-esnél könnyebb (pl. 5x5), sőt, még nem szimmetrikus táblájú feladványok is. Egy érdekes fejlesztés lehet az alkalmazás más platformra való átvitele (pl. webes alkalmazás), így a játék szinte bárhonnan játszható lenne kényelmesebb felületen is. Az elkészített alkalmazás könnyen továbbfejleszthető az előzőekben leírt, és más irányokba is, melyek javíthatják a játékélményt (Színek, karakterek beállítása stb.). 39
40 Irodalom CLDC specifikáció (JSR 30) CDC specifikáció (JSR 36) CDC Whitepaper MIDP specifikáció (JSR 37) MIDP leírások (JSR 37, JSR 118) Makay Géza Wikipedia sudoku CDC Personal Profile CDC Personal Basis Profile RMI 40
41 Függelék A MANIFESTN.MF és a JAD fájlok Sudoku.jad: MIDlet-1: Sudoku, Sudoku.png, Sudoku MIDlet-Jar-Size: MIDlet-Jar-URL: Sudoku.jar MIDlet-Name: Sudoku MIDlet-Vendor: Veszeli Tamás MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP-1.0 MANIFEST.MF: MIDlet-1: Sudoku, Sudoku.png, Sudoku MIDlet-Name: Sudoku MIDlet-Vendor: Veszeli Tamás MIDlet-Version: 1.0 MicroEdition-Configuration: CLDC-1.0 MicroEdition-Profile: MIDP
42 Köszönetnyilvánítás Köszönetet mondok Dr. Fazekas Gábor témavezetőmnek, hogy lehetőséget biztosított munkám sikeres elvégzéséhez és dolgozatom megírásához. Köszönöm segítőkész támogatását és dolgozatom alapos és kritikus átnézését. 42
Kétszemélyes játék Bluetooth kapcsolaton megvalósítva
Debreceni Egyetem Informatikai Kar Kétszemélyes játék Bluetooth kapcsolaton megvalósítva Témavezető: Dr. Fazekas Gábor egyetemi docens Készítette: Szabó Zoltán programtervező matematikus Debrecen 2008.
A J2ME architektúrája. Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu
A J2ME architektúrája Léczfalvy Ádám leczfalvy.adam@nik.bmf.hu A Java család A J2ME architektúrája Konfigurációk Profilok Opcionális csomagok 2 3 Lehetővé tegye a Java alkalmazások futtatását hordozható
Mérési útmutató a JAVA Micro Edition méréshez
Mérési útmutató a JAVA Micro Edition méréshez Szoftverfejlesztés mobil végberendezésekre Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar Híradástechnikai Tanszék Mobil
Számítógépes vírusok
A vírus fogalma A számítógépes vírus olyan szoftver, mely képes önmaga megsokszorozására és terjesztésére. A vírus célja általában a számítógép rendeltetésszerű működésének megzavarása, esetleg a gép tönkretétele,
SAP JAM. Felhasználói segédlet
SAP JAM Felhasználói segédlet Belépés A JAM modul az SAP SuccessFactors rendszer része. Tökéletesen biztonságos online rendszer. Felhasználónév és jelszó segítségével lehet bejelentkezni. Böngészőbe beírva
Shared IMAP beállítása magyar nyelvű webmailes felületen
Shared IMAP beállítása magyar nyelvű webmailes felületen A következő ismertető segítséget nyújt a szervezeti cím küldőként való beállításában a caesar Webmailes felületén. Ahhoz, hogy a Shared Imaphoz
Vodafone ReadyPay. Használati útmutató
Vodafone ReadyPay Használati útmutató 1 - Párosítás Bluetooth-on keresztül, első beállítások 2 - Fizetés 3 - Menüpontok Párosítás Bluetooth-on keresztül, első beállítások Az első lépés Megjegyzés: A ReadyPay
Programozás I. - 9. gyakorlat
Programozás I. - 9. gyakorlat Mutatók, dinamikus memóriakezelés Tar Péter 1 Pannon Egyetem M szaki Informatikai Kar Rendszer- és Számítástudományi Tanszék Utolsó frissítés: November 9, 2009 1 tar@dcs.vein.hu
A táblázatkezelő felépítése
A táblázatkezelés A táblázatkezelő felépítése A táblázatkezelő felépítése Címsor: A munkafüzet címét mutatja, és a program nevét, amivel megnyitottam. Menüszalag: A menüsor segítségével használhatjuk az
Az első lépések. A Start menüből válasszuk ki a Minden program parancsot. A megjelenő listában kattintsunk rá az indítandó program nevére.
A számítógép elindítása A számítógépet felépítő eszközöket (hardver elemeket) a számítógépház foglalja magába. A ház különböző méretű, kialakítású lehet. A hátoldalán a beépített elemek csatlakozói, előlapján
Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag
Krizsán Zoltán 1 [2012. március 12.] Általános Informatikai Tanszék Miskolci Egyetem Objektumorientált programozás C# alapokon tananyag Tartalom Bevezetés Bevezetés Outline Bevezetés Bevezetés Példány
Párhuzamos programozás
Párhuzamos programozás Rendezések Készítette: Györkő Péter EHA: GYPMABT.ELTE Nappali tagozat Programtervező matematikus szak Budapest, 2009 május 9. Bevezetés A számítástechnikában felmerülő problémák
AWP 4.4.4 TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN
Hatályos: 2014. február 13. napjától AWP 4.4.4 TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN Telepítési segédlet 1054 Budapest, Vadász utca 31. Telefon: (1) 428-5600, (1) 269-2270 Fax: (1) 269-5458 www.giro.hu
HÁLÓZATSEMLEGESSÉG - EGYSÉGES INTERNET SZOLGÁLTATÁS-LEÍRÓ TÁBLÁZAT
HÁLÓZATSEMLEGESSÉG - EGYSÉGES INTERNET SZOLGÁLTATÁS-LEÍRÓ TÁBLÁZAT - 2016.04.01 után kötött szerződésekre Díjcsomag neve Go Go+ Go EU Go EU+ Kínált letöltési sebesség - 3G 42 Mbit/s 42 Mbit/s 42 Mbit/s
Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS. v2.9.28 ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ
v2.9.28 Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ AW STUDIO Nyíregyháza, Luther utca 5. 1/5, info@awstudio.hu Árverés létrehozása Az árverésre
Dr. Schuster György. 2014. február 21. Real-time operációs rendszerek RTOS
Real-time operációs rendszerek RTOS 2014. február 21. Az ütemező (Scheduler) Az operációs rendszer azon része (kódszelete), mely valamilyen konkurens hozzáférés-elosztási problémát próbál implementálni.
Külső kártyaeszközök Felhasználói útmutató
Külső kártyaeszközök Felhasználói útmutató Az SD embléma a jogtulajdonos védjegye. Copyright 2009 Hewlett-Packard Development Company, L.P. Az itt szereplő információ előzetes értesítés nélkül változhat.
HENYIR felhasználói dokumentáció
HENYIR felhasználói dokumentáció A HENYIR alkalmazás segítségével az egészségügyi dolgozók foglalkoztatásával kapcsolatos adatokat tartalmazó űrlap beküldését lehet elvégezni. Az alkalmazás a www.antsz.hu
ÚTMUTATÓ A KONTROLL ADATSZOLGÁLTATÁS ELKÉSZÍTÉSÉHEZ (2012-TŐL)
ÚTMUTATÓ A KONTROLL ADATSZOLGÁLTATÁS ELKÉSZÍTÉSÉHEZ (2012-TŐL) A 2006-2010. évre vonatkozó, régebbi adatszolgáltatások esetében az adatszolgáltatás menete a mostanitól eltérő, a benyújtáshoz különböző
Ablakok használata. 1. ábra Programablak
Ha elindítunk egy programot, az egy Ablakban jelenik meg. A program az üzeneteit szintén egy újabb ablakban írja ki számunkra. Mindig ablakokban dolgozunk. Az ismertetett operációs rendszer is az Ablakok
Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre
Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre Windows XP, Vista és Windows 7 operációs rendszeren, PFX fájlban található tanúsítvány és kulcsok esetében 1(7)
Minta programterv a 1. házi feladathoz
Programozás Minta programterv a 1. házi feladathoz Gregorics Tibor EHACODE.ELTE gt@inf.elte.hu 0.csoport 1. beadandó/0.feladat 1. 2011. december 28. Feladat Egy osztályba n diák jár, akik m darab tantárgyat
Útmutató az EPER-ben már regisztrált szervezetek elektori jelentkezéséhez
Útmutató az EPER-ben már regisztrált szervezetek elektori jelentkezéséhez A Nemzeti Együttműködési Alap (a továbbiakban: NEA) civil jelöltállítási rendszerébe jelentkezhetnek azok a civil szervezetek (a
Egyre nagyobb profitot generálnak a mobiltelefonnal végzett vásárlások, és egyre többet hezitálunk vásárlás előtt
Egyre nagyobb profitot generálnak a mobiltelefonnal végzett vásárlások, és egyre többet hezitálunk vásárlás előtt 2016 ban még nagyobb hangsúlyt kapnak az e kereskedelmeben az okostelefonok. 2015 ben még
Üresként jelölt CRF visszaállítása
Üresként jelölt CRF visszaállítása Ha egy CRF vagy bizonyos mező(k) ki vannak szürkítve (üresként jelölve), akkor a megjelölés üresként eszközre kell kattintania, majd törölni a kiválasztott jelölőnégyzet
SÜTIK TÖRLÉSE. Készült: 2015. 08. 08. Módosítva: 2016. 04. 18.
SÜTIK TÖRLÉSE Ez a segédlet azért készült, hogy segítséget nyújtson az ÉTDR-ben esetlegesen bekövetkező, böngésző által eltárolt adatok miatti hibák elhárításához Készült: 2015. 08. 08. Módosítva: 2016.
Vasúti információs rendszerek gyakorlat
Vasúti információs rendszerek gyakorlat 2014. október 30. Horváth Krisztián tanszéki mérnök 1 A TAKT egy olyan szoftvereszköz, amely hatékonyan segíti modern menetrendi struktúrák tervezését, konkrét menetrendi
2011. március 9. Dr. Vincze Szilvia
. márius 9. Dr. Vinze Szilvia Tartalomjegyzék.) Elemi bázistranszformáió.) Elemi bázistranszformáió alkalmazásai.) Lineáris függőség/függetlenség meghatározása.) Kompatibilitás vizsgálata.) Mátri/vektorrendszer
Külső eszközök Felhasználói útmutató
Külső eszközök Felhasználói útmutató Copyright 2008 Hewlett-Packard Development Company, L.P. Az itt szereplő információ előzetes értesítés nélkül változhat. A HP termékeire és szolgáltatásaira vonatkozó
Fábián Zoltán Hálózatok elmélet
Fábián Zoltán Hálózatok elmélet Minden olyan dologi és személyi eszköz, ami egy cél eléréséhez szükséges Dologi erőforrás Olyan eszközök, amelyek kellenek a cél eléréséhez Emberi erőforrás Emberi munkaidő.
Digitális technika (VIMIAA01) Laboratórium 1
BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM VILLAMOSMÉRNÖKI ÉS INFORMATIKAI KAR MÉRÉSTECHNIKA ÉS INFORMÁCIÓS RENDSZEREK TANSZÉK Digitális technika (VIMIAA01) Laboratórium 1 Fehér Béla Raikovich Tamás,
A Hozzárendelési feladat megoldása Magyar-módszerrel
A Hozzárendelési feladat megoldása Magyar-módszerrel Virtuális vállalat 2013-2014/1. félév 3. gyakorlat Dr. Kulcsár Gyula A Hozzárendelési feladat Adott meghatározott számú gép és ugyanannyi független
IKU WORLD KOCKA Játékszabály. IKU WORLD Gondolkodásfejlesztő Vállalkozás
NN IKU WORLD KOCKA Játékszabály MAGYAR OLASZ IKU WORLD Gondolkodásfejlesztő Vállalkozás IKU WORLD KOCKA Logikai társasjáték Egy új játék, melyet sokféleképpen lehet használni: kirakójáték, társasjáték,
Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások
Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások Alkalmazás modellek Egy felhasználós környezet Több felhasználós környezet adatbázis Központi adatbázis adatbázis Osztott adatbázis
Linux Mint 8 telepítése
Linux Mint 8 telepítése Be kell valljam ez az egyik kedvencem az Ubuntu alapú disztribúciók közül. Már több alkalommal is felpakoltam a különböző verziót és nem nagyon volt vele gondom. Illetve csak a
EPER E-KATA integráció
EPER E-KATA integráció 1. Összhang a Hivatalban A hivatalban használt szoftverek összekapcsolása, integrálása révén az egyes osztályok, nyilvántartások között egyezőség jön létre. Mit is jelent az integráció?
Tartalomjegyzék. Tartalom 1/16
Tartalom 1/16 Tartalomjegyzék Tartalomjegyzék... 1 LOGA telepítése... 2 Leírás 1 Fájl szerveres telepítés leírás... 3 Leírás 2 LOGA mentése... 4 Melléklet 1 A LOGA telepítése (futtatható állományok telepítése)...
INFORMATIKAI ALAPISMERETEK
0611 ÉRETTSÉGI VIZSGA 2006. május 18. INFORMATIKAI ALAPISMERETEK KÖZÉPSZINTŰ ÍRÁSBELI ÉRETTSÉGI VIZSGA JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ OKTATÁSI MINISZTÉRIUM Fontos tudnivalók Általános megjegyzések: Ha egy
E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ
E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ BEJELENTKEZÉS NÉLKÜL ELÉRHETŐ FUNKCIÓK 1. Adónaptár A bejelentkezést követően lehetőség van az eseményekről értesítést kérni! 2. Pótlékszámítás 3. Elektronikus űrlapok
FTP-kapcsolat létrehozása FlashFXP alatt
Telepítés után elindul a FlashFXP, a következő képernyő fogadja majd a felhasználót. A programban 2 lehetőség van FTP-kapcsolat létesítésére. Egy úgynevezett quick connect, illetve van egy lehetőség csatlakozás
Külső eszközök Felhasználói útmutató
Külső eszközök Felhasználói útmutató Copyright 2009 Hewlett-Packard Development Company, L.P. Az itt szereplő információ előzetes értesítés nélkül változhat. A HP termékeire és szolgáltatásaira vonatkozó
Prop-Tech. Vázmérő. Telepítési és eltávolítási útmutató
Prop-Tech Telepítési és eltávolítási útmutató Magyar Hungarian 5 / 1 Prop-Tech Vázmérő Telepítési és eltávolítási útmutató Tartalomjegyzék Telepítés... 2 Előfeltételek... 2 Telepítés folyamata... 2 Biztonsággal
www.acelkft.hu Elektronikus öltözőszekrényzárak
Elektronikus öltözőszekrényzárak Tronic Pro elektronikus szekrényzár Sportlétesítmények, uszodák, fürdők, szállodák, fitness klubok, bevásárló központok, iskolák, egyetemek, repülőterek, kollégiumok, hivatalok,
OmniTouch 8400 Instant Communications Suite 4980 Softphone
OmniTouch 8400 Instant Communications Suite Gyors kezdési segédlet R6.0 Mi a? Az Alcatel-Lucent Windows desktop client segédprogram jóvoltából számítógépe segítségével még hatékonyabban használhatja az
A beállítási segédprogram Használati útmutató
A beállítási segédprogram Használati útmutató Copyright 2007, 2008 Hewlett-Packard Development Company, L.P. A Windows elnevezés a Microsoft Corporation bejegyzett kereskedelmi védjegye az Amerikai Egyesült
Mobiltelefónia & biztonság
Technikai fejlődés és biztonság Kéz a kézben vagy egymás ellen? Farkas István Zoltán PR. I. év 2015 A mobilhálózatok fejlődése 0. Generáció: - 1945-ben elkészült mobil rádiótelefont, - Ez a hálózati infrastruktúra
1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.
1. Metrótörténet A fővárosi metróhálózat a tömegközlekedés gerincét adja. A vonalak építésének története egészen a XIX. század végéig nyúlik vissza. Feladata, hogy készítse el a négy metróvonal történetét
Az aktiválódásoknak azonban itt még nincs vége, ugyanis az aktiválódások 30 évenként ismétlődnek!
1 Mindannyiunk életében előfordulnak jelentős évek, amikor is egy-egy esemény hatására a sorsunk új irányt vesz. Bár ezen események többségének ott és akkor kevésbé tulajdonítunk jelentőséget, csak idővel,
Erste MobilBank Felhasználói kézikönyv
Erste MobilBank Felhasználói kézikönyv Tartalom 1. Az Erste MobilBank alkalmazásról... 2 2. Felhasználási feltételek... 3 2.2. Ügyfélkör... 3 3. Az alkalmazás letöltése és használata... 4 3.1. Alkalmazás
Fókuszban a formahibák. Konzultációs nap Minőségfejlesztési Iroda 2013. szeptember 18. Fekete Krisztina
Fókuszban a formahibák Konzultációs nap Minőségfejlesztési Iroda 2013. szeptember 18. Fekete Krisztina Néhány számadat 2 Benyújtott kérelmek száma: 127 Formai okokból hiánypótlásra felszólított kérelmezők
V. 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
Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán
Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán Egy mintapéldán keresztül mutatjuk be a GRASS vektoros elemzési műveleteit. Az elemzési mintafeladat során gumipitypang termesztésére
Kérjük, hogy mielőtt elkezdené használni a Csavarhat webáruházat, gondosan olvassa végig ezt a segédletet.
Csavarhat webáruház Részletes útmutató a webáruház használatához Kérjük, hogy mielőtt elkezdené használni a Csavarhat webáruházat, gondosan olvassa végig ezt a segédletet. Cégeknek, kis- és nagykereskedőknek,
A Felhasználónév és Jelszó mezőkbe írjuk be az adatainkat, majd kattintsunk a Bejelentkezés gombra, vagy üssük le az Enter billentyűt.
A GMAIL levelező rendszer indítása Indítsuk el a számítógépünkre telepített internet böngésző programunkat. (pl. Internet Explorer, Google Chrome, Mozilla Firefox, stb.) A böngésző címsorába írjuk be:
Bár a digitális technológia nagyon sokat fejlődött, van még olyan dolog, amit a digitális fényképezőgépek nem tudnak: minden körülmények között
Dr. Nyári Tibor Bár a digitális technológia nagyon sokat fejlődött, van még olyan dolog, amit a digitális fényképezőgépek nem tudnak: minden körülmények között tökéletes színeket visszaadni. A digitális
Fordítóprogramok Készítette: Nagy Krisztián
Fordítóprogramok Készítette: Nagy Krisztián Reguláris kifejezések (FLEX) Alapelemek kiválasztása az x karakter. tetszőleges karakter (kivéve újsor) [xyz] karakterhalmaz; vagy egy x, vagy egy y vagy egy
Adatok ábrázolása, adattípusok. Összefoglalás
Adatok ábrázolása, adattípusok Összefoglalás Adatok ábrázolása, adattípusok Számítógépes rendszerek működés: információfeldolgozás IPO: input-process-output modell információ tárolása adatok formájában
IDE64 dokumentáció. A merevlemez előkészítése az első használatra. 1. Előkészítés. 2. Csatlakoztatás. 3. Segédprogram másolás
IDE64 dokumentáció A merevlemez előkészítése az első használatra 1. Előkészítés Első lépésben a szükséges segédprogramokat kell előkészíteni hogy át tudjuk rakni az 1541-es floppylemezre. Ha nincs jól
I. Országgyűlés Nemzeti Választási Iroda
I. Országgyűlés Nemzeti Választási Iroda I. A célok meghatározása, felsorolása A választási eljárásról szóló 2013. évi XXXVI. törvény (a továbbiakban: Ve.) 76. -a alapján a Nemzeti Választási Iroda folyamatosan
Segítünk online ügyféllé válni Kisokos
Segítünk online ügyféllé válni Kisokos Kedves Ügyfelünk! Szeretnénk, ha Ön is megismerkedne Online ügyfélszolgálatunkkal, melyen keresztül kényelmesen, könnyedén, sorban állás nélkül intézheti energiaszolgáltatással
Vegyes tételek könyvelése felhasználói dokumentum Lezárva: 2015.10.27.
Vegyes tételek könyvelése felhasználói dokumentum Lezárva: 2015.10.27. Griffsoft Informatikai Zrt. 6723 Szeged, Felső-Tisza part 31-34 M lph. fszt.2. Telefon: (62) 549-100 Telefax: (62) 401-417 TARTALOM
Azonosító jel: Matematika emelt szint
I. 1. Hatjegyű pozitív egész számokat képezünk úgy, hogy a képzett számban szereplő számjegy annyiszor fordul elő, amekkora a számjegy. Hány ilyen hatjegyű szám képezhető? 11 pont írásbeli vizsga 1012
Beállítások CLASSBOOK-óratervező. Első belépés
Beállítások CLASSBOOK-óratervező Első belépés 1, Kattintsunk az asztalon lévő óratervező program ikonjára! A következő képernyőkép jelenik meg: 2, Olvassuk el az instrukciót figyelmesen! 3, Az Azonosítót
Autóipari beágyazott rendszerek. Fedélzeti elektromos rendszer
Autóipari beágyazott rendszerek Fedélzeti elektromos rendszer 1 Személygépjármű fedélzeti elektromos rendszerek 12V (néha 24V) névleges feszültség Energia előállítás Generátor Energia tárolás Akkumulátor
Lemezkezelés, RAID, partícionálás, formázás, defragmentálás.
Lemezkezelés, RAID, partícionálás, formázás, defragmentálás 1 Lemezkezelési szabványok ATA (Advanced Technology Attachment with Packet Interface (ATA/ATAPI)) újabban (P-ATA), vagy IDE (Intelligent Drive
Dial-UP Kapcsolat létrehozása angol nyelvű Windows 2000 alatt
Első lépésként válassza a Startmenüt, azon belül a Settings pontot, majd a Network and Dial-up Connectionst és azon belül a Make New Connection lehetőséget. Amennyiben nem szerepel Network and Dial-up
Korszerű geodéziai adatfeldolgozás Kulcsár Attila
Korszerű geodéziai adatfeldolgozás Kulcsár Attila Nyugat-Magyarországi Egyetem Geoinformatikai Főiskolai Kar Térinformatika Tanszék 8000 Székesfehérvár, Pirosalma -3 Tel/fax: (22) 348 27 E-mail: a.kulcsar@geo.info.hu.
Active watch MT849. Használati útmutató
Active watch MT849 Használati útmutató Bevezetés Köszönjük, hogy termékünket választotta! Az eszköz kompatibilis Android 4.1 vagy magasabb verzió számú okostelefonokkal. Annak érdekében, hogy a teljes
1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév
MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév 1. forduló 1. feladat: Jancsi és Juliska Matematikai Memory-t játszik. A játék lényege, hogy négyzet alakú kártyákra vagy műveletsorokat írnak
Programozás alapjai Bevezetés
Programozás alapjai Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Programozás alapjai Bevezetés SWF1 / 1 Tartalom A gépi kódú programozás és hátrányai Amagasszintÿ programozási nyelv fogalma
My Hipernet Home üzembehelyezési útmutató
My Hipernet Home üzembehelyezési útmutató HIPERNET AKTIVÁLÁSA Kedves Ügyfelünk! Köszönjük, hogy a My Hipernet Home szolgáltatásunkat választottad. Biztosak vagyunk benne, hogy a kiváló min ség D-Link DWR-116
Disk Station DS209, DS209+II
Disk Station DS209, DS209+II Gyors telepítési útmutató Dokument-azonosító: Synology_QIG_2BayCL_20090901 BIZTONSÁGI UTASÍTÁSOK Kérjük, hogy használat előtt gondosan olvassa el ezeket a biztonsági utasításokat,
Vodafone GPRS Kapcsolat létrehozása Win2000 alatt a Connect Me használata nélkül
Vodafone GPRS Kapcsolat létrehozása Win2000 alatt a Connect Me használata nélkül - A képek az angol verziót mutatják - 29/03/2004 1 Start menü Magyar: Start menü Beállítások Telefonos kapcsolatok Ha itt
beállítások a postafiók használatához
E-mail beállítások a Cor@Net postafiók használatához Cor@Net Távközlési Zrt. Tartalom Tartalom... 2 Microsoft Outlook Express beállítása POP3 típusú levelezéshez... 3 Microsoft Outlook beállítása POP3
Memóriamodulok Felhasználói útmutató
Memóriamodulok Felhasználói útmutató Copyright 2008 Hewlett-Packard Development Company, L.P. Az itt szereplő információ előzetes értesítés nélkül változhat. A HP termékeire és szolgáltatásaira vonatkozó
Hálózati beállítások gyorsútmutatója
Hálózati beállítások gyorsútmutatója WorkCentre M123/M128 WorkCentre Pro 123/128 701P42078_HU 2004. Minden jog fenntartva. A szerzői jogvédelem a védett anyag és információ minden formájára és tartalmára
ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák
ADATBÁZIS-KEZELÉS Funkcionális függés, normál formák KARBANTARTÁSI ANOMÁLIÁK beszúrási anomáliák törlési anomáliák módosítási anomáliák DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) 2 MÓDOSÍTÁSI ANOMÁLIÁK
Alpha Metal Free. Az első takarítókocsi, mely alkalmas mágneses rezonancia területen való használatra. Univerzális takarítókocsi, fém alkatrész nélkül
Alpha Metal Free Univerzális takarítókocsi, fém alkatrész nélkül Az első takarítókocsi, mely alkalmas mágneses rezonancia területen való használatra Tulajdonságok Fejlessze a takarító szolgáltatását a
BOLYAI MATEMATIKA CSAPATVERSENY FŐVÁROSI DÖNTŐ SZÓBELI (2005. NOVEMBER 26.) 5. osztály
5. osztály Írd be az ábrán látható hat üres körbe a 10, 30, 40, 60, 70 és 90 számokat úgy, hogy a háromszög mindhárom oldala mentén a számok összege 200 legyen! 50 20 80 Egy dobozban háromféle színű: piros,
Az Európai Szabadalmi Egyezmény végrehajtási szabályainak 2010. április 1-étől hatályba lépő lényeges változásai
DANUBIA Szabadalmi és Védjegy Iroda Kft. Az Európai Szabadalmi Egyezmény végrehajtási szabályainak 2010. április 1-étől hatályba lépő lényeges változásai A Magyar Iparjogvédelmi és Szerzői Jogi Egyesület
Magyar. Biztonsági információk. Magyar
Az útmutató tartalma: Biztonsági információk, 29. oldal. Az üzembe helyezéssel kapcsolatos hibaelhárítás, 30. oldal. További információk keresése, 34. oldal. Biztonsági információk A készülékhez csak a
Mágneses szuszceptibilitás vizsgálata
Mágneses szuszceptibilitás vizsgálata Mérést végezte: Gál Veronika I. A mérés elmélete Az anyagok külső mágnesen tér hatására polarizálódnak. Általában az anyagok mágnesezhetőségét az M mágnesezettség
Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN
1 11. melléklet a 92/2011. (XII. 30.) NFM rendelethez Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN I. SZAKASZ: AJÁNLATKÉRŐ
Útmutató a vízumkérő lap kitöltéséhez
Útmutató a vízumkérő lap kitöltéséhez A vízumkérő lap ( Visa application form of the People s Republic of China, Form V. 2013 ) az egyik legfontosabb dokumentum, amit a kínai vízumra való jelentkezésnél
31 521 09 1000 00 00 Gépi forgácsoló Gépi forgácsoló
Az Országos Képzési Jegyzékről és az Országos Képzési Jegyzékbe történő felvétel és törlés eljárási rendjéről szóló 133/2010. (IV. 22.) Korm. rendelet alapján. Szakképesítés, szakképesítés-elágazás, rész-szakképesítés,
Szakképzés - Meghatalmazás használata
Szakképzés - Meghatalmazás használata A kérelem beadásához szükséges lehet meghatalmazás készítése. A meghatalmazás az MVH elektronikus kérelem-benyújtási felületén tölthető és nyomtatható ki. A meghatalmazás
3. HÉT: CRM RENDSZEREK A GYAKORLATBAN FUNKCIONALITÁSOK
3. HÉT: CRM RENDSZEREK A GYAKORLATBAN FUNKCIONALITÁSOK Kiss László CIO tanácsadó, Magyar Telekom Nyrt. 2016 DR DANYI / KISS CRM A GYAKORLATBAN 1 TARTALOM Értékesítés automatizálás Lojalitás Értékesítési
Conjoint-analízis példa (egyszerűsített)
Conjoint-analízis példa (egyszerűsített) Az eljárás meghatározza, hogy a fogyasztók a vásárlás szempontjából lényeges terméktulajdonságoknak mekkora relatív fontosságot tulajdonítanak és megadja a tulajdonságok
Biztonsági figyelmeztetések
One Figyelmeztetés: Memóriakártya behelyezése vagy eltávolítása előtt kérjük, hogy kapcsolja ki a készüléket. Ezzel megelőzhető a memóriakártya ill. a készülék megsérülése. Biztonsági figyelmeztetések
Felhasználói útmutató Dahua gyártmányú digitális képrögzítő eszközökhöz
Felhasználói útmutató Dahua gyártmányú digitális képrögzítő eszközökhöz 1 Bejelentkezés Alapesetben, a fent látható 888888 vagy admin felhasználóval illetve az elsőnél 888888 a másodiknál admin jelszóval
Felhasználói Kézikönyv Kisbanki NetBOSS - IVR
Felhasználói Kézikönyv Kisbanki NetBOSS - IVR 2004. 10. 07. Változás-nyilvántartó lap Kiadások Sorszáma Dátuma Állomány neve Leírása 1.00 2003.12.04 tknb_felhkk_ivr.doc IVR felhasználói kézikönyv, alap
Memóriamodulok Felhasználói útmutató
Memóriamodulok Felhasználói útmutató Copyright 2008 Hewlett-Packard Development Company, L.P. Az itt szereplő információ előzetes értesítés nélkül változhat. A HP termékeire és szolgáltatásaira vonatkozó
A Bankközi Klíring Rendszer
Bankközi Klíring Rendszer kiegészítő és kapcsolódó szolgáltatásai irányadó díjai A szabályzat 6 számozott oldalt tartalmaz Hatályos: 2014. január 1-től A Bankközi Klíring Rendszer KIEGÉSZÍTŐ ÉS KAPCSOLÓDÓ
TELJESKÖRŰ ÜGYFÉLAZONOSÍTÁSI SZOLGÁLTATÁSOK
TELJESKÖRŰ ÜGYFÉLAZONOSÍTÁSI SZOLGÁLTATÁSOK SZOLGÁLTATÁS LEÍRÓ LAP Ügyfélkapu Azonosítási Szolgáltatás 2016. március 10 v2 EREDETI Szerző: NISZ ZRt. 2 Tartalom 1. A SZOLGÁLTATÁSI LEÍRÁSA... 3 2. A SZOLGÁLTATÁS
A kézbesítés rajtunk is múlik
A kézbesítés rajtunk is múlik 2014-01-07 15:03:50 Módosítva: 2014-01-07 20:50:26 Az utóbbi időben az elektronikus levelezés, a közösségi oldalak és a mobiltelefonok adta kommunikációs lehetőségek bővülésével
A) Belépés a Webinar felületére
A) Belépés a Webinar felületére A webinar a visszaigazoló emailben megadott linkre kattintva indítható el. A képernyő jobb oldalán először a kereszt- (First name), illetve a vezetéknevét (Last name), majd
SJ5000+ MENÜBEÁLLÍTÁSOK. E l e c t r o p o i n t K f t., 1 0 4 4 B u d a p e s t, M e g y e r i ú t 1 1 6. F s z. 1. Oldal 1
SJ5000+ MENÜBEÁLLÍTÁSOK E l e c t r o p o i n t K f t., 1 0 4 4 B u d a p e s t, M e g y e r i ú t 1 1 6. F s z. 1. Oldal 1 FIGYELMEZTETÉS! A vízálló tok gombjai nagyon erős rugóval vannak ellátva, ezért
Kitöltési útmutató az állandó meghatalmazás megszűnésének bejelentéséhez elnevezésű adatlap kitöltéséhez
Kitöltési útmutató az állandó meghatalmazás megszűnésének bejelentéséhez elnevezésű adatlap kitöltéséhez Az állandó meghatalmazás megszűnésének bejelentéséhez elnevezésű adatlapon (továbbiakban: Adatlap)
Web fejlesztés II. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu. I n f o r m a t i k a
Web fejlesztés II. Illés Zoltán ELTE Informatikai Kar zoltan.illes@elte.hu AJaX Asynchronous JavaScript and XML Mi a baj a HTTP-vel, CGI-vel? Nincs baj, de nem elég hatékony. Első igények 2000 körül. Jesse
Számítógép-hálózatok Egyéni Feladat
Számítógép-hálózatok Egyéni Feladat 2006/2007. tanév, I. félév Dr. Kovács Szilveszter E-mail: szkovacs@iit.uni-miskolc.hu Informatikai Intézet 106. sz. szoba Tel: (46) 565-111 / 21-06 Dr. Kovács Szilveszter