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)