|
|
| 19. sor: |
19. sor: |
| A tárgy fő célkitűzése, hogy bevezessen az objektum-orientált programozásba a C++ nyelv megismertetésével. Ennek alapjául az előző félévben megszerzett C nyelvi tudás szükséges. További cél, hogy megismertessen néhány alapvető operációsrendszer-használati fogalommal, valamint hordozható programok írásának szabályaival. | | A tárgy fő célkitűzése, hogy bevezessen az objektum-orientált programozásba a C++ nyelv megismertetésével. Ennek alapjául az előző félévben megszerzett C nyelvi tudás szükséges. További cél, hogy megismertessen néhány alapvető operációsrendszer-használati fogalommal, valamint hordozható programok írásának szabályaival. |
|
| |
|
| A tárgyak felelőse és előadója Dr. Szeberényi Imre és Somogyi Péter. A laborgyakorlatokat az IIT vezetésével az AAIT, EET, ETT, HIT és a VET tanszékek oktatói tartják. | | A tárgyak felelőse és előadója Dr. Szeberényi Imre és Somogyi Péter. A laborgyakorlatokat az IIT vezetésével az AAIT, EET, ETT, HIT és a VET tanszékek oktatói tartják. Gyakorlat nincs a tárgyból. |
|
| |
|
|
| |
|
| 46. sor: |
46. sor: |
|
| |
|
| * Ponthatárok: | | * Ponthatárok: |
| :{| class="wikitable" style="text-align: center; width: 110px; height: 40px;" | | :{| class="wikitable" style="text-align: center; width: 120px; height: 40px;" |
| !Pont !! Jegy | | !Pont !! Jegy |
| |- | | |- |
| 83. sor: |
83. sor: |
| === Előadások diái === | | === Előadások diái === |
| * 2020: | | * 2020: |
| ** [[Media:Prog2_dia_2015-16-2_1.pdf|C++ kialakulása, nem OO újdonságok]] | | ** [[Media:Prog2_1_ea.pdf | 1. előadás ]] |
| ** [[Media:Prog2_dia_2015-16-2_2.pdf|OO paradigmák, osztály, operátorok átdefiniálása]]
| | ** [[Media:Prog2 2 ea.pdf | 2. előadás]] |
| ** [[Media:Prog2_dia_2015-16-2_3.pdf|konstruktor és értékadás, dinamikus szerkezetek]]
| |
| ** [[Media:Prog2_dia_2015-16-2_4.pdf|analitikus és korlátozó öröklés]]
| |
| ** [[Media:Prog2_dia_2015-16-2_6.pdf|mutatókonverziók, heterogén kollekció]]
| |
| ** [[Media:Prog2_dia_2015-16-2_7.pdf|generikus szerkezetek, template]]
| |
| ** [[Media:Prog2_dia_2015-16-2_8.pdf|bejárók és egy tervezési példa]] | |
| ** [[Media:Prog2_dia_2015-16-2_9.pdf|többszörös öröklés, cast, perzisztencia]]
| |
| ** [[Media:Prog2_dia_2015-16-2_10.pdf|hibakezelés és STL bevezető]]
| |
| ** [[Media:Prog2_dia_2015-16-2_11.pdf|STL algoritmusok]]
| |
| ** [[Media:Prog2_dia_2015-16-2_13.pdf|Grafikus felületek és a C++]]
| |
|
| |
|
| === Online hozzáférhető könyvek === | | === Online hozzáférhető könyvek === |
| 111. sor: |
102. sor: |
| * [http://www.eclipse.org/cdt/ Eclipse CDT plugin] — sok platformra | | * [http://www.eclipse.org/cdt/ Eclipse CDT plugin] — sok platformra |
| * [http://www.codeblocks.org/ Code::Blocks] — sok platformra | | * [http://www.codeblocks.org/ Code::Blocks] — sok platformra |
| | |
| | == Házi == |
|
| |
|
| == KisZH == | | == KisZH == |
| 117. sor: |
110. sor: |
| **[[Prog2 1. KZH Igaz/Hamis kikérdező | Wiki kikérdező]] | | **[[Prog2 1. KZH Igaz/Hamis kikérdező | Wiki kikérdező]] |
|
| |
|
| == Házi == | | == ZH-k == |
| * A házi véletlenszerűen generált. Van néhány témakör (pl. Neumann-elvű számítógép szimulátor, kupackezelő, recept-nyilvántartás, állapotgép szimulátor, fájlkezelő rendszer, stb.), ezeket ellátják névre szóló paraméterekkel, majd kiadják a hallgatóknak. A házi az objektumkezelésre, memóriakezelésre, operátorokra koncentrál leginkább, így a tananyag legfontosabb részeiből jó tapasztalatot szerezhetsz.
| | |
| * A házi másik része kötött. Egyfelől előírják a dokumentáció felépítését, mit kell beadni, milyen formában. Másrészt a memtrace-t használni kell a házinál, illetve ajánlott a gtest_lite használata is (ezeket a fájlokat nem kell külön feltölteni, a Cporta tudja kezelni őket). | | === 1. ZH === |
| * A házi 4-5 részfeladatra tagolódik: | | * 2015 |
| # Specifikáció: Néhány bekezdés terjedelemben írd le, a kiadott feladat szövege alapján hogyan képzeled el a megvalósítandó programot, hogy a laborvezető lássa, mit fogsz csinálni.
| | ** [[Media:prog2_zh1_2015.pdf | ZH megoldásokkal]] |
| # Terv: Bővebben írd le, hogyan lesz megvalósítva a feladatod. Hogyan dolgozod fel a bemenetet, melyik függvénynek/objektumnak mi a szerepe, hogyan lesz kiszámítva pl. a bolygók tömege. Tervezd meg, milyen osztályokra lesz szükséged, azok hogyan kapcsolódnak egymáshoz, erről készíts is valami diagramot. Ez lehet kézi rajz, vagy a Google első találata. Tipp: ha Visual Studio-t használsz, és megcsinálod a 3. részfeladatot is, generálhatsz egy osztálydiagramot (jobb klikk a projekt nevén > View > View class diagram)
| | * 2016: |
| # Interfész: Itt már kódot is kell írnod. A korábban megtervezett osztályokat/függvényeket készítsd el, de a függvények belsejei lehetnek félkészek, vagy üresek. Kezd el megírni a main() függvényt, és a program többi részét. Amikor feltöltöd a fájlokat Cporta-ra, a header fájlokat ne jelöld be fordítandónak, de a main() függvényt tartalmazó fájlt mindenképpen!
| | ** [[Media:prog2_zh1_2016.pdf | ZH megoldásokkal]] |
| # Végleges: Ekkora kellene befejezned a házidat. Dokumentációt, forrásfájlokat, teszt bemeneteket kell feltöltened. Feltöltésnél minden (.h és .cpp) fájlt jelölj be fordításra! A Cporta mutatni fogja, ha hibás a programod. Ezeket ki kell javítanod. A hibátlan programot az oldal lefordítja, és lefuttatja, majd kijelzi, hogy a forrásfájlok mely utasításai nem lettek felhasználva. Törekedj arra, hogy lehetőleg a program minden része le legyen fedve. Ezt további, vagy kibővített teszt bemenetekkel érheted el. Nem muszáj az összes sornak érintettnek lennie, de lényegesebb részek ne maradjanak ki (pl. egy kupacokat tároló programnál sose fut le a jobboldalt kezelő függvény, csak a bal).
| | ** [[Media:prog2_pzh1_2016.pdf | PZH megoldásokkal]] |
| # Pótlás: Ha nem készültél el a 4. részfeladattal, de azért már a nagyja megvan, csak apróbb javítások/pontosítások szükségesek, akkor később is beadhatod a házit. Ezért fizetni kell, és nem fogsz 6 pluszpontot kapni a házira. Ha a 4. részfeladatnál kész voltál, nem kell feltöltened semmit.
| |
|
| |
|
| * Egy egyszerű [https://svn.iit.bme.hu/proga2/cporta_peldak/NHF/ minta házi feladatban] látható, a részfeladatoknál hogyan alakul a program. | | === 2. ZH === |
| | *2015 |
| | ** [[Media:prog2_zh2_2015.pdf | ZH megoldásokkal]] |
| | * 2016 |
| | ** [[Media:prog2_zh2_2016.pdf | ZH megoldásokkal]] |
| | ** [[Media:prog2_pzh2_2016.pdf | PZH megoldásokkal]] |
|
| |
|
| == ZH ==
| |
| * 2015: [[Media:prog2_zh1_2015.pdf|1. ZH]] - [[Media:prog2_zh2_2015.pdf|2. ZH]]
| |
| * 2016: [[Media:prog2_zh1_2016.pdf|1. ZH]] - [[Media:prog2_pzh1_2016.pdf|1. ZH pót]] - [[Media:prog2_zh2_2016.pdf|2. ZH]] - [[Media:prog2_pzh2_2016.pdf|2. ZH pót]]
| |
|
| |
|
| '''Régi típusú ZH-k''' (csak 1 ZH volt félév közben): | | {{Rejtett |
| | |mutatott='''Régi típusú ZH-k ''' |
| | |szöveg= |
| | * ''(csak 1 ZH volt félév közben)'' |
| * 2006: [[Media:prog2_zh_20060518a_mo.pdf|A]] - [[Media:prog2_zh_20060525a_mo.pdf|B]] | | * 2006: [[Media:prog2_zh_20060518a_mo.pdf|A]] - [[Media:prog2_zh_20060525a_mo.pdf|B]] |
| * 2007: [[Media:prog2_zh_20070517b_mo.pdf|A]] | | * 2007: [[Media:prog2_zh_20070517b_mo.pdf|A]] |
| 143. sor: |
140. sor: |
| * 2013: [[Media:Zh130523a_meg.pdf|A]] - [[Media:Zh130513a_meg.pdf|B]] | | * 2013: [[Media:Zh130523a_meg.pdf|A]] - [[Media:Zh130513a_meg.pdf|B]] |
| * 2014: [[Media:prog2_zh_2014_1.pdf|A]] - [[Media:prog2_zh_2014_2.pdf|B]] | | * 2014: [[Media:prog2_zh_2014_1.pdf|A]] - [[Media:prog2_zh_2014_2.pdf|B]] |
| | | }} |
| '''Tipikus ZH kérdések'''
| |
| * Írj egy generikus tároló osztályt mely tudja az alábbiakat:
| |
| ** konstrukor, destruktor
| |
| ** másoló konstruktor
| |
| ** operator =
| |
| ** getMinMax(bool isMin)
| |
| * Írjon tetszőleges generikus rendező algoritmust!
| |
| * Írjon algoritmus, amely transzponál egy generikus mátrixot!
| |
|
| |
|
| == Tippek == | | == Tippek == |
| 160. sor: |
149. sor: |
|
| |
|
| --[[Szerkesztő:Ferrero|Szabó Csaba]] ([[Szerkesztővita:Ferrero|vita]]) 2012. december 16., 23:26 (CET) | | --[[Szerkesztő:Ferrero|Szabó Csaba]] ([[Szerkesztővita:Ferrero|vita]]) 2012. december 16., 23:26 (CET) |
|
| |
| == Gyakvezérek ==
| |
| === Vélemény a gyakorlatvezetőkről ===
| |
| * '''Blázovics László''': Az anyagot nagyon érti, szívesen segít, viszont nem tart túl izgalmas gyakorlatokat, könnyen elterelődik a figyelmed, könnyen bealszol.
| |
| * '''Goldschmidt Balázs''': Jó hangulatú órákat tart, jól magyaráz.
| |
| * '''Simon Balázs''': Jól magyaráz, viszont az előadói stílusa nem a legjobb.
| |
| * '''Izsó Tamás''': Nagyon jó szakember, de nem gyakorlatot tart, hanem előadást. Diákat vetít és végig magyaráz. Az utolsó pár dián általában vannak feladatok, de azokat sem megoldja, hanem megmutatja a megoldást és csak beszél a kódról. Ráadásul sokszor ezekig a diákig el sem ér, mert kicsúszik az időből. Soha nem sikerül még befejezni az órát időre (sőt, csak szimplán befejezni sem, mert sosem ért a végére). Óra előtt igyál meg legalább egy kávét, különben tuti elalszol. Ettől függetlenül jó szakember, és szívesen segít is, bármilyen problémád, kérdésed van.
| |
|
| |
|
| == Verseny == | | == Verseny == |