Készítette: Kassitzkyy Tamás
Tartalom Felhasználói Dokumentáció... 3 Feladat:...... 3 Futási környezet:..... 3 Használat:...... 4 Mintafuttatás:...... 5 Program Használata:... 9 Fejleszt i Dokumentáció... 10 Feladat:...... 10 Specifikáció:...... 11 Fejleszt i környezet:... 12 Állományok:...... 12 Algoritmikus megoldás... 13 Program felépítése:... 13 F bb típusok:..... 13 F bb változók:... 13 F ablak:...... 14 ELJÁRÁS Kiesettekmegmond... 15 ELJÁRÁS Kiesettekmegmond_seged... 15 Forráskód:...... 16 Tesztelés: (A tesztelés során lév hibák)... 17 Fejlesztési lehet ségek:... 17 Szerz :...... 18
22. felad dat KUTYYA VERSENY 2.0 PROGR RAMOZÁS MÓDSZERTAN M N 3. FÉLÉV F Felhaszná álói Doku umentáciió Felada at: E ggy N résztvev j kutyaaszépségversenyen M különböz szempontt szerint po ontoznak m minden kutyyát, s az eredményt a KUTYA(N,M M) mátrix taartalmazza.. Minden szzempont a alapján maximum MA AX(I) pont adható (n nem negatíív egész szzám). Az összetett ö versenyyb l automatikusan kiesik az a kutya, k amelly valamelyyik kategóriiában nem éri el a kategórriánként meegadott alsó ponthatáárt (MIN(I)).. Készítsen programott, amely me egadja a valamilyyen szempo ontból kiessett kutyákaat (,amelyikk többször is kiesett, az is csak egyszer szerepeeljen)! Fu utási körn nyezet: Hardveer: IBM PC kompatibiliis ren ndszer legalább 1000M MHz processszor, 256MB RAM, 100 MB ürees hely, VGA A kártya, billentty zet, egérr. Szoftveer: Window ws 95 vagy újabb ú kiaadás (Windo ows XP aján nlott)
Használat: KutyaVerseny2.0.zip fájl kicsomagolása után kutyaverseny.exe futtatásával indítható a program. A FORRAS mappában a fejleszt knek szánt fájlok találhatóak. A DOKU mappában ez a dokumentáció található. Minta bemeneti fájlok: kutyanevek*.kyt Kutyaneveket tartalmazó fájlok szempontok*.kyt Szempontokat (+ min., max. okat) tartalmazó fájlok pontok*.kyt Ponteredményeket tartalmazó fájlok
Mintafuttatás: Program Indítása Fájlok betöltése
Táblázat megjelenítése Pontok ablak megnyitása
Feladat elvégzése Mentés
Névjegy Adatok bezárása
Kilépés Program Használata: Program indítása után lehet ségünk nyílik már korábban rögzített adatok beolvasására (Fájl >Megnyitás > Kutyanevek, Szempontok, Eredmények). Ha nem élünk ezzel a lehet séggel, akkor létrehozhatunk újakat is(fájl >Új > Kutyanév, Szempont), de ekkor már beolvasásra csak az adatok bezárása (Fájl >Bezárás) után van csak lehet ség. Persze ne felejtsük a meglév állapotot kimenteni sem (Fájl >Mentés >Adatok > Kutyanevek, Szempontok, Eredmények). Valamilyen módon való betöltés után lehet ségünk nyílik a Pontok megjelenítésére is (Szerkesztés >Láthatóság >Pontok), majd a kiesettek megállapítása után (Feladatok >Kiesettek) a kiesett kutyák listájának megjelenítésére. Rendelkezésre áll még ezen dokumentáció, a kés bbi fejlesztés esetén frissítések letöltése, és a program névjegye.
Fejleszt i Dokumentáció Feladat: E gy N résztvev j kutyaszépségversenyen M különböz szempont szerint pontoznak minden kutyát, s az eredményt a KUTYA(N,M) mátrix tartalmazza. Minden szempont alapján maximum MAX(I) pont adható (nem negatív egész szám). Az összetett versenyb l automatikusan kiesik az a kutya, amely valamelyik kategóriában nem éri el a kategóriánként megadott alsó ponthatárt (MIN(I)). Készítsen programot, amely megadja a valamilyen szempontból kiesett kutyákat (,amelyik többször is kiesett, az is csak egyszer szerepeljen)! nev: nevek (ez tartalmazza a kutyaneveket) szempont: nevek (ez tartalmazza a szempontok neveit) pontok: maxmin (ebben vannak tárolva a minimum, és maximum pontok amelyik elem, ahhoz a szempont névhez tartozik) matrix: kutya (ebben csak az eredmény pontok vannak i: kutyanevek, j: szempontnevek) Ezek után már csak a minimum pontoknak nem eleget tev kutyákat kell felsorolni (+ felsorolásra kerültek, hogy milyen szempontnak nem tettek eleget). kiesszam: egész (kiesett kutyák száma) kies: eredmeny (minden eleme tartalmaz egy kutyanevet és egy tömböt, amiben benne van,hogy milyen szempontnak nem tudott eleget tenni) A program lehet séget nyújt kézzel való bevitelre is, azonban ekkor a hibák, és összekeveredés miatt a beolvasás funkciót az aktuális adatok bezárásáig (lásd kés bb) nem lehet használni.
Specifikáció: BE: n,m N ; Matrix Nnxm; Név Sn; Szempont Sm; Pontok Nmx2; n=névszám; m=szempontszam; KI: kiesszam N; kies Skiesszam; EF: UF:
Fejleszt i környezet: Készítés: Lazarus (v.0.9.22 beta) Microsoft Windows Vista 32bit operációs rendszer alatt. Állományok: A FORRAS mappában található *.lpi, *.pas és egyéb fájlok. A gyárilag tartalmazott Lazarus szolgáltatások.
22. felad dat KUTYYA VERSENY 2.0 PROGR RAMOZÁS MÓDSZERTAN M N 3. FÉLÉV Algorittmikus me egoldás Program m felépítése: A program maga tö öbb ablakoss megoldást használ. Ezeket E a FORRAS mapp pában a *.pas fájlok tartalmazzák, de valójában v a program a foablak.paas fájlban zaajlik. A proggramhoz eggyedinek használtt *.kyt bem men fájlok kellenek, k vaagy hagyom mányos *.txtt fájlok is alkkalmazható óak (az új fájlok iss hagyomán nyos text fáájlok más kiiterjesztésseel). Mentésskor azonbaan már csakk a *.kyt típusba lehet mentteni. Néhán ny minta fájll mellékelve e van. F bb típ pusok: nevek: tömb t (szöveeg) maxmin n: tömb (egéész x egész)) kutya: tömb (egészz x egész) ered: reekord (kutyanév:szöveg x mib l:nevek) eredméény: tömb (eered) F bb vá áltozók: nevszam m,szemponttszam,kiessszam: egész nev,szempont: nevvek matrix: kutya kies: ereedmeny pontok:: maxmin
22. felad dat KUTYYA VERSENY 2.0 PROGR RAMOZÁS MÓDSZERTAN M N 3. FÉLÉV F ablak k: A f ablaak, és mindeen alablak csak c a vizuaalitást szolgáálja. Valójáb ban a program a háttérrben lév töm mbökben, változókban v, és a koráb bban felsoro olt típusokb ban dolgozikk. Ezeket több rész eljárásb ban végzi. Mindegyik M m megtekinthe et a forrásffájlokban. Kiemelném K aazonban a feladat f megoldásához tarttózóakat.
(el zetesen az eljárás futása elött i:=1, kiesszam:=0) ELJÁRÁS Kiesettekmegmond (változó i,kiesszam:egész, konstans nevszam,szempontszam:egész, konstans pontok:maxmin, konstans matrix:kutya, változó kies:eredmeny) változó j:egész HA i <= nevszam AKKOR j:=1 kiesettekmegmond_seged(i,j,kiesszam,szempontszam,nev,szempont, pontok,matrix,kies) i:=i+1 kiesettekmegmond(i,kiesszam,nevszam,szempontszam,pontok,matrix,kies) ELÁGAZÁS VÉGE ELJÁRÁS VÉGE ELJÁRÁS Kiesettekmegmond_seged (konstans i:egész, változó j,kiesszam:egész, konstans szempontszam:egész, konstans nev:nevek, konstans pontok:maxmin, konstans matrix:kutya, változó kies:eredmeny) HA j <= szempontszam AKKOR HA matrix (i,j) < pontok (j,1) AKKOR kiesszam:=kiesszam+1 kies (kiesszam):= nev(i) ELÁGAZÁS VÉGE j:=j+1 kiesettekmegmond_seged(i,j,kiesszam,szempontszam,nev,pontok,matrix,kies) ELÁGAZÁS VÉGE ELJÁRÁS VÉGE
Forráskód: Forráskód megtalálható a FORRAS mappában lév *.pas fájlokban. beszurnev.pas beszurszempont.pas bezaras.pas filebezar.pas foablak.pas kiesettek.pas nevjegy.pas pontok.pas
Tesztelés: (A tesztelés során lév hibák) Számok helyére nem vihetünk be bet ket, azonban fordítva már megtehetjük, bár értelme nem sok van. Maximum pontokat nem veszi figyelembe bevitelkor a program (Bocsi!) Fejlesztési lehet ségek: Hanghatások alkalmazása Egyéb a feladathoz nem köthet extrák Bármilyen más javaslatot szívesen veszek
22. felad dat KUTYYA VERSENY 2.0 PROGR RAMOZÁS MÓDSZERTAN M N 3. FÉLÉV Szerz : Kassiitzky Tamás K KATLABT.ELT TE kassyyf14@freem mail.hu H Honlap: http p://kassyf14 4.web.elte.h hu Részlet a felhasználói szerz désb l: Jelen prograam bármilyen neem felhasználásaa a szerz engedéélyéhez kötött. Bármilyen utólago os módósítás tilto ott. Kereskedelmii forgalomba nem hozhaató, nem árusítható. Kizárólag okktatási célzattal készült program m. A szerz d és nem n nyújt teljes kör tájékoztattást. Minden esetben a szerz értesítend.