Kivételkezelés. Tesztelés, hibakeresés, kivételkezelés. Programozás II. előadás. Szénási Sándor
|
|
- Enikő Soósné
- 10 évvel ezelőtt
- Látták:
Átírás
1 Kivételkezelés Tesztelés, hibakeresés, kivételkezelés előadás Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar
2 Tesztelés Hibakeresés Kivételkezelés Saját kivételek készítése Kivételkezelés
3 3 Tesztelés Tesztelés: próbafeladatok lefuttatásával a program hibáinak felfedezése a cél Teszteset: a be- és kimeneti adatok együttes megadása A jó teszteset követelményei Nagy valószínűséggel egy még felfedetlen hibára derít fényt Későbbiekben megismételhető, különben a hibakeresést ellehetetleníti Teszteseteket mind az érvénytelen, mind az érvényes adatokra célszerű választani Minden tesztesetből a lehető legtöbb információt kell kinyerni, ezzel kell csökkenteni a tesztesetek számát Tesztelési módszerek két csoportja: Statikus tesztelés a programot nem futtatjuk Dinamikus tesztelés a programot futtatjuk
4 4 Statikus tesztelési módszerek Kódellenőrzés Az implementált programkód vizsgálata Gyakran egy másik fejlesztő tudja ezt hatékonyan megtenni Formai ellenőrzés Szintaktikai hibák kiszűrése Nem létező kulcsszavak, változók, függvények stb. Keresése Fordítóprogramok általában elvégzik (hibák) Tartalmi ellenőrzés Nem használt változó Nem használt változóérték Hiányzó kezdőérték Konstans kifejezések Visszatérési érték nélküli függvény Végtelen ciklusok Fordítóprogramok ezek jelentős részét szintén jelzik, bár önmagukban nem minősülnek hibának (figyelmeztetések)
5 5 Dinamikus tesztelés fekete doboz módszer Fekete doboz módszer = adatvezérelt tesztelés Nem veszi figyelembe a program belső szerkezetét Csak a bemenő és kimenő adatok kapcsolatára épít Ekvivalencia osztályok keresése A bemeneti tartományt részekre kell osztani, és ezeken belül jellemző teszteseteket kell választani Tartomány esetén: alatta közte fölötte Logikai érték esetén: kielégítő nem kielégítő feltétel Érvényes és érvénytelen esetekre is fel kell állítani az ekvivalencia osztályokat Egy teszteset lehetőség szerint minél több bemeneti feltételt elégítsen ki, így kevesebb esetre van szükség Határeset elemzés Az ekvivalencia osztályok kiválasztott elemeinek a határértékeket választja Nemcsak a bemenetre, hanem a kimenetre is célszerű ekvivalencia osztályokat felállítani
6 6 Dinamikus tesztelés fehér doboz módszer Tesztelést a program ismeretében végezzük el Ismertek a használt algoritmusok Ismert a pontos implementáció (forráskód) A módszer három lépését különböző technikák segítik Kipróbálási stratégiák Meghatározza, hogy a programgráf melyik útjait kell tesztelni Utasítások egyszeri lefedésének elve úgy válasszuk meg a teszteket, hogy minden utasítást elérjen a vezérlés Döntés lefedés elve elágazások esetén minden ágat elérjen Részfeltétel lefedés elve összetett feltétellel rendelkező elágazások esetén minden részfeltétel kipróbálásra kerüljön Tesztesetek generálása Az előzőleg meghatározott utakon végigvezető bemenetek meghatározása Pl. szimbolikus végrehajtás (részletesen nem tárgyaljuk) Ekvivalencia osztályok megállapítása Előzőleg megismert módszerrel tesztelés folytatása
7 7 Speciális tesztek Funkcióteszt Az elkészült program tartalmaz-e minden szükséges funkciót? Biztonsági teszt A program ellenőrzi a bemeneti adatokat? Ellenőrzi-e a perifériákhoz, állományokhoz való hozzáférést? Stressz teszt Fel tud-e dolgozni nagy sebességgel érkező adatokat? Alkalmas-e párhuzamosan, több irányból érkező nagymennyiségű adat feldolgozására? Volumen teszt Alkalmas-e nagy mennyiségű adat feldolgozására? Ha igen, romlik-e a program hatékonysága? Modulteszt, összeépítési teszt A program önálló moduljainak egymástól független ellenőrzése Az önállóan már letesztelt modulok összeépítése utáni teszt
8 Tesztelés Hibakeresés Kivételkezelés Saját kivételek készítése Kivételkezelés
9 9 Hibakeresés és javítás Hibakeresés: a tesztelés során feltárt hibák helyének megállapítása A fejlesztői környezetek általában fejlett eszközöket nyújtanak a hibakereséshez (nyomkövetés stb.) A hibák száma általában a program méreténél gyorsabban növekszik (a fejlesztés természetes velejárójának tekinthető) Néhány tipikus hiba Szintaktikai hiba Végrehajtás közben jelentkező hiba Program nem áll meg Program megáll, de nem ad eredményt Program megáll, de hibás eredményt ad Hibajavítás: a hibakeresés során megtalált hiba javítása A hibát kell kijavítani, nem csak a tüneteit megszüntetni Hibajavítást újabb tesztelésnek kell követnie Hibajavítás visszanyúlhat a fejlesztés előző fázisaiba
10 10 Indukciós, dedukciós módszer Indukció: a minta azonos nemű elemeinek egy közös tulajdonságából következtethetünk arra, hogy minden ilyen nemű elem rendelkezik ezzel a tulajdonsággal A rendelkezésre álló teszteseteket rendszerezni kell aszerint, hogy melyik okozott hibát és melyek nem Fel kell állítani egy feltételezést, hogy milyen tulajdonságú elemek tartoznak az egyik ill. másik csoportba (amennyiben szükséges, további tesztekkel ez megerősíthető) Ha már egyértelmű(nek tűnik) a hibát okozó tulajdonság, a programon átvezető tesztutak közül ki kell válogatni azokat, amelyek csak az ilyen esetekben futnak le Ezeken a pontokon célszerű keresni a hiba okát Dedukció: ha minden azonos neműről tudjuk, hogy rendelkezik egy tulajdonsággal, akkor ez az egyedre is igaz Össze kell gyűjteni az összes feltételezhető hibaokot A minta elemei alapján ki kell zárni azokat, amelyek nem valósak Az így megtalált okok után a folytatás hasonló az előzőhöz
11 11 Visszalépés, teszteléssel összevonás Visszalépéses technika A hiba egyik előfordulási helyéből kell kiindulni (ilyen biztosan ismert, legrosszabb esetben a végeredmény megjelenítése) Ebből a pontból a programot visszafelé végrehajtva kell megkeresni a rendellenességet okozó pontot Amennyiben a visszafelé görgetett hibás részeredmény helyett egy helyes részeredmény jelenik meg, valószínűleg az (első) hibás sor volt az utolsó lépés Gyakran fejlesztői eszközök segítik ezt a módszert Teszteléssel segített hibakeresés Úgy kell megválasztani az egymást követő teszteseteket, hogy a teljes programgráfban bejárt út csak egy-egy elemi (vagy legalábbis minél kisebb) változással járjon Amennyiben egy ilyen elemi lépés távolságban lévő teszteset pár egyik tagja hibás, a másik helyes működést eredményez, szintén lehet következtetni a hiba helyére
12 12 Egyéb lehetőségek Fejlesztőeszközök által nyújtott funkciók Szintaktikai ellenőrzés Program lépésenkénti futtatása Változók értékeinek nyomon követése Töréspontok elhelyezése a programkódban Adatok értékeire vonatkozó töréspontok Hívási verem megtekintése Változók értékeinek menet közbeni megváltoztatása Vezérlés aktuális pontjának megváltoztatása Programkód futás közbeni módosítása Egyéb megoldások Programozási nyelvek által nyújtott hibakezelési lehetőségek Tipikusan pl. a napjainkban elterjedt kivételkezelés Egyéb megoldások
13 Tesztelés Hibakeresés Kivételkezelés Saját kivételek készítése Kivételkezelés
14 14 Hagyományos módszerek Feladat: számoljuk ki óránként az átlagsebességet Hibakezelés hagyományos módon: függvény Átlagsebességek(SEB, N) i 1; vanértelme igaz ciklus amíg i 24 vanértelme sum 0 ciklus j 1-től N i -ig sum sum + SEB i,j ciklus vége ha N i 0 akkor átlagok i sum / N i különben vanértelme hamis elágazás vége ciklus vége ha vanértelme akkor Átlagsebességek átlagok különben Átlagsebességek Ø elágazás vége függvény vége
15 15 Hagyományos módszer hátrányai Nehezen olvasható kód Meglehetősen hosszú kódot eredményez Nehezen áttekinthető, mivel keveredik a tényleges kód az ellenőrző műveletekkel (és az esetleges javításokkal) Egy hibaforrást gyakran csak több művelettel lehet kiszűrni Nehezen programozható Minden műveletet meg kell vizsgálni, hogy milyen bemenetekre adhat hibás választ, és ezeket mind ki kell zárni Ez meglehetősen nehéz feladat, hiszen fordított gondolkodást igényel a műveletek esetén Nehezen karbantartható Gyakoriak a mélyen egymásba ágyazott feltételek Egymásbaágyazott szerkezetek esetén egy mélyebb szinten keletkezett hiba esetén biztosítani kell a kilépést A feltételeknek általában nincs különben águk Ha ugyanaz a hibalehetőség a kód több helyén is fennáll, akkor gyakran duplikálni kell az ellenőrzést
16 16 Hagyományos módszer hátrányai Függvényhívás esetén a visszatérési értékének valamilyen kitüntetett értéke jelzi, hogy hiba történt Az érték egyben a hiba jellegére is választ ad Egy másik függvény meghívásával lehet lekérdezni a pontos hibakódot Használatának hátrányai Különböző típusú visszatérési értékeknél más-más megoldást kell alkalmazni (van ahol nem járható út, pl. összeadás) Könnyű átsiklani egy ilyen visszaadott hibakód felett A módszer használatának okai Gyakran hatékonyabb, mint a kivételkezelés Hagyományos programozási nyelvekben nem volt más megoldás Rögzült programozói szokások
17 17 Kivételkezelés Kivételkezelő blokk egy lehetséges megvalósítása try <védett blokk> catch (típus eseményref) <típus1 kivétel kezelése> catch (típus2 eseményref) <típus2 kivétel kezelése> finally <mindig lefut> end Általában három különböző blokkot különböztetünk meg try védett (próbára tett) szakasz Ide helyezzük azokat az utasításokat, amelyek esetleg hibákat (vagy egyéb kivételt) okozhatnak catch hibakezelő szakasz Erre a blokkra kerül a végrehajtás, ha a megadott típusú kivétel keletkezett a védett szakaszon belül finally lezáró szakasz Tartalmaz minden kritikus utasítást, aminek mindig le kell futni
18 18 Jól áttekinthető kód Programkód könnyebben írható Nincs szükség műveletenkénti elemzésre, hogy ki tudjuk zárni az esetleges hibás bemenetből adódó hibákat Fizikailag maga a programkód is rövidebb, egyszerűbben implementálható Programkód könnyebben olvasható Élesen elválik egymástól a programkód általános (lényegi) része a kivételes esetek kezelésétől Így nem csak a kivételek kezelése, hanem a lényegi kód is áttekinthetőbbé válik Programkód könnyebben karbantartható A kivételkezelő blokkok egymástól függetlenek, így az egyik változtatása nem befolyásolja a többit Egy esetleges változtatás során nem jellemző, hogy egy továbbgyűrűző, a többi blokkot is módosító változást okozna Szabványos megoldásnak tekinthető, így más fejlesztők számára is könnyen értelmezhető
19 19 Kivételes esetek központi kezelése Egy blokk minden kivételét egy központi helyen kezeli Akár egyetlen programsor futtatása is okozhat több különböző hibát (akár egyszerre többet is) A kivételkezelő blokkal nem kell minden lehetséges hibát egyesével felsorolni, egy blokk (megfelelően paraméterezve) alkalmas a védendő kód minden kivételét egyszerűen kezelni Kivétel típusok szerinti kivételkezelő kiválasztás Hagyományos kivételkezelési technikákkal csak egy kivételkezelő blokk megadására volt lehetőség, jelenlegi technikák mellett kivételtípusonként pontosíthatunk A védett részben több helyen is keletkezhetnek azonos típusú kivételek, lehetőség van ezeket egy helyen kezelni A kivételek általában hierarchiát alkotnak, így rugalmasan lehet definiálni a kivételkezelő blokk típusát A gyakorlatban ez lényeges, mivel általában az azonos típusú hibákat azonos módon lehet kezelni (gyakran sehogy)
20 20 További előnyök Nem hagyható figyelmen kívül Megfelelő alkalmazás esetén nincs szükség a függvények visszatérési értékének ellenőrzésére Amennyiben egy kivétel keletkezik, akkor a futtató környezet mindenképpen megkeresi a hozzá legközelebbi kezelő blokkot Amennyiben nincs ilyen blokk, akkor a program futása megszakad Ez teljesen kizárja a program hibás adatokkal való továbbfutását Hibakeresés elősegítése A kivételek általában a hiba típusán túl további adatokat is tárolhatnak Így egy kivétel információkkal szolgálhat arról, hogy mikor és miért váltódott ki, akár egészen részletes adatokkal is (milyen művelet, milyen paraméterekkel stb.) Ez jelentősen csökkenti a nyomkövetéssel töltött időt
21 21 Egymásba ágyazott kivételkezelők Strukturált programoknál gyakoriak az egymásba ágyazott szerkezetek (elágazás, ciklus, szubrutinhívás), a kivételek kezelésénél erre is figyelmet kell fordítani Strukturált kivételkezelés esetén a bekövetkező kivételek kezelése nem egy megadott ponton történik, hanem az egymásba ágyazott kivételkezelő blokkok hierarchiájától függő helyen Ennek egy lehetséges megvalósítása A program futása során veremben tárolja az elért kivételkezelő blokkokat, és azok paramétereit: minden blokkba való belépéskor elhelyez egy keretet a veremben, a blokkból való kilépéskor pedig ezt kiveszi Kivétel létrejötte esetén a futtató környezet a verem alapján keresi meg a megfelelő kivételkezelő blokkot Többszálú környezetben ezek általában szálanként függetlenek A nem kezelt kivételeket végül a futtatókörnyezet kapja el Kivétel keletkezésének és a kezelésének helye elválik!
22 22 Try, catch blokkok A try blokk használata Tartalmazza azokat a programsorokat, amelyeknél felmerül valamilyen kivétel lehetősége Kritikus programrészeket célszerű így használni, nélküle egy kisebb (esetleg javítható) hiba is a program leállításához vezet A catch blokkok használata Általában több catch blokk használatára van lehetőség, különböző kivételtípusok meghatározásával Egy ilyen blokk kezeli a try blokkon belül történt összes megadott típusú kivételt, ha ez nem megfelelő, akkor a try blokkot több részre kell bontani Ha több blokk is alkalmas egy kivétel kezelésére, általában csak a felülről első megfelelő blokk fut le A catch blokkban lehetőség van elérni magát a kivétel objektumot is, ami további információkat hordozhat Ha nem történt kivétel, nem kerül rá a vezérlés
23 23 Finally blokk, kivételek továbbdobása A finally blokk használata Itt célszerű megadni azokat a műveleteket, amelyeket mindenképpen le kell futtatni (pl. erőforrások felszabadítása) Függetlenül attól, hogy létrejött-e kivétel, vagy sem, ez a blokk mindig lefut (ha volt kivétel, akkor a kivételkezelő után) Amennyiben történt kivétel, de nincs hozzá tartozó kivételkezelő, ez a blokk akkor is lefut Figyelmet igényel azonban, hogy a finally blokkban csak olyan erőforrásokat szabadítson fel a program, amik biztosan le lettek foglalva (ez a try részen belül nem mindig garantálható) Előfordulhat, hogy egy kivételkezelő (vagy finally) blokkban újabb kivétel keletkezik Egy újabb nem várt esemény miatt A már kezelt kivétel továbbítása miatt (újradobás) Egy más típusú kivétel eldobása miatt
24 Tesztelés Hibakeresés Kivételkezelés Saját kivételek készítése Kivételkezelés
25 25 Hagyományos módszer hátrányai Az objektumorientált nyelvek a kivételeket általában egy objektumba csomagolva kezelik (ill. magát a kivételt egy objektumnak tekintjük). Ennek előnyei: Öröklődés Saját kivétel készítésekor lényeges lehet Polimorfizmus Egyszerre több kivételt kezelő blokk készítése esetén További információ hordozása A kivételobjektum típusa már önmagában is jellemzi a bekövetkezett kivételt, de emellett számos egyéb adatot tárolhat ez az objektum (kivétel létrejöttének oka, pontos helye, paraméterek, egyéb üzenet stb.) Ennek megfelelően a kivételek általában egy hierarchiát alkotnak, amelynek felépítése programozási nyelvenként egészen különböző is lehet
26 26 Kivételek típusai Kivétel készítője alapján Keretrendszer saját kivételei Egyéb fejlesztők által készített kivételek Kivétel forrása alapján Szoftver kivételek pl. általános kivételek, jelzések Hardver/operációs rendszer szintű kivételek pl. erőforrás problémák, kritikus hibák Bizonyos nyelvekben kötelező ellenőrzés alapján Kötelezően ellenőrzött kivételek Ezeket a kivételeket kötelező ellenőrizni (vagy továbbadási szándékunkat jelölni), különben a fordító fordítási hibát jelez (pl. hálózati kapcsolat megnyitása esetén) Nem kötelezően ellenőrzött kivételek Ellenőrzésük nem kötelező, a programozóra van bízva ennek eldöntése (pl. aritmetikai hibák ellenőrzése)
27 27 Kivétel osztály definíciója Saját kivételosztály definiálása általában nem különbözik egy általános osztály definíciótól A saját kivételosztály őse célszerűen az adott környezet (programozási nyelv) megfelelő beépített kivételoszálya Egy kivétel általában az alábbi információkat tartalmazza: Kivétel neve célszerű már a kivétel nevét is beszédesen megválasztani, hogy az utaljon a kiváltás okára Üzenet szöveges mezőben tetszőleges üzenet továbbítása a kivétel kezelője felé Hívási verem a hívási verem állapota a kivétel létrejöttekor Beágyazott kivétel kivétel újradobása esetén tartalmazhatja az előző (már kezelt) kivételt A kivétel a többi osztályhoz hasonlóan tartalmazhat más nyelvi elemeket is (metódus, statikus tagok stb.)
28 28 Saját kivétel használata Kivétel dobása Az osztálykönyvtár kódjának kiegészítése, az esetleges hibák bekövetkezte esetén az előzőleg definiált kivételosztály példányosítása, majd a kivétel dobása Természetesen nem csak saját magunk által definiált kivétel objektumokat lehet így dobni A programkód minden olyan helyén célszerű ezt a technikát alkalmazni, ahol hibát (nem végrehajtható műveletet) fedezünk fel, de az adott szinten ezt nem tudjuk kezelni Az előzőleg meghatározott adatokat (pl. üzenet, egyéb saját mezők) is célszerű a kivételobjektumban beállítani Kivétel elkapása A saját kivételek elkapása és kezelése általában nem különbözik a keretrendszer kivételeinek kezelésétől A hibakeresés elősegítése végett célszerű minél több információt elhelyezni a kivételben annak okáról
29 29 Megjegyzések/javaslatok Hibakezelés felelőssége Az osztálykönyvtárak készítői előre nem tudhatják, hogy mikor, milyen okból használják majd az ő kódjukat, emiatt célszerű azokat a lehető legrobusztusabban elkészíteni Az alkalmazásfejlesztők viszont az osztálykönyvtár működését nem fogják ismerni, emiatt az osztálykönyvtár készítőjének felelőssége, hogy érthető módon jelezze a hibákat Célszerű kihasználni a finally blokk előnyeit A catch blokkok írása nélkül is célszerű az erőforrások felszabadítását ilyen blokkba helyezni Csak a valóban kezelt kivételeket érdemes elkapni Gyakran rossz programozói gyakorlat az összes kivétel elkapása, mivel így azok nem jutnak el a megfelelő kezelőig Részlegesen teljesített feladatok visszagörgetése A kivétel kezelése nélkül is gyakran célszerű egy minden kivételt elkapó catch ág, ami visszagörgeti az eddigi változtatásokat (és továbbdobja a kivételt)
30 30 Irodalomjegyzék Javasolt/felhasznált irodalom Pap, Szlávi, Zsakó: μlógia21 Módszeres programozás: A programkészítés technológiája ELTE TTK, 2000 J. Richter: CLR via C# 2nd edition Microsoft press, 2006 R. Simmons: Hardcore Java O Reilly, 2004
Programtervezé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ű
Algoritmizá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
Má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
Java programozási nyelv 9. rész Kivételkezelés
Java programozási nyelv 9. rész Kivételkezelés Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/24 Tartalomjegyzék
Objektumorientált programozás Pál László. Sapientia EMTE, Csíkszereda, 2014/2015
Objektumorientált programozás Pál László Sapientia EMTE, Csíkszereda, 2014/2015 9. ELİADÁS Kivételkezelés (Exception handling) 2 Mi a kivétel (exception)? A kivétel, olyan hibás állapot vagy esemény, amely
Esemé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
Interfészek. PPT 2007/2008 tavasz.
Interfészek szenasi.sandor@nik.bmf.hu PPT 2007/2008 tavasz http://nik.bmf.hu/ppt 1 Témakörök Polimorfizmus áttekintése Interfészek Interfészek kiterjesztése 2 Már megismert fogalmak áttekintése Objektumorientált
Interfészek. Programozás II. előadás. Szénási Sándor.
Interfészek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Polimorfizmus áttekintése Interfészek Interfészek alkalmazása
1. Bevezetés A C++ nem objektumorientált újdonságai 3
Előszó xiii 1. Bevezetés 1 2. A C++ nem objektumorientált újdonságai 3 2.1. A C és a C++ nyelv 3 2.1.1. Függvényparaméterek és visszatérési érték 3 2.1.2. A main függvény 4 2.1.3. A bool típus 4 2.1.4.
Java programozási nyelv
Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23 Tartalomjegyzék
OpenCL 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
Kivételkezelés, beágyazott osztályok. Nyolcadik gyakorlat
Kivételkezelés, beágyazott osztályok Nyolcadik gyakorlat Kivételkezelés Nem minden hibát lehet fordítási időben megtalálni Korábban (pl. C-ben) a hibakezelést úgy oldották meg, hogy a függvény hibakódot
Pénzügyi algoritmusok
Pénzügyi algoritmusok A C++ programozás alapjai Tömbök (3. rész) Konstansok Kivételkezelés Tömbök 3. Többdimenziós tömbök Többdimenziós tömbök int a; Többdimenziós tömbök int a[5]; Többdimenziós tömbök
Kivételkezelés a C++ nyelvben Bevezetés
Kivételkezelés a C++ nyelvben Bevezetés Miskolci Egyetem Általános Informatikai Tanszék Kivételkezelés a C++ nyelvben CPP9 / 1 Hagyományos hibakezelés Függvény visszatérési értéke (paramétere) hátrányai:
Számítástechnika II. BMEKOKAA Előadás. Dr. Bécsi Tamás
Számítástechnika II. BMEKOKAA153 5. Előadás Dr. Bécsi Tamás Kivételkezelés try Azon utasítások kerülnek ide, melyek hibát okozhatnak, kivételkezelést igényelnek catch( típus [név]) Adott kivételtípus esetén
Visszalépéses keresés
Visszalépéses keresés Backtracking előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Alapvető működése Továbbfejlesztési
Gregorics Tibor Modularizált programok C++ nyelvi elemei 1
Gregorics Tibor Modularizált programok C++ nyelvi elemei 1 Függvények és paraméterátadás A függvény egy olyan programblokk, melynek végrehajtását a program bármelyik olyan helyéről lehet kezdeményezni
Rekurzió. Dr. Iványi Péter
Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(
Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN
Objektum Orientált Programozás 11. Kivételkezelés 44/1B IT MAN B IT v: 2016.05.03 MAN Pici elmélet A Java kivételkezelésének célja a programfutás során keletkezett hibák kiszűrése és megfelelő kezelése.
Rekurzió. Működése, programtranszformációk. Programozás II. előadás. Szénási Sándor.
Rekurzió Működése, programtranszformációk előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Rekurzió Rekurzió alapjai Rekurzív
Objektumorientált programozás C# nyelven
Objektumorientált programozás C# nyelven 3. rész Tulajdonságok Indexelők Kivételkezelés Hallgatói tájékoztató A jelen bemutatóban található adatok, tudnivalók és információk a számonkérendő anyag vázlatát
Feladat. 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
Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22
Unit Teszt Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 1 / 22 Tartalomjegyzék 1 Bevezetés 2 Unit Teszt 3 Példa Tóth Zsolt (Miskolci Egyetem) Unit Teszt 2013 2 / 22 Szoftvertesztelés
Eljárások és függvények
Eljárások és függvények Jegyzet Összeállította: Faludi Anita 2012. Bevezetés Ez a jegyzet elsősorban azoknak a diákoknak készült, akiket tanítok, ezért a jegyzet erőteljesen hiányos. Az olvasó egy percig
Kivételek, kivételkezelés a C++ nyelvben
2009. Kivételek, kivételkezelés a C++ nyelvben Haladó C++ programozás Kurucz Attila ELTE - IK 2009.06.09. Tartalomjegyzék Tartalomjegyzék... 2 Mi a kivételkezelés?... 3 Alapfogalmak... 3 Kivétel... 3 Try
Java IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
S ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat )
S ha kettészelik is: balfelöl belőle Valamivel mindig - Valamivel mindiq több marad. (Nyugat 1919. 1049-1050. 1.) A hetvenéves Eötvös Loránd köszöntésekor Alexander Bernád filozófus így jellemezte:...
Java IX. telkezelés a Java-ban
Java IX. Kivétel telkezelés a Java-ban Krizsán Zoltán Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2005. 11. 17. Java IX. Kivételkezelés JAVA9 / 1 A kivételkezel telkezelés célja Kivételes
2011.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,
é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
Java 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
Automatikus tesztgenerálás modell ellenőrző segítségével
Méréstechnika és Információs Rendszerek Tanszék Automatikus tesztgenerálás modell ellenőrző segítségével Micskei Zoltán műszaki informatika, V. Konzulens: Dr. Majzik István Tesztelés Célja: a rendszerben
B-fa. Felépítés, alapvető műveletek. Programozás II. előadás. Szénási Sándor.
B-fa Felépítés, alapvető műveletek előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar B-fa Felépítése Beszúrás művelete Törlés
HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport
10-es Keressünk egy egész számokat tartalmazó négyzetes mátrixban olyan oszlopot, ahol a főátló alatti elemek mind nullák! Megolda si terv: Specifika cio : A = (mat: Z n m,ind: N, l: L) Ef =(mat = mat`)
Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések. 1. Mi a programozás?
Bevezetés Kinek szól a könyv? A könyv témája A könyv felépítése Mire van szükség a könyv használatához? A könyvben használt jelölések Forráskód Hibajegyzék p2p.wrox.com xiii xiii xiv xiv xvi xvii xviii
Programozási alapismeretek 1. előadás
Programozási alapismeretek 1. előadás Tartalom A problémamegoldás lépései programkészítés folyamata A specifikáció Az algoritmus Algoritmikus nyelvek struktogram A kódolás a fejlesztői környezet 2/33 A
Algoritmusok Tervezése. 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás
Algoritmusok Tervezése 6. Előadás Algoritmusok 101 Dr. Bécsi Tamás Mi az algoritmus? Lépések sorozata egy feladat elvégzéséhez (legáltalánosabban) Informálisan algoritmusnak nevezünk bármilyen jól definiált
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG Gyakorlatvezető
Programozási alapismeretek 4.
Programozási alapismeretek 4. Obejktum-Orientált Programozás Kis Balázs Bevezetés I. Az OO programozási szemlélet, egy merőben más szemlélet, az összes előző szemlélettel (strukturális, moduláris, stb.)
Programozás II. előadás
Nem összehasonlító rendezések Nem összehasonlító rendezések Programozás II. előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Programozás II. 2 Rendezés
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1
Algoritmizálás és adatmodellezés tanítása beadandó feladat: Algtan1 tanári beadandó /99 1 Készítette: Gipsz Jakab Neptun-azonosító: ABC123 E-mail: gipszjakab@seholse.hu Kurzuskód: IT-13AAT1EG 1 A fenti
Globális operátor overloading
Programozás II. 9. gyakorlat Operátor overloading 2: Unáris operátorok, globálisan megvalósított operátorok, > operátorok Kivételkezelés, IO library Globális operátor overloading Előző alkalommal
Szoftver karbantartási lépések ellenőrzése
Szoftverellenőrzési technikák (vimim148) Szoftver karbantartási lépések ellenőrzése Majzik István Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék http://www.inf.mit.bme.hu/
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba
Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba Témavezető: Horváth Zoltán és Simon Thompson OTDK 2007, Miskolc Egy Erlang refaktor lépés: Függvényparaméterek összevonása tuple-ba OTDK
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)
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
Specifikáció alapú teszttervezési módszerek
Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben?
1. Mi a fejállományok szerepe C és C++ nyelvben és hogyan használjuk őket? 2. Milyen alapvető változókat használhatunk a C és C++ nyelvben? 3. Ismertesse a névtér fogalmát! 4. Mit értünk a "változó hatóköre"
Specifikáció alapú teszttervezési módszerek
Szoftverellenőrzési technikák Specifikáció alapú teszttervezési módszerek Majzik István, Micskei Zoltán http://www.inf.mit.bme.hu/ 1 Klasszikus tesztelési feladat A tesztelendő program beolvas 3 egész
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK
ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK 1. ELÁGAZÁSOK ÉS CIKLUSOK SZERVEZÉSE Az adatszerkezetek mellett a programok másik alapvető fontosságú építőkövei az ún. algoritmikus szerkezetek.
Iman 3.0 szoftverdokumentáció
Melléklet: Az iman3 program előzetes leírása. Iman 3.0 szoftverdokumentáció Tartalomjegyzék 1. Az Iman rendszer...2 1.1. Modulok...2 1.2. Modulok részletes leírása...2 1.2.1. Iman.exe...2 1.2.2. Interpreter.dll...3
Láncolt listák. Egyszerű, rendezett és speciális láncolt listák. Programozás II. előadás. Szénási Sándor
Láncolt listák Egyszerű, rendezett és speciális láncolt listák előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai Kar Láncolt
A szerzõrõl... xi Bevezetés... xiii
TARTALOMJEGYZÉK A szerzõrõl...................................................... xi Bevezetés...................................................... xiii I. rész A Visual Basic 2005 környezet 1. óra Irány
A programozás alapjai
A programozás alapjai Változók A számítógép az adatokat változókban tárolja A változókat alfanumerikus karakterlánc jelöli. A változóhoz tartozó adat tipikusan a számítógép memóriájában tárolódik, szekvenciálisan,
Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java
Függvények, csomagok Csomagok Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges számú osztályt tartalmazhat Pl.: java.util.scanner Könyvtárhierarhiát fed: Pl.: java/util/scanner.java Célja:
Java programozási nyelv 4. rész Osztályok II.
Java programozási nyelv 4. rész Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/17 Tartalomjegyzék
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E
Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E Követelmény A beadandó dokumentációját a Keszthelyi Zsolt honlapján található pdf alapján kell elkészíteni http://people.inf.elte.hu/keszthelyi/alkalmazasok_fejlesztese
Adatszerkezetek 2. Dr. Iványi Péter
Adatszerkezetek 2. Dr. Iványi Péter 1 Hash tábla A bináris fáknál O(log n) a legjobb eset a keresésre. Ha valamilyen közvetlen címzést használunk, akkor akár O(1) is elérhető. A hash tábla a tömb általánosításaként
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama. 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra
Az iskolai rendszerű képzésben az összefüggő szakmai gyakorlat időtartama 10. évfolyam: 105 óra 11. évfolyam: 140 óra 10. évfolyam Adatbázis- és szoftverfejlesztés gyakorlat 50 óra 36 óra OOP 14 óra Programozási
AWK 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
OOP. 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
Gráfok 2. Legrövidebb utak, feszítőfák. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor
Gráfok 2. Legrövidebb utak, feszítőfák előadás http://nik.uni-obuda.hu/sztf2 Szénási Sándor Óbudai Egyetem,Neumann János Informatikai Kar Legrövidebb utak keresése Minimális feszítőfa keresése Gráfok 2
Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós október 11. Széchenyi István Egyetem, Gy r
Programozás alapjai (GKxB_INTM023) Széchenyi István Egyetem, Gy r 2018. október 11. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja
Programozási nyelvek (ADA)
Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 1. előadás Hasznos weboldal http://kto.web.elte.hu Program felépítése Programegységek (program unit) eljárások (procedure)
Osztott jáva programok automatikus tesztelése. Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január
Osztott jáva programok automatikus tesztelése Matkó Imre BBTE, Kolozsvár Informatika szak, IV. Év 2007 január Osztott alkalmazások Automatikus tesztelés Tesztelés heurisztikus zaj keltés Tesztelés genetikus
Gregorics Tibor Tanácsok modularizált programok készítéséhez 1
Gregorics Tibor Tanácsok modularizált programok készítéséhez 1 Modularizált programon azt értjük, amely több, jól körülhatárolható részfeladat megoldásaiból épül fel. Egy-egy részfeladat gyakran szabványos
Objektum orientált kiterjesztés A+ programozási nyelvhez
Szegedi Tudományegyetem Informatikai Tanszékcsoport Objektum orientált kiterjesztés A+ programozási nyelvhez Diplomamunka terve Készítette: Bátori Csaba programtervező matematikus hallgató Témavezető:
Egyszerű programozási tételek
Egyszerű programozási tételek 2. előadás Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar 2011. szeptember 15. Sergyán (OE NIK) AAO 02 2011. szeptember 15.
Webprogramozá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
GPU Lab. 4. fejezet. Fordítók felépítése. Grafikus Processzorok Tudományos Célú Programozása. Berényi Dániel Nagy-Egri Máté Ferenc
4. fejezet Fordítók felépítése Grafikus Processzorok Tudományos Célú Programozása Fordítók Kézzel assembly kódot írni nem érdemes, mert: Egyszerűen nem skálázik nagy problémákhoz arányosan sok kódot kell
Bevezetés az informatikába
Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.
Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED
UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED AWK - szintaxis, vezérlési szerkezetek Operációs rendszerek 11. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Csuvik
Programozás I. Egyszerű programozási tételek. Sergyán Szabolcs
Programozás I. 3. előadás Egyszerű programozási tételek Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember
Bevezeté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
A 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
Adatszerkezetek Tömb, sor, verem. Dr. Iványi Péter
Adatszerkezetek Tömb, sor, verem Dr. Iványi Péter 1 Adat Adat minden, amit a számítógépünkben tárolunk és a külvilágból jön Az adatnak két fontos tulajdonsága van: Értéke Típusa 2 Adat típusa Az adatot
Széchenyi István Egyetem. Programozás III. Varjasi Norbert varjasin@sze.hu
Programozás III. Varjasi Norbert varjasin@sze.hu 1 A java virtuális gép (JVM) Képzeletbei, ideális számítógép. Szoftveresen megvalósított működési környezet. (az op. rendszer egy folyamata). Feladata:
Név: Neptun kód: Pontszám:
Név: Neptun kód: Pontszám: 1. Melyek a szoftver minőségi mutatói? Fejlesztési idő, architektúra, programozási paradigma. Fejlesztőcsapat összetétele, projekt mérföldkövek, fejlesztési modell. Karbantarthatóság,
Eseményvezérelt alkalmazások fejlesztése I 11. előadás. Szoftverek tesztelése
Eötvös Loránd Tudományegyetem Informatikai Kar Eseményvezérelt alkalmazások fejlesztése I 11. előadás Szoftverek tesztelése 2014 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto
Verifikáció és validáció Általános bevezető
Verifikáció és validáció Általános bevezető Általános Verifikáció és validáció verification and validation - V&V: ellenőrző és elemző folyamatok amelyek biztosítják, hogy a szoftver megfelel a specifikációjának
Regionális forduló november 18.
Regionális forduló 2017. november 18. 9-10. osztályosok feladata Feladat Egy e-mail kliens szoftver elkészítése lesz a feladatotok. Az elkészítendő alkalmazásnak az alábbiakban leírt specifikációnak kell
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1
Programozási alapismeretek beadandó feladat: ProgAlap beadandó feladatok téma 99. feladat 1 Készítette: Gipsz Jakab Neptun-azonosító: A1B2C3 E-mail: gipszjakab@vilaghalo.hu Kurzuskód: IP-08PAED Gyakorlatvezető
C 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
Algoritmizálás és adatmodellezés tanítása 1. előadás
Algoritmizálás és adatmodellezés tanítása 1. előadás Algoritmus-leíró eszközök Folyamatábra Irányított gráf, amely csomópontokból és őket összekötő élekből áll, egyetlen induló és befejező éle van, az
A 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)
Programozási technológia II 7. előadás. Verifikáció és validáció Giachetta Roberto
Eötvös Loránd Tudományegyetem Informatikai Kar Programozási technológia II 7. előadás Verifikáció és validáció 2016 Giachetta Roberto groberto@inf.elte.hu http://people.inf.elte.hu/groberto Minőségbiztosítás
OOP #14 (referencia-elv)
OOP #14 (referencia-elv) v1.0 2003.03.19. 21:22:00 Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj. e-mail: aroan@ektf.hu web: http://aries.ektf.hu/~aroan OOP OOP_14-1 - E jegyzet
Podoski 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ő
Clang Static Analyzer belülről
Clang Static Analyzer belülről Nagy Donát 2015. október 6. Áttekintés 1 Clang Static Analyzer kívülről 2 A statikus elemzés folyamata 3 Az eszköz felépítése 4 Egy checker felépítése Rövid definíciók Clang
Programozás Minta programterv a 1. házi feladathoz 1.
Programozás Minta programterv a 1. házi feladathoz 1. Gregorics Tibor 1. beadandó/0.feladat 2008. december 6. EHACODE.ELTE gt@inf.elte.hu 0.csoport Feladat Egy osztályba n diák jár, akik m darab tantárgyat
TERC V.I.P. hardverkulcs regisztráció
TERC V.I.P. hardverkulcs regisztráció 2014. második félévétől kezdődően a TERC V.I.P. költségvetés-készítő program hardverkulcsát regisztrálniuk kell a felhasználóknak azon a számítógépen, melyeken futtatni
C programozási nyelv Pointerek, tömbök, pointer aritmetika
C programozási nyelv Pointerek, tömbök, pointer aritmetika Dr. Schuster György 2011. június 16. C programozási nyelv Pointerek, tömbök, pointer aritmetika 2011. június 16. 1 / 15 Pointerek (mutatók) Pointerek
OOP és UML Áttekintés
OOP és UML Áttekintés Tóth Zsolt Miskolci Egyetem 2013 Tóth Zsolt (Miskolci Egyetem) OOP és UML Áttekintés 2013 1 / 32 Tartalom jegyzék 1 OOP Osztály Öröklődés Interfész, Absztrakt Osztály Kivétel kezelés
Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós március 3. Széchenyi István Egyetem, Gy r
Programozás (GKxB_INTM021) Széchenyi István Egyetem, Gy r 2018. március 3. Függvények Mi az a függvény (function)? Programkód egy konkrét, azonosítható, paraméterezhet, újrahasznosítható blokkja Miért
Az informatika kulcsfogalmai
Az informatika kulcsfogalmai Kulcsfogalmak Melyek azok a fogalmak, amelyek nagyon sok más fogalommal kapcsolatba hozhatók? Melyek azok a fogalmak, amelyek más-más környezetben újra és újra megjelennek?
Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs
Programozás I. 1. előadás: Algoritmusok alapjai Sergyán Szabolcs sergyan.szabolcs@nik.uni-obuda.hu Óbudai Egyetem Neumann János Informatikai Kar Alkalmazott Informatikai Intézet 2015. szeptember 7. Sergyán
Imperatív programozás
Imperatív programozás 7. Előadás Függvények, láthatóság (folytatás) Modulok Kivételkezelés Beágyazott függvény def lnko(x, y): def kivon(m, n): return m - n while not (x == y) : if x > y : x = kivon(x,y)
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás
Objektum orientáltság alapjai A Java nyelv Fordítás - futtatás Objektum orientáltság alapjai Objektum: A való világ egy elemének ábrázolása, amely minden esetben rendelkezik: Állapottal,Viselkedéssel,Identitással
Információtartalom vázlata
1. Az Ön cégétől árajánlatot kértek egy üzleti portál fejlesztésére, amelynek célja egy online áruház kialakítása. Az árajánlatkérés megválaszolásához munkaértekezletet tartanak, ahol Önnek egy vázlatos
Optimalizációs stratégiák 2.
Optimalizációs stratégiák 2. Visszalépéses keresés, szétválasztás és korlátozás előadás http://nik.uni-obuda.hu/prog2 Szénási Sándor szenasi.sandor@nik.uni-obuda.hu Óbudai Egyetem,Neumann János Informatikai