A beadandó feladat célja annak bizonyítása, hogy a hallgató képes önállóan azokat a módszereket és formalizmust alkalmazni, amelyeket addigra el kellett sajátítania, és azokat a számítógépi eszközöket a feladat megoldása során hatékonyan fölhasználnia, amelyekkel megfelelő minőségű munkát képes leadni.
1. A feladat sorszáma, pontos szövege és a név a dokumentáció nyitó lapján jól látható helyen szerepeljen!
2. A megoldás fájljai: a dokumentáció, a Pascal forráskódot tartalmazó fájlok (a beépített saját unit-, include-oké is), valamint a lefordított program (exe-fájl), továbbá a fordításhoz és futtatáshoz esetleg szükséges további fájlok (pl. tesztadat-fájlok). Az anyagot egybe foglaló könyvtár „relatív” szerkezete:
<\ -- a gyökérben a futtatási
környezet (EXE + adatfájlok)
0\FORRAS\
-- PAS programállomány + UNIT/INCLUDE forrásállományok
0\DOKU\ -- DOC-állományok
3. Hasznos beadni a dokumentáció kinyomtatott formában is. Ez elmaradhat, de ebben az esetben a visszajelzés is elmarad az értékelésről.
4. A fenti struktúrába szerkesztett anyag drótpostán küldendő el az előadónak egyetlen ZIP-fájllá tömörítve, amelynek neve: pontosan kétjegyű Feladatsorszám + Szerző neve. (Pl. 01SzlaviP.ZIP.)
A ’Felülről-lefelé programkifejtés’ elvének, valamint a programozási tételek fölhasználásának tükröződnie kell az algoritmuson. (Az alkalmazott tételek nevei szerepeljenek megjegyzésként a megfelelő algoritmikus részletek mellett.)
Specifikáció(k) pontos részletezése (nem muszáj matematikai jelöléseket használni, de teljesnek, egyértelműnek és precíznek kell lennie).
Az algoritmust az órákon is használt pszeudó kód segítségével kell leírni. A kód Turbo Pascal 5.5, vagy 7.0 változatában készüljön.
A fejlesztői dokumentáció röviden, de minden megadott „kérdésre” (pl. kód is!) válaszoljon. A felhasználói dokumentáció elég, ha tisztázza a –feladat szöveges megfogalmazásán túl–, hogy miként kell használni.
Turbo Pascal fejlesztőrendszere a program gépreviteléhez (egy fordítási egységből álló program szerkesztése, fordítása és futtatás, elemi hibakeresési szolgáltatások készsége).
Valamilyen számítógépes szövegszerkesztő (most még lehet akár a Turbo Pascal programszerkesztője is) a dokumentáció elkészítéséhez (szövegszerkesztési rutin; minimális ergonómiai igényesség: fejezetcímek, alcímek, bekezdések, értelmes igazítások).
Legnagyobb súlyt az algoritmus helyessége és a specifikáció meggondoltsága kapja. Ezt követi a program minősége: a barátságosság (képernyőtörlés, beolvasás és eredménymegjelenítés egyértelmű jelzése, gusztusos volta) és a biztonságosság (a program által a bemenő paraméterekkel szemben támasztott elvárásoknak legalább minimális –pl. értékhatárok– ellenőrzése).
A dokumentációknak természetesen meg kell lenniük, de kidolgozottságuk most még a fel-, ill. lekerekítésben játszik szerepet.
Szintaktikusan hibás programot érdemben nem értékelünk. Szemantikusan hibás (elszálló), vagy lényegesen leegyszerűsített feladatot megoldó program töredékértékben számítható csak be. (Utóbbi esetben teljes pontértékkel csak a dokumentáció számítható, minden más csak bizonyos százalékban.) A kipróbálás előtt a Turbo Pascal OPTION-COMPILE menübeli Range checking .. Overflow checking fordítási opciók bekapcsolása után fordítandó le a program! Az értékeléshez újrafordítjuk a programot a fenti beállítással. (Ennek ellenére a kód mellékelése nem hagyható el, hiszen a termék része!)
Programkód csak
futtatással |
Fut, helyes eredményeket produkál (használat kényelmessége, egyértelműsége,...) Ha nem helyes eredményeket is produkál, akkor erre a részpontszám Ha nincs a lemezen PAS fájl, de EXE van, akkor a büntető súly (Ps) Ha nem fordítható le és EXE sincs, akkor összpont |
0..20 0..10 Ps=0.5 összesen: 0 |
Ps*Pr |
Minimum..Maximum |
0..20 |
Dokumentáció |
Ha nincs, akkor nincs specifikáció, nincs algoritmus és nincs ellenőrizhető kód. Ezért azok pontjai elvesznek. |
Összesen: 0..20 |
|
Fejlesztői teljessége |
0..8 |
D |
Felhasználói teljessége |
0..7 |
|
Igényesség (a teljes dokumentációé) |
0..5 |
D |
Minimum..Maximum |
0..20 |
Specifikáció |
A feladatnak nem megfelelő specifikáció büntető súlya (Ss) |
Ss=0..1 |
|
Bemenet/kimenet |
0..5 |
P |
Előfeltétel |
0..5 |
|
Utófeltétel |
0..5 |
|
Formalizáltság (hatékony, leírást rövidítő fogalmak; matematizáltság) |
0..5 |
Ss*P |
Minimum..Maximum |
0..20 |
Algoritmus |
A specifikációtól eltérés büntető súlya (As) |
As=0.5..1 |
|
Algoritmus nincs, a büntető súly (As, és A=0) |
As=0.5,A=0 |
|
Felülről-lefelé tervezés (típusok, eljárások...) |
0..10 |
A |
Tételek alkalmazása tükröződik az algoritmuson |
0..10 |
|
Eredetiség (általában 0, kivételes esetben lehet több is) |
0..5 |
|
Hibákért (pl. nem megengedett szerkezetek...) egyedi levonások |
-10..0 |
Ss*As*A |
Minimum..Maximum |
0..25 |
Kód |
Az algoritmustól eltérés büntető súlya (Ks) |
Ks=0..1 |
|
Barátságos (beolvasás, visszajelzés, eredménymegjelenítés) |
0..5 |
K |
Biztonságos (beolvasás, fájlmegnyitás) |
0..5 |
|
Eredetiség (általában 0, kivételes esetben lehet több is:) |
0..5 |
|
Hibákért (GOTO, indokolhatatlan HALT, ill. EXIT...) egyedi levonás |
-10..0 |
Ss*As*Ks*K |
Minimum..Maximum |
0..15 |
Pluszokért: |
(igényes adatfájl, ablakos menü, help...) |
0..10 |
Beadandó: |
Összpontszám, Minimum..Maximum: (Ps*Pr+D+Ss*P+Ss*As*A+Ss*As*Ks*K+Pl) |
0..100+10 |
Alsóhatár |
Felsőhatár |
Jegy |
80 |
.. |
5 |
65 |
79 |
4 |
40 |
64 |
3 |
25 |
39 |
2 |
.. |
24 |
1 |
A határidő be nem
tartása esetén megkezdett hetente 1 jegyet levonunk az értékéből.
Fontos: a beadandók némelyikét szóban is meg kell védeni. A
kiválasztottakat elektronikus levélben értesítjük, a védés időpontját és helyét
velük egyeztetjük.