Dokumentáció
a 43. feladathoz
Felhasználói dokumentáció
Feladat:
Egy repülõgéppel Európából Amerikába repültünk. Az út során X kilométerenként mértük a felszín tengerszint feletti magasságát. Feltételezésünk szerint ez a magasság mindenhol (0) ahol tenger van és >0 pedig ott, ahol szárazföld. (...)
Igaz-e a következõ állítás: minden sziget legmagasabb pontja egyben csúcs is!
Környezet:
IBM PC, PC DOS 7.0 (vagy avval kompatibilis) operációs rendszer.
Használat:
A program (csucsok.exe) a neve leírásával indítható.
A program bemenete:
A program elõször megkérdezi, file-ból akarjuk-e vezérelni,
majd ennek megfelelõen tesz fel további kérdéseket:
- mérések száma (ötnél nagyobb egész),
- a feltöltés módja (autómata, kézi) - kézi esetén a mérési eredmények
- kívánjuk-e ismét futtani?
- Illetve file-mûvelet esetén a file nevét.
A program eredménye:
Egy adott méréssorozatra, illetve annak részsororzataira (szigetenként külön),
igaz-e az állítás?
Probléma lehet, hogy a válaszokat angolul adja vissza. Ezek megfelelõ fordításai:
Helyeslõ válasz (igaz az állítás az adott szigetnél): "true"
Tagadó válasz (nem igaz az állítás az adott szigetnél): "false".
Hibalehetõségek:
A program a legtöbb kérdésnél csak az elutasítást figyeli, így például az "Akar-e file-ból dolgozni?" kérdésre helyeslõ válasznak fogadja el az összes nem "n" (vagy "N") betût.
Ahol pedig tényleges adatot (nem logikai értéket) vár, ott addig teszi fel a kérdést, amíg nem kap megfelelõ választ.
Ezalól kivétel a file-nevek megadása, ahol 3 kihasználatlan lehetõség (rossz név megadása) után úgy veszi, mintha nem file-ból akartunk volna tovább dolgozni.
Fejlesztõi dokumentáció
Feladat:
Egy repülõgéppel Európából Amerikába repültünk. Az út során X kilométerenként mértük a felszín tengerszint feletti magasságát. Feltételezésünk szerint ez a magasság mindenhol (0) ahol tenger van és >0 pedig ott, ahol szárazföld. (...)
Igaz-e a következõ állítás: minden sziget legmagasabb pontja egyben csúcs is!
Specifikáció:
Bemenet: tömb(i)iN (i iN) - amiket mérünk
Kimenet: ellenõriz(szgdb,szgcsucsigaze) iL
Ef: (i > 5)
Uf: ellenõriz(szgdb,szgcsucsigaze): elágazás
igaz, ha ji:tömb(i): j:tömb(j)<tömb(i) (ha egy szigeten vannak) (csúcse(tömb,i))
hamis, ha ji:tömb(i): j:tömb(j)<tömb(i) (ha egy szigeten vannak) nem(csúcse(tömb,i))
csúcse(tömb,j) ha ( (i:=1) és (j az elsõ sziget legmagasbb csúcsa) )
különben ellenõriz:=ellenõriz(szgdb-1,szgcsucsigaze)
Def: sziget(i..k..j): (i=0,j=0) ( i<k<j: 0<k); szigetdb:=sziget;
csucs(i)=( ((tomb(i-1) < tomb(i)) ((tomb(i) > tomb(i+1)) )
szgcsucsigaze(i)=csúcs(k): (ahol k az i. sziget legmagasabb pontja)
Környezet:
IBM PC, PC DOS 7.0 (vagy avval kompatibilis) operációs rendszer,
Turbo Pascal 6.0 (vagy avval kompatibilis) fejlesztõi környezet, crt és dos unit.
Használat: A program (csucsok.exe) a neve leírásával indítható.
Algoritmus:
Röviden:
1.) Az aktuális helyrõl (vízrõl indul) megkeresi az elsõ szigetet (feltéve, hogy az nem a túlpart), azon belül a legmagasabb pontot.
2.) E szigeten a legmagasabb pontra megnézi, csúcs-e.
3.) A megfelelõ választ kiírja és eltárolja egy tömbbe (1..szigetdb).
4.) E tömb elemeit végignézi, talál-e "hamis" választ. Ha igen az "összesített válasz" hamis lesz, különben "igaz".
5.) Majd igény szerint ezt (az 1..4. lépésig) ismétli vagy kilép.
Hosszan: külön, csatolva.
Tesztelés:
Érvényes, érvénytelen tesztesetek:
Legfeljebb 10 mérés esetén mindkét feltöltési módnál helyesen adta vissza az értékeknek megfelelõ válaszokat. Nagyobb mennyiséggel egyelõre nincs ellenõrzött teszteset. (A feltöltés és a program mûködése ekkor is sikeres volt).
Hatékonysági tesztesetek: egyelõre nincsenek
Fejlesztési lehetõségek:
A válaszokat le lehetne fordítani magyarra, továbbá lehetne javítani a nagymennyiségû szigetek esetén a kiírási technikán (pl. lapozással).
Készítette:
(Budapesten, 2001.február 24-én)
Szamosközi Péter
(szamosp_a_elte.hu)