Programozás 1, Géptermi PótZH, 2012. 06. 18.
A programok elkészítéséhez segédanyagként csak nyomtatásban megjelent könyvet szabad használni, minden más anyaggal (pendrive, szomszéd hallgató) való próbálkozás tilos. A gyakorlatvezetőnek joga van a géptermi ZH gyenge teljesítménye esetén a beadandókat összevetni a géptermi ZH-n készített programmal, és amennyiben nem meggyőző a beadandó saját kezűsége, a gyakorlati jegy megtagadható.
A ZH írása közben amennyiben kérdésed van, csendben jelezd a felügyelőnek, és a kérdést csak személyesen tedd fel, ne zavard mások munkáját. Amennyiben egy szakasszal készen vagy, szintén jelezz egy felügyelőnek, aki elbírálja a munka minőségét, és megmondja, hogy elfogadja-e, vagy sem. Az elutasítást nem minden esetben kell megmagyaráznia, csak ha úgy ítéli meg, hogy a tananyagnak nem képezi szerves részét a probléma.
A géptermi ZH értékelése a gyakorlatvezető hatásköre. Az értékelési szempontok a következők:
adatkezelő feladat megoldásánál a kód és a választott adatszerkezet eleganciája (felesleges adatok nem szerepelnek benne, egyszerű, hatékony), ennek kommentben leírt egy-két mondatos indoklása mellett.
a programok működési minősége, a grafikus feladatok képe olyan, mint a feladat mutatja, az adatkezelő program helyesen jeleníti meg az adatokat
A grafikus feladatok közül elegendő egyet megoldani (megfelelően sikerült adatkezelő feladat mellett) a maximális értékeléshez, mindkettő megoldása extra pontokat jelent, további extra pontokat lehet kapni a 3d_feladat_extra feladat megoldásáért.
Az adatkezelő feladatok súlya egyesével körülbelül azonos egy grafikus feladattal
Az adatkezelő feladatok közül legalább az egyik megoldásának le kell fordulnia, adatokat kell beolvasnia és kiírnia az érvényes géptermi ZH-hoz.
Grafikus feladatok
A grafikus feladatok esetében utánozni kell a kiadott .exe fájlt. Nem kell pixel pontosnak lennie az eredménynek, csak erősen hasonlítania.
Az 1. adatkezelő feladat leírása
Szeretnénk egy biokémiai térképet csinálni, amiben a vegyületeket akkor kötjük össze, ha valamilyen fontos reakciósorozatban szomszédosak. A rendszernek meg akarjuk tanítani ezeket a kapcsolatokat, majd egy kérdést szeretnénk feltenni: Két vegyület megadása után szeretnénk felsorolni azokat a vegyületeket, amik összekötik azokat. (pl. ha a Glucose-1P -- Glucose-6P, és Glucose-6P -- Fructose-6P kapcsolatok léteznek, akkor a Glucose-1P és Fructose-6P inputra az egyik output a Glucose-6P kell legyen)
A 2. adatkezelő feladat leírása
Adott egy main függvény:
list<int> l;
push(l,3);
push(l,7);
push(l,1);
push(l,rand()%10);
copy(l.begin(), l.end(), ostream_iterator<int>(cout, " "));
Írd meg a push függvényt úgy, hogy a program sorrendben írja ki a számokat, és nem tartalmaz ciklust.
A választott adatszerkezetnek nem kötelező egyetlen kombinált STL típusnak lennie, de egy struct vagy class privát mezőjében kell elhelyezni. Maximális értékeléshez 1-2 mondatos komment is kell az adatszerkezet megválasztásának indoklásával.