Bevezetés a programozásba 2
|
|
- Ignác Mészáros
- 7 évvel ezelőtt
- Látták:
Átírás
1 Bevezetés a programozásba 2 4. Előadás: Esettanulmány
2 Pong játék Játékleírás: adott egy pálya, alul és fölül fallal, és két játékoshoz tartozó egy-egy ütő két oldalon. Az egyik játékos billentyűzettel, a másik egérrel vezérli a saját platformját. A pályán pattog egy labda, ami visszapattan a falakról és a ütőkről Akinek az oldalán kimegy a labda, veszít, és a másik játékos pontot szerez
3 Pong játék A játékszabály mellett fontos a program elvárt működésének váza is Címképernyő Pont számláló Tíz pontnál game over, újrakezdési lehetőséggel Az egérrel vezérlő játékos ne legyen előnyben A grafikus tartalommal most nem fogunk foglalkozni
4 Reprezentáció Az első tennivaló: összeszedni, mik a programban előforduló, egymástól különböző állapotok, és mi kell a megkülönböztetésükhöz Az ütők helyzete A labda helyzete A pontszámok Melyik programszakaszban vagyunk (címkép, játék, gameover)?
5 Típusok Lehetséges típus kombinációk labda, ütő a main() majd tartalmaz két példányt az ütő típusból, és egy labdát pálya a pálya structban számokkal a labda és az ütők helyzete labda, ütő, pálya a pálya structban egy labda és két ütő típus is mező Egyelőre ízlés szerint választunk
6 A munka folyamata Inkrementális programozás Mindig egy kis új kódot teszünk a programhoz Előnyök: folyamatos tesztelhetőség Hiba esetén könnyű reprodukálhatóság behatárolt okozó kódrészlet, ami miatt a hibás kód könnyen megtalálható Nem mindig a friss kód hibás, de van köze a friss hibajelenséghez
7 Első változat Különböztessük meg a játékállapotokat egymástól Írjunk programot, ami három állapot között váltogat Legyen mindig szóköz billentyűvel váltás
8 Legegyszerűbb állapotátmenet implementáció const const int int SX SX = 640; 640; const const int int SY SY = 480; 480; // // int int main() main() { gout.open(sx, gout.open(sx, SY); SY); int int state=1; state=1; // // while while (!kilep (!kilep && && gin gin >> >> ev) ev) { if if (state (state == == 1) 1) { cimkeprajzol(); cimkeprajzol(); gout gout << << refresh; refresh; if if (ev.keycode (ev.keycode == == key_space) key_space) state=2; state=2; } else else if if (state (state == == 2) 2) { // //......
9 A lényeg: a játéklogika végiggondolása Cél: folyamatos mozgás a labdával, a nyilakkal és az egérrel, de egyforma sebességgel Eszközök: melyik gombot nyomták le melyik gombot engedték el hová mozdult az egér időzítő A labda akkor is mozog, ha senki nem csinál semmit, tehát időzítőre szükség van
10 Néhány rossz megoldás Amikor a gombot megnyomják, feljebb vagy lejjebb teszem a billentyűs játékost, az egerest meg mindig olyan magasra, ahol az egér éppen van Ez súlyosan hátrányos megvalósítás a billentyűs játékossal szemben lassan mozog csapkodnia kell a gombot
11 Kicsit jobb megoldás Amíg a gombot nyomják, feljebb vagy lejjebb teszem a billentyűs játékost, az egerest meg mindig olyan magasra, ahol az egér éppen van Ehhez már dolgozni kell, a billentyűzet állapotát is számon kell tartani, nem elég magára a billentyűzet eseményre figyelni Még mindig gyorsabb az egeres játékos ütője
12 Egy igazságos megoldás Mindkét játékosnak egyforma mértékben változik az ütőjének a helyzete, a billentyűsé a billentyűzet állapotának függvényében, az egeresé pedig attól függően, hogy az egér feljebb, vagy lejjebb van-e az ütőnél Így hiába rántja meg az egeret az egyik játékos, az időzítő néhány körére lesz szükség, hogy az ütő oda is érjen
13 Második verzió Amikor játék állapot van, a háttér elé úgy mozgatott ütőket rajzoljunk, ahogy az előbbi gondolatmenetben elhatároztuk További változókra van szükség: billentyűzet állapota, egér helyzete mivel nem az eseményre adott reakciókban van rájuk szükség, hanem kizárólag az időzítésben
14 Labda mozgatás Az ütők mellett most már a labdát is lehet mozgatni Itt az ideje érvényesíteni a mozgások korlátjait, se az ütők, se a labda ne hagyja el a pályát függőlegesen Visszapattanások kezelése kézenfekvő megoldás: a sebesség nyilvántartása
15 Absztrakciós szintek A választott megoldás: Palya, Uto, Labda típusok A Labda és Uto magukat kirajzolni és mozgatni képes négyszögek A Palya lefordítja a technikai inputot a játékszabályok szerinti fogalmakra Megoldástér Problématér Itt az absztrakciós szint határa, a main() felől csak a Palya létezik
16 Láthatóság bevezetése Kiderül funkciókról, hogy rossz helyen vannak, például a labda és az ütők ütközésének vizsgálata kétféleképpen lehet elegáns: vagy a labda számol, és az ütőket kapja paraméterül, vagy az ütők számolnak, és a labdát kapják Ha valahol túl sok egy másik típus mezőinek a használata, megfontolandó, hogy tagfüggvénybe kell tenni
17 Tesztelés A specifikáció szerint megkülönböztethető eseteket végigpróbáljuk fekete doboz teszt A forráskód elágazásainak és ciklusfeltételeinek ismeretében azokat az eseteket próbáljuk ki, amik más-más döntési fákat eredményeznek fehér doboz teszt Automatikus tesztprogramot futtatunk code coverage, emulációk
18 Értékelés Mik azok a lehetséges változások, amik miatt nagyon át kell írni a kódot? Mik azok, amik miatt nem? Meddig ér a jelenlegi kód rugalmassága? Mennyire hatékony a működés? Vannak-e felesleges refresh-ek? Mennyire bonyolult kijavítani?
19 Lehetséges módosítások Szép grafika nem gond, az önmagukat kirajzoló objektumok mögé berakható kép Ütő relatív pozíciójának beleszámolása a labda pályájába nem gond, egy új tagfüggvény hozzáadásával megoldható, a hívás helye egyértelmű Ütő sebességének beleszámolása a labda pályájába, csavarás a sebesség skálánk csak hármas (fel, le marad). Ehhez kicsit több kell
20 Refactoring Alapvetés: minden programban hibás elgondolás alapján tervezett rész Refactoring: egy program átalakítása úgy, hogy közben a funkcionalitása állandó (pl átírni a láthatóság szabályozásának használatára, vagy rekordokba szervezni az adatot) Érdemes kipróbálni, ha már megírtad a beadandót: ugyanazt a feladatot oldd meg újra Az újrakezdés sokszor irreális, ilyenkor részleges refactoringot alkalmaznak
21 Refactoring Specifikáció teljesülésének minél kényelmesebb ellenőrzése unit test adott használati eset végigtesztelése Átalakítási lépések mindegyikénél ellenőrzés. igen időigényes lehet, szánni kell rá időt
22 Lehetséges fejlesztések A háttér rajzolásához csupa azonos szignatúrájú függvényt használtunk. Ezt akár egy függvénymutató típusú változóra is cserélhetnénk. Ugyanezt a szituációt kezelhetjük majd öröklődéssel is, amiről később lesz szó. A mezők jelentését felülbírálhatjuk, látható, hogy a példában a magasságot tartalmazó mezőt zömmel felezzük használatkor, tehát ha eleve a felét tároljuk, kevesebb műveletet kell végezni
Programozás I. Grafika Eseménykezelés. Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények. Surányi Márton PPKE-ITK
Programozás I. 2. gyakorlat Interakció a grafikus felületen, tagfüggvények Surányi Márton PPKE-ITK 2013.02.25. 1 / 1 Nem csak rajzolni tudunk, hanem lehet interaktív alkalmazásokat készíteni interakció:
RészletesebbenBevezetés a programozásba II. 8. Előadás: Osztályok, objektumok, osztályszintű metódusok
Bevezetés a programozásba II 8. Előadás: Osztályok, objektumok, osztályszintű metódusok vektor.h #ifndef VEKTOR_H #define VEKTOR_H class Vektor { int meret, *mut; public: Vektor(int meret); int szamlal(int
RészletesebbenBevezetés a programozásba Előadás: Tagfüggvények, osztály, objektum
Bevezetés a programozásba 2 1. Előadás: Tagfüggvények, osztály, objektum Ismétlés int main() { string s; s; s= bla ; cout
RészletesebbenSzámítógép és programozás 2
Számítógép és programozás 2 10. Előadás Öröklődés http://digitus.itk.ppke.hu/~flugi/ Tagfüggvény struct Particle { int x,y; unsigned char r,g,b; void rajzol() { gout
RészletesebbenSpace Invaders Dokumenta cio
Space Invaders Dokumenta cio 0. Tartalomjegyzék 0. Tartalomjegyzék... 1 1. Követelmény feltárás... 2 1.1. Célkitűzés, projektindító dokumentum... 2 1.2. Szakterületi tartalomjegyzék... 2 1.3. Használatieset-modell,
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észletesebbenBevezetés a programozásba Előadás: Objektumszintű és osztályszintű elemek, hibakezelés
Bevezetés a programozásba 2 7. Előadás: Objektumszű és osztályszű elemek, hibakezelés ISMÉTLÉS Osztály class Particle { public: Particle( X, X, Y); virtual void mozog( ); ); virtual void rajzol( ) const;
RészletesebbenBevezetés a programozásba. 11. Előadás: Esettanulmány
Bevezetés a programozásba 11. Előadás: Esettanulmány ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double
RészletesebbenVirtuális függvények (late binding)
Virtuális függvények (late binding) Miskolci Egyetem Általános Informatikai Tanszék Virtuális függvények CPP5 / 1 Azonos nevű függvények megkülönböztetése paraméterszignatúra (függvény overloading) - egy
RészletesebbenA szemantikus elemzés helye. A szemantikus elemzés feladatai. A szemantikus elemzés feladatai. Deklarációk és láthatósági szabályok
A szemantikus elemzés helye Forrásprogram Forrás-kezelő (source handler) Lexikális elemző (scanner) A szemantikus elemzés feladatai Fordítóprogramok előadás (A, C, T szakirány) Szintaktikus elemző (parser)
RészletesebbenAlgoritmizálás, adatmodellezés tanítása 6. előadás
Algoritmizálás, adatmodellezés tanítása 6. előadás Tesztelési módszerek statikus tesztelés kódellenőrzés szintaktikus ellenőrzés szemantikus ellenőrzés dinamikus tesztelés fekete doboz módszerek fehér
RészletesebbenWebprogramozás szakkör
Webprogramozás szakkör Előadás 5 (2012.04.09) Programozás alapok Eddig amit láttunk: Programozás lépései o Feladat leírása (specifikáció) o Algoritmizálás, tervezés (folyamatábra, pszeudokód) o Programozás
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észletesebbenDelphi programozás I.
Delphi programozás I. Konzol alkalmazások készítése Delphiben A Delphi konzol alkalmazása (console application) olyan 32 bites program, amely nem grafikus felületen, hanem egy szöveges konzol ablakban
RészletesebbenFeladat. Bemenő adatok. Bemenő adatfájlok elvárt formája. Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. Például (bemenet/pelda.
Berezvai Dániel 1. beadandó/4. feladat 2012. április 13. BEDTACI.ELTE Programozás 3ice@3ice.hu 11. csoport Feladat Madarak életének kutatásával foglalkozó szakemberek különböző településen különböző madárfaj
RészletesebbenVI. Robotprogramozó Országos Csapatverseny évfolyam
VI. Robotprogramozó Országos Csapatverseny Országos döntőjének versenyfeladatai 7-8. évfolyam 2015. április 25. A robot portjainak kiosztása: Motorok: B és C Szenzorok: Ütközésérzékelő (Touch): 1-es port
RészletesebbenScratch bevezető foglalkozás Scratch bevezető foglalkozás
a program fogalmának bevezetése a Scratch fejlesztőkörnyezet bemutatása a Scratch lehetőségeinek bemutatása példákon keresztül gyakorlás a példák módosításával Mi a program? utasítások sorozata valamilyen
RészletesebbenAngolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata
Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata jelentése: gyors, fürge 1990-es évek vége Változás igénye Módszertan-család
RészletesebbenBevezetés a programozásba előadás: Öröklődés
Bevezetés a programozásba 2 5. előadás: Öröklődés emlékeztető Tagfüggvény struct koord { double x,y,r; void set(double ux, double uy) { x=ux; y=uy; r=sqrt(x*x+y*y); } Használat: koord k; k.set(4,5); Egységbezárás
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észletesebbenProgramozás II gyakorlat. 6. Polimorfizmus
Programozás II gyakorlat 6. Polimorfizmus Típuskonverziók C-ben: void * ptr; int * ptr_i = (int*)ptr; Ez működik C++-ban is. Használjuk inkább ezt: int * ptr_i = static_cast(ptr); Csak egymással
RészletesebbenProgramozási nyelvek 1. előadás
Programozási nyelvek 1. előadás I. A nyelv története Logo Seymour Papert, 1968,1969 - szövegkezelés, M.I.T. Később: grafika, mikroszámítógépekre átdolgozva Cél: minél kisebb gyerekeknek is, természetes
RészletesebbenOO rendszerek jellemzői
OO rendszerek jellemzői Problémák forrása lehet teszteléskor: Problémák feldarabolása. Adatrejtés. Az OO rendszerek nagyszámú, egymással aktívan kapcsolatban levő, együttműködő komponensekből állnak. A
RészletesebbenAz UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék
Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron
RészletesebbenVezérlési szerkezetek Vezérlési szerkezetek: feltételes elágazás és ciklusok
: feltételes elágazás és ciklusok töbszörös elágazás (if-elif-else) kilépés while ciklusból (break), ciklus folytatása (continue), és a while ciklus feltételéhez tartozó else ág a for ciklus és a range()
Részletesebben8. SZERSZÁMGÉP ANIMÁCIÓ
8. SZERSZÁMGÉP ANIMÁCIÓ Meghatározás Az öttengelyes megmunkálások elengedhetetlen kelléke a szerszámgép különböző egységeinek megmunkálás közbeni ütközés ellenőrzése. A PowerMill, ütközés észlelés esetén
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észletesebbenModellező eszközök, kódgenerálás
Modellező eszközök, kódgenerálás Budapesti Műszaki és Gazdaságtudományi Egyetem Hibatűrő Rendszerek Kutatócsoport Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek
RészletesebbenSzoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241
Szoftver-ergonómiára vonatkozó szabvány, avagy ISO 9241 Ez a szabvány támpontokat ad a fejlesztőknek ahhoz, hogy ergonómikus rendszert tudjanak létrehozni. Az ISO 9241-es szabvány célja a képernyős munka
RészletesebbenProgramozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása
Programozás alapjai 5. gyakorlat Vezérlési szerkezetek egymásba ágyazása 1. feladat: Eldönteni egy számról, hogy pozitív, negatív vagy 0. Próbálja megoldani a feladatot switch szerkezettel is. Mikor használható
Részletesebben2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
RészletesebbenTeljesítmény Mérés. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés / 20
Teljesítmény Mérés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Teljesítmény Mérés 2013 1 / 20 Tartalomjegyzék 1 Bevezetés 2 Visual Studio Kód metrikák Performance Explorer Tóth Zsolt
RészletesebbenProgramozás I. gyakorlat
Programozás I. gyakorlat 2. gyakorlat Kifejezések, vezérlési szerkezetek, struktúrák Kifejezések Mit ír ki az alábbi program? #include int main() { int a = 20, b = 40; printf("%d\n", a > b);
RészletesebbenTervminták a valósidejű gyakorlatban
Tervminták a valósidejű gyakorlatban Forrás Ezeknek a diáknak a forrása a Game Programming Patterns című könyv Online elérhető a szerző oldaláról: http://gameprogrammingpatterns.com/contents.htm Game Loop
RészletesebbenBASH script programozás II. Vezérlési szerkezetek
06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van
RészletesebbenBevezetés a programozásba II. 5. Előadás: Másoló konstruktor, túlterhelés, operátorok
Bevezetés a programozásba II 5. Előadás: Másoló konstruktor, túlterhelés, operátorok Emlékeztető struct Vektor { int meret, *mut; Vektor(int meret); int szamlal(int mit); }; int Vektor::szamlal(int mit)
Részletesebben2. Beadandó feladat dokumentáció
2. Beadandó feladat dokumentáció Készítette: Giachetta Roberto E-mail: groberto@inf.elte.hu Feladat: Készítsünk programot a következő memóriajátékhoz. A játéktáblán mező foglal helyet, amelyek különböző
RészletesebbenProgramozás alapjai gyakorlat. 4. gyakorlat Konstansok, tömbök, stringek
Programozás alapjai gyakorlat 4. gyakorlat Konstansok, tömbök, stringek Házi ellenőrzés (f0069) Valósítsd meg a linuxos seq parancs egy egyszerűbb változatát, ami beolvas két egész számot, majd a kettő
RészletesebbenBevezetés a programozásba II 1. gyakorlat. A grafikus könyvtár használata, alakzatok rajzolása
Pázmány Péter Katolikus Egyetem Információs Technológiai Kar Bevezetés a programozásba II 1. gyakorlat A grafikus könyvtár használata, alakzatok rajzolása 2014.02.10. Giachetta Roberto groberto@inf.elte.hu
RészletesebbenOpenCL alapú eszközök verifikációja és validációja a gyakorlatban
OpenCL alapú eszközök verifikációja és validációja a gyakorlatban Fekete Tamás 2015. December 3. Szoftver verifikáció és validáció tantárgy Áttekintés Miért és mennyire fontos a megfelelő validáció és
RészletesebbenBevezetés a programozásba Előadás: A const
Bevezetés a programozásba 2 6. Előadás: A const ISMÉTLÉS Interface - Implementation struct Particle { int x,y; unsigned char r,g,b; void rajzol(); }; }; void Particle::rajzol() { gout
RészletesebbenEseménykezelés. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor.
Eseménykezelés előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Függvénymutatókkal Származtatással Interfészekkel Egyéb
RészletesebbenTM-73726 Szervó vezérlő
TM-73726 Szervó vezérlő Használati útmutató 2011 BioDigit Ltd. Minden jog fenntartva. A dokumentum sokszorosítása, tartalmának közzététele bármilyen formában, beleértve az elektronikai és mechanikai kivitelezést
RészletesebbenA függvény kód szekvenciáját kapcsos zárójelek közt definiáljuk, a { } -ek közti részt a Bash héj kód blokknak (code block) nevezi.
Függvények 1.Függvények...1 1.1.A függvény deníció szintaxisa... 1..Függvények érték visszatérítése...3 1.3.Környezettel kapcsolatos kérdések...4 1.4.Lokális változók használata...4 1.5.Rekurzív hívások...5.kód
Részletesebbenlibgdx alapú program létrehozása, kép importálása, mozgatása libgdx alapok Android játékfejlesztés Soós András
libgdx alapú program létrehozása, kép importálása, mozgatása libgdx alapok Android játékfejlesztés Soós András Tartalom 1. Az első lépések... 1 2. Fontos beállítások a kezdés előtt... 3 3. A programkód...
RészletesebbenJohanyák Zsolt Csaba: Ugráló gomb oktatási segédlet Copyright 2008 Johanyák Zsolt Csaba
Ugráló gomb Készítsünk egy egyszerű játékprogramot, ami egy mozgó nyomógombot tartalmaz. A nyomógomb beállított ideig marad egy helyben, majd az ablakon számára elhatárolt terület (panel) egy véletlenszerűen
Részletesebben6000 Kecskemét Nyíri út 11. Telefon: 76/481-474; Fax: 76/486-942 bjg@pr.hu www.banyai-kkt.sulinet.hu. Gyakorló feladatok
BÁNYAI JÚLIA GIMNÁZIUM 6000 Kecskemét Nyíri út 11. Telefon: 76/481-474; Fax: 76/486-942 bjg@pr.hu www.banyai-kkt.sulinet.hu Gyakorló feladatok I. LEGO Robotprogramozó országos csapatversenyre A következő
RészletesebbenISA szimulátor objektum-orientált modell (C++)
Budapesti Műszaki és Gazdaságtudományi Egyetem ISA szimulátor objektum-orientált modell (C++) Horváth Péter Elektronikus Eszközök Tanszéke 2015. február 12. Horváth Péter ISA szimulátor objektum-orientált
RészletesebbenProgramok értelmezése
Programok értelmezése Kód visszafejtés. Izsó Tamás 2016. szeptember 22. Izsó Tamás Programok értelmezése/ 1 Section 1 Programok értelmezése Izsó Tamás Programok értelmezése/ 2 programok szemantika értelmezése
RészletesebbenSzélkövetés: Ehhez az üzemmódhoz a PR3-as paraméter értékét 0-ra kell állítani.
Szélkövető v4 1 Bekapcsolást követően a szélkövető elektronika kijelzőjén a SZEL42 felirat jelenik meg néhány másodpercre, majd ezt követően pedig az ALAP felirat (Az Auto/Kézi kapcsoló lekapcsolva). A
RészletesebbenFlex tutorial. Dévai Gergely
Flex tutorial Dévai Gergely A Flex (Fast Lexical Analyser) egy lexikáliselemz -generátor: reguláris kifejezések sorozatából egy C/C++ programot generál, ami szövegfájlokat képes lexikai elemek sorozatára
RészletesebbenMechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe
Mechatronika és mikroszámítógépek 2017/2018 I. félév Bevezetés a C nyelvbe A C programozási nyelv A C egy általános célú programozási nyelv, melyet Dennis Ritchie fejlesztett ki Ken Thompson segítségével
Részletesebben1. Alapok. Programozás II
1. Alapok Programozás II Elérhetőség Név: Smidla József Elérhetőség: smidla dcs.uni-pannon.hu Szoba: I916 2 Irodalom Bjarne Stroustrup: A C++ programozási nyelv 3 Irodalom Erich Gamma, Richard Helm, Ralph
RészletesebbenA tervfeladat sorszáma: 1 A tervfeladat címe: ALU egység 8 regiszterrel és 8 utasítással
.. A tervfeladat sorszáma: 1 A ALU egység 8 regiszterrel és 8 utasítással Minimálisan az alábbi képességekkel rendelkezzen az ALU 8-bites operandusok Aritmetikai funkciók: összeadás, kivonás, shift, komparálás
RészletesebbenProgramozási segédlet
Programozási segédlet Programozási tételek Az alábbiakban leírtam néhány alap algoritmust, amit ismernie kell annak, aki programozásra adja a fejét. A lista korántsem teljes, ám ennyi elég kell legyen
RészletesebbenDebitTray program Leírás
DebitTray program Leírás Budapest 2015 Bevezetés Egy-egy kintlévőséghez tartozó határidő elmulasztásának komoly következménye lehet. Éppen ezért a Kintlévőség kezelő program főmenü ablakában a program
RészletesebbenFüggvények ábrázolása
Függvények ábrázolása Matematikai függvényeket analitikusan nem tudunk a matlabban megadni (tudunk, de ilyet még nem tanulunk). Ahhoz, hogy egy függvényt ábrázoljuk, hasonlóan kell eljárni, mint a házi
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észletesebbenAnimáció készítése Scratch-ben
Animáció készítése Scratch-ben az előző foglalkozás összefoglalása animációs lehetőségek a Scratch-ben időzítés és szinkronizáció gyakorlás animációs kisfilm készítésével Mi a program? utasítások sorozata
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észletesebbenNavigáci. stervezés. Algoritmusok és alkalmazásaik. Osváth Róbert Sorbán Sámuel
Navigáci ció és s mozgástervez stervezés Algoritmusok és alkalmazásaik Osváth Róbert Sorbán Sámuel Feladat Adottak: pálya (C), játékos, játékos ismerethalmaza, kezdőpont, célpont. Pálya szerkezete: akadályokkal
RészletesebbenProgramozási módszertan
1 Programozási módszertan 1. Alapfogalmak Feldhoffer Gergely 2012 Féléves tananyag terve 2 Program helyességének bizonyítása Reprezentáció Logikai-matematikai eszköztár Programozási tételek bizonyítása
Részletesebbenassume CS:Code, DS:Data, SS:Stack Start: xor di, di mov si, 1 Torles int 10h mov dl, 40 xor bh, bh mov ah, 02h Kesleltet int 16h
Fealadat3: labda.asm Feladat meghatározása A program célja az assembly rutinok időzítési lehetőségeinek bemutatása. Az időzítés az AH00, INT1Ah funkció segítségével történik. A program egy labda leesését
RészletesebbenProgramtervezés. Dr. Iványi Péter
Programtervezés Dr. Iványi Péter 1 A programozás lépései 2 Feladat meghatározás Feladat kiírás Mik az input adatok A megoldáshoz szükséges idő és költség Gyorsan, jót, olcsón 3 Feladat megfogalmazása Egyértelmű
RészletesebbenProgramozás BMEKOKAA146. Dr. Bécsi Tamás 3. előadás
Programozás BMEKOKAA146 Dr. Bécsi Tamás 3. előadás Vezérlési szerkezetek Elágazás Gyakran előfordul, hogy meg kell vizsgálnunk egy állítást, és attól függően, hogy igaz vagy hamis, a programnak más-más
RészletesebbenBevezetés a programozásba. 9. Előadás: Rekordok
Bevezetés a programozásba 9. Előadás: Rekordok ISMÉTLÉS Függvényhívás #include #include #include #include using using namespace namespace std; std; double double terulet(double
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észletesebbenPodoski Péter és Zabb László
Podoski Péter és Zabb László Bevezető Algoritmus-vizualizáció témakörében végeztünk kutatásokat és fejlesztéseket Felmértük a manapság ismert eszközök előnyeit és hiányosságait Kidolgoztunk egy saját megjelenítő
RészletesebbenA kód legyen megfelelően kommentezett. A főprogram kódfájlja a hallgatói adataival, illetve a program kezelésével kapcsolatos leírással kezdődjön.
1. beadandó feladat: egyszerű grafikus felületű alkalmazás Közös követelmények: A megvalósításnak működős programot kell biztosítania. A program elindítását követően egyértelműnek kell lennie, melyik feladatot
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észletesebbenBevezetés a programozásba előadás: Alapvető programtervezési elvek
Bevezetés a programozásba 2 12. előadás: Alapvető programtervezési elvek Miről lesz szó A félév célja a nagyobb programrendszerek felépítésében való részvétel képességét megszerezni Mindenki a saját widgetkészletének
RészletesebbenMicrosoft Excel 2010
Microsoft Excel 2010 Milyen feladatok végrehajtására használatosak a táblázatkezelők? Táblázatok létrehozására, és azok formai kialakítására A táblázat adatainak kiértékelésére Diagramok készítésére Adatbázisok,
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észletesebbenA modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
RészletesebbenProgramozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás Programozási nyelv felépítése szabályok megadása Lexika Milyen egységek építik fel? Szintaktikus szabályok
RészletesebbenMegoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május)
Megoldások a mintavizsga kérdések a VIMIAC04 tárgy ellenőrzési technikák részéhez kapcsolódóan (2017. május) Teszt kérdések 1. Melyik állítás igaz a folytonos integrációval (CI) kapcsolatban? a. Folytonos
RészletesebbenRendszermodellezés: házi feladat bemutatás
Rendszermodellezés: házi feladat bemutatás Budapest University of Technology and Economics Fault Tolerant Systems Research Group Budapest University of Technology and Economics Department of Measurement
RészletesebbenC programozási nyelv
C programozási nyelv Előfeldolgozó utasítások Dr Schuster György 2011 május 3 Dr Schuster György () C programozási nyelv Előfeldolgozó utasítások 2011 május 3 1 / 15 A fordítás menete Dr Schuster György
RészletesebbenAWK programozás, minták, vezérlési szerkezetek
10 AWK programozás, minták, vezérlési szerkezetek AWK adatvezérelt szkriptnyelv text processing, adat kiterjesztés, tagolt adatok automatizált soronkénti feldolgozása a forrásállományt soronként beolvassa
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észletesebbenAlprogramok, paraméterátadás
ELTE Informatikai Kar, Programozási Nyelvek és Fordítóprogramok Tanszék October 24, 2016 Programozási nyelvek Alprogramok Függvények, eljárások Metódusok Korutinok stb. Alprogramok Alprogram: olyan nyelvi
RészletesebbenContractTray program Leírás
ContractTray program Leírás Budapest 2015 Bevezetés Egy-egy szerződéshez tartozó határidő elmulasztásának komoly gazdasági következménye lehet. Éppen ezért a Szerződés kezelő program főmenü ablakában a
Részletesebben6. fejezet: Ciklusok
6. fejezet: Ciklusok Mint a nyelvekben általában, itt is léteznek ciklusok. Az alapvető három ciklus-típus: elöltesztelő, hátultesztelő és számláló. Lássuk ezeket sorban! Elöltesztelő = while. A while
RészletesebbenBME MOGI Gépészeti informatika 15.
BME MOGI Gépészeti informatika 15. 1. feladat Készítsen alkalmazást a y=2*sin(3*x-π/4)-1 függvény ábrázolására a [-2π; 2π] intervallumban 0,1-es lépésközzel! Ezen az intervallumon a függvény értékkészlete
RészletesebbenSzimuláció RICHARD M. KARP és AVI WIGDERSON. (Készítette: Domoszlai László)
Szimuláció RICHARD M. KARP és AVI WIGDERSON A Fast Parallel Algorithm for the Maximal Independent Set Problem című cikke alapján (Készítette: Domoszlai László) 1. Bevezetés A következőkben megadott algoritmus
Részletesebben8.3. AZ ASIC TESZTELÉSE
8.3. AZ ASIC ELÉSE Az eddigiekben a terv helyességének vizsgálatára szimulációkat javasoltunk. A VLSI eszközök (közöttük az ASIC) tesztelése egy sokrétűbb feladat. Az ASIC modellezése és a terv vizsgálata
RészletesebbenA fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása
A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus
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észletesebben3. Osztályok II. Programozás II
3. Osztályok II. Programozás II Bevezető feladat Írj egy Nevsor osztályt, amely legfeljebb adott mennyiségű nevet képes eltárolni. A maximálisan tárolható nevek számát a konstruktorban adjuk meg. Az osztályt
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észletesebbenSzerző Lővei Péter LOPSAAI.ELTE IP-08PAEG/25 Daiki Tennó
Szerző Név: Lővei Péter ETR-azonosító: LOPSAAI.ELTE Drótposta-cím: petyalovei@gmail.com Kurzuskód: IP-08PAEG/25 Gyakorlatvezető neve: Daiki Tennó Feladatsorszám: 11 1 Tartalom Szerző... 1 Tartalom... 2
RészletesebbenMiután fel tudott jutni egy 209-es vezérállásába, akkor realizálódott benne a műszerek és kijelzők eltérő mivolta. Ekkor jutott eszébe egy kérdés: Mié
A BVE története Mackoy leírása alapján A történet 1995-ig nyúlik vissza, mikor még a fejlesztő középiskolás korú volt. Egy N88- BASIC-ben írt példaprogramot dolgozott át éppen, amivel elég gyakran játszott
RészletesebbenXTB TŐZSDEVERSENY 2012
2. KERESKEDÉSI FELÜLETEK (PLATFORMOK) Két kereskedési felületet ajánlunk a verseny során: MetaTrader nemzetközileg ismert online tőzsde kereskedési platform, illetve xstation a web-böngésző alapú felület.
RészletesebbenKézikönyv. Láthatóság kezelése a grafikus maszkszerkesztőben
Kézikönyv Láthatóság kezelése a grafikus maszkszerkesztőben Tartalomjegyzék 1 ABAS-ERP SCREEN EDITOR 2011.401.0... 4 2 INFOSYSTEM SZERKESZTÉSE... 11 2.1 EFOP szerkesztése... 14 2.2 Infosystem tesztelése...
RészletesebbenA Microsoft OFFICE. EXCEL táblázatkezelő. program alapjai. 2013-as verzió használatával
A Microsoft OFFICE EXCEL táblázatkezelő program alapjai 2013-as verzió használatával A Microsoft Office programcsomag táblázatkezelő alkalmazása az EXCEL! Aktív táblázatok készítésére használjuk! Képletekkel,
RészletesebbenOszkar.com Android alkalmazás v1.2
Oszkar.com Android alkalmazás v1.2 Az 1.2 verzióban a következő funkciók érhetők el: Be- kijelentkezés Autós ajánlatok keresése, akár dátum intervallumra Pontos és közeli ajánlatok megjelenítése Autós
Részletesebben1. Jelölje meg az összes igaz állítást a következők közül!
1. Jelölje meg az összes igaz állítást a következők közül! a) A while ciklusban a feltétel teljesülése esetén végrehajtódik a ciklusmag. b) A do while ciklusban a ciklusmag után egy kilépési feltétel van.
Részletesebbenvan neve lehetnek bemeneti paraméterei (argumentumai) lehet visszatérési értéke a függvényt úgy használjuk, hogy meghívjuk
függvények ismétlése lista fogalma, használata Game of Life program (listák használatának gyakorlása) listák másolása (alap szintű, teljes körű) Reversi 2 Emlékeztető a függvények lényegében mini-programok,
RészletesebbenA modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel
A modellellenőrzés érdekes alkalmazása: Tesztgenerálás modellellenőrzővel Majzik István Micskei Zoltán BME Méréstechnika és Információs Rendszerek Tanszék 1 Modell alapú fejlesztési folyamat (részlet)
RészletesebbenAmortizációs költségelemzés
Amortizációs költségelemzés Amennyiben műveleteknek egy M 1,...,M m sorozatának a futási idejét akarjuk meghatározni, akkor egy lehetőség, hogy külön-külön minden egyes művelet futási idejét kifejezzük
Részletesebben