Beadandó feladatok

A kész feladatokat (forrást dokumentációval(PDF) együtt) egy <Neptun kód>.zip (pl. A8US50.zip) állományba csomagolva a Neptun e-learning rendszerén keresztül kell leadni.

Csak a funkcionálisan működő, a kitűzött kiegészítő követelményeknek megfelelő és elektronikusan készült dokumentációval rendelkező programot fogadunk el. A bemutatott programnak a kitűzött feladatot kell megoldania. Kiegészítő követelményeken egyrészt a nem-funkcionális követelményeket (például adatok beolvasásának módja, program újraindíthatósága, stb.), másrészt a kódolási konvenciók betartását (például standard C++ elemek használata, előírt kódolási stílus), harmadrészt egyéb, a feladat megoldásához használt eszköz (például függvények használata, modulokra bontás, osztály használata) kötelező alkalmazását értjük. A kiegészítő követelmények halmozódnak, azaz egy újabb beadandó feladatnál érvényesek a korábbi feladatoknál előírt követelmények is. A megoldáshoz elektronikusan készült dokumentációt kell készíteni. Nem kérünk teljes dokumentációt. Mindig az adott beadandó feladat leírása határozza meg azt, hogy mi szerepeljen benne. (A mintadokumentáció ennél általában bővebb.) A dokumentáció mindig tartalmazza tesztelési esetek listáját. Az egyes tesztesetekhez mindig meg kell adni egy konkrét adatsort és a várt eredményt. Fájlból való olvasás esetén ezek a tesztesetek egy-egy fájlban legyenek meg. A beadandó feladatokat 0-5 ponttal értékeljük. A beadási határidők a feladatcsoportoknál találhatók. A határidőre beadott, a követelményeknek megfelelő munka 5 pontot ér, késés esetén hetente egy ponttal kevesebbet. Csak az kaphat gyakorlati jegyet, akinek mindkét munkája legalább 1 pontos lett.
A félév során 2 beadandó feladatot kell elkészíteni.

Alap követelmények: A programkód legyen (megjegyzésekkel, üres sorokkal, tabulátorral) jól tagolt, hűen tükrözze az absztrakt program szerkezetét, amelyet programozási tételekre támaszkodva kell elkészíteni. A program működése legyen öndokumentáló (derüljön ki a futtatás alatt, hogy mi a feladat, milyen feltételeknek megfelelő adatokat vár a felhasználótól, az eredmény jól értelmezhetően jelenjen meg). Forrásprogramját projektbe ágyazza bele! Fájlból olvasott bemenő adatok esetén az adatokat írja ki a konzolablakba! Csak az adatellenőrzéshez és a program ismételhető futtatásához használhat do-while() utasítást!
Dokumentáció: A dokumentáció tartalmazza a feladat szövegét, specifikációját, a megoldáshoz felhasznált programozási tételt, a visszavezetésnél alkalmazott megfeleltetést, a megoldó algoritmust, az algoritmus kódolásánál alkalmazott megfeleltetést. Ilyen például a változó átnevezések megadása, annak tisztázása, hogy a terv 1-től n-ig indexelt tömbje helyett 0-tól n-1-ig indexelt tömböt vagy 0-tól n-ig indexelt tömböt (ahol a 0-dik elemet nem használjuk) szerepel-e a C++-ban. A dokumentáció része még a tesztelési esetek listája.


Határidők:
1. beadandó: 2013.04.19. 24:00
A feladatlista Beadandó leadás

Kiegészítő követelmények (a fent olvashatóakon kívül): Tagolja kódját függvények segítségével. Váljon ketté a függvények deklarációja és definíciója. Kommentezze a függvényeket a kódban (milyen részfeladatot old meg, melyek a bemenő adatai, kimenő adatai).
Dokumentáció: A dokumentáció tartalmazza a feladat szövegét, specifikációját, a megoldáshoz felhasznált programozási tételeket és a visszavezetésnél alkalmazott megfeleltetéseket, a megoldó algoritmust, az alkalmazott függvények kapcsolódási szerkezetét, köztük zajló adatforgalmat valamint a tesztelési esetek listáját.

2. beadandó: 2013.05.17. 24:00
A feladatlista Beadandó leadás

Kiegészítő követelmények (az eddigieken kívül): A felhasználói típusokat osztályok definiálásával, több önálló fordítási egységre való felbontással kell megvalósítani. Ha a feladat önmagában csak egy típus megvalósításából áll, akkor célszerű egy olyan menüt felajánló főprogramot készíteni, amely segítségével kipróbálható az osztály összes szolgáltatása (létrehozható több objektum, végrehajthatóak rájuk az osztály metódusai és barát függvényei).
Dokumentáció:: A dokumentáció tartalmazza a feladat szövegét, specifikációját, a megoldó algoritmust, a felhasználói típus(ok) leírását (típusértékek, műveletek, reprezentáció, típusműveleteket implementáló algoritmusok), és a tesztelési esetek listáját.