DOKUMENTÁCIÓ 20. FELADATHOZ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ A feladat: "Az ország N helységében végeztünk madármegfigyeléseket. Mindegyikben megadtuk, hogy milyen fajú madárból hányat láttunk. A madárfajok syáma összesen M. Késyítsen C++ programot, amely megadja, hogy hány madár fordult elő X-nél több helyen." FELHASZNÁLÓI DOKUMNTÁCIÓ Futtatási környezet: Bármely operációs rendszer, mely képes c++ programok futtatására (Pl. linux, VMS: gcc, w9x: DevC++) Indítás: A programból nem készült futtatható állomány. (A fenti fordítók képesek ennek az előállítására, például: [linux~] gcc -x c++ cbe.c) Amennyiben a futtatható állomány (legtöbbször .exe végű), úgy az a neve leírásval indítható. A program működtetése: Addig kéri be az adatokat (melyik településen mennyi milyen madarat láttunk), amíg "n"-et nem ütünk le. Ekkor elkezdi számolni, hány madárra teljesül a keydeti feltétel - ezt e művelet végén ki is írja. Amennyiben újra futtatni akarjuk, úgy ismét el kell indítani. FEJLESZTŐI DOKUMENTÁCIÓ Fordítási környezet: SuSE Linux 6.3 - Kernel 2.2.13, vagy evvel kompatibilis operációs rendszer fordító program Fordító parancssor: [linux~] gcc -c -x c++ cbe.c A program algoritmusa (kicsit c++ tájszólásban): Főprogram { beolvasás(madárdarabszám, településszám, madártömb) Ki("Ennyi madár fordult elő X-nél több helyen: ") Ki(számolás(madárdarabszám, településszám, madártömb, küszöbérték)) } Elj. Beolvasás(madárdarabszám, településszám, tömb) { Ciklus amíg... Ki(" Akar beolvasni/módosítani adatot? "); Be(c) Ki(" Melyik madárnál? "); Be(madárpos) Ki(" Melyik településnél? "); Be(telpos) Ki(" Eddigi érték", tömb[madárpos][településpos]) Ki(" Új érték? "); Be(új érték); ...amíg (c='n') } Fv. számolás(madárdarabszám, településszám, tömb, küszöb): egész { dbm=0; dbm=0; Ciklus (madaranként) Ciklus (településenként) ha tömb[akt_madár][akt_település]>0 akkor növel(dbm) Cv. Ha dbm>küszöb, akkor növel(dbo) számolás=dbo; }; Algoritmus vége A forráskódot csatoltam, egyébként szabadon eltölthető a (http://people.inf.elte.hu/szamosp/pub/prnyelvek/c-be/) címről. Tesztesetek: nem voltak (nem sikerült az egyébként lefordítható programot elindítani) Javítás: Az újra indításhoz ne feltétlen kelljen a programot újból elindítani. Barátságosabb felhasználói felület kialakítása. Budapest, 2001. decembere Szamosközi Péter (szamosp(a)inf.elte.hu)