![]() |
Az I. 114. feladat (2005. október) |
I. 114. Egy szigeten rókák és nyulak élnek. A nyulak -- szapora állatok lévén -- havonta m százalékkal lesznek többen. Egy róka minden hónapban elfogyasztja az összes nyúl p százalékát -- feltéve, hogy él ennyi nyúl ekkor a szigeten. A rókák a rendelkezésre álló táplálék arányában szaporodnak, minden hónapban nyulanként n százalékuk hoz világra kölyköt, miközben az összes róka q százaléka elpusztul.
Készítsünk Excel táblázatot, melybe beírva n, m, p és q értékét, illetve az állatok számát az első hónapban, hónapról hónapra kiszámolja az állatok számát a következő 60 hónap során. Ha időközben valamelyik (akár mindkét) faj kihalna, jelezze ezt a faj nevének pirosra színezésével. A táblázat mellé készítsünk két grafikont is, az egyiken a két faj populációját ábrázolva az idő függvényében, a másikon a két populáció arányát.
Beküldendő a táblázat (i114.xls).
Példa:

(10 pont)
A beküldési határidő 2005. november 15-én LEJÁRT.
Megoldás. A feladat megoldásának első lépése egy olyan képlet megírása, mely a nyulak és rókák előző havi példányszámából és a paraméterekből megadja az következő havi példányszámokat. Ehhez vegyük sorra a példányszámokat befolyásoló tényezőket (ny,r : a múlt havi számok, NY,R : az aktuális számok):
- A nyulak havonta m százalékkal lesznek többen: NY=(1+m/100)*ny
- Egy róka minden hónapban elfogyasztja az összes nyúl p százalékát: NY=-r*(ny*p/100)
- minden hónapban nyulanként a rókák n százaléka hoz világra kölyköt: R=(1+ny*n/100)*r
- havonta az összes róka q százaléka elpusztul: R=-(q/100)*r
így a képletek a következők:
NY=ny*(1+m/100-r*p/100); R=r*(1+ny*n/100-q/100).
(4 pont)
A képletek még tört és negatív számokat is adhatnak eredményül, viszont a példányszámok nemnegatív egész számok. Végezzük el a lefelé kerekítést,
NY=INT(ny*(1+m/100-r*p/100)); R=INT(r*(1+ny*n/100-q/100))
és ha az eredmény kisebb 0-nál akkor legyen az eredmény 0. Ezt megcsinálhatnánk egy HA() függvénnyel is, de használjuk inkább a MAX(...;0) függvényt:
NY=MAX(INT(ny*(1+m/100-r*p/100));0)R=MAX(INT(r*(1+ny*n/100-q/100));0)
A képleteket írjuk be a táblázatba, így megkapjuk az egyes hónapok pélányszámait. (2+1 pont)
A feladat szerint ha egy faj kihal, azt a nevének pirosra színezésével kell jelölni. Ezt a feltételes formázás segítségével tudjuk megtenni. Használhatunk segédcellákat, melyeknek róka és nyúl lesz az értéke akkor, ha kihal az adott faj. A cellákat pedig akkor színezzük, ha azok értéke megegyezik a segédcellákéval. Ez nem szép megoldás több okból is.
Ehelyett válasszuk ki a feltételes formázásnál a ,,A képlet értéke'' opciót. Ebben az esetben akkor lesz alkalmazva az adott formázás ha a beírt képlet értéke IGAZ. A súgó szerint egy olyan képletet kell megadni amely IGAZ vagy HAMIS értéket adhat. Ilyen például a $B$64=0 mely akkor igaz, ha a B64-es cella értéke 0 --- vagyis a nyulak (a B oszlopban vannak a nyulak) kihaltak a 60. hónapra. (ha előbb halnak ki, akkor is utána végig 0 marad a példányszámuk). (2 pont)
Ezután már csak a grafikon elkészítése maradt hátra. Ezt a ,,Diagram varázsló'' segítségével könnyen megtehetjük. Én a Grafikon/Vonal diagramtípust választottam.
Engedy István
Statisztika:
32 dolgozat érkezett. 10 pontot kapott: Balambér Dávid, Czigler András, Gilián Zoltán, Gombkötő Tamás, Györök Péter, Hunyady Márton, Kiss Dániel Miklós, Kovács 129 Péter, Kuslics Ferenc, Ozsvárt László, Pétercsák Richárd, Szakács Nóra, Szoldatics András, Vecsey Dénes (14 versenyző). 9 pontot kapott: Biró 123 János (1 versenyző). 8 pontot kapott: 5 versenyző. 6 pontot kapott: 6 versenyző. 5 pontot kapott: 4 versenyző. 4 pontot kapott: 1 versenyző. nem versenyszerű: 1 dolgozat.
A KöMaL 2005. októberi informatika feladatai
