A KöMaL 2009. októberi informatika feladatai
Kérjük, ha még nem tetted meg, olvasd el a versenykiírást.
Feladat típusok elrejtése/megmutatása:
I-jelű feladatokA beküldési határidő 2009. november 10-én LEJÁRT. |
I. 220. Egy vízszintes alagutat egy fúrópajzs a kőzet változó keménysége miatt egyenetlenül, a tervezetthez képest kis eltérésekkel fúrt. Utólag az alagútban méterenként megmérték az alsó és felső magasságot a tervezett alapszinthez viszonyítva. (A tervezett alapszint tehát egyben a 0-szint.)
A honlapunkról letölthető magassag.txt állomány első sorában N (3N1000) a mérések száma, az ezt követő N sorban -- a tervezett alapszinthez képest -- az alagút aljának és tetejének magassága olvasható centiméterben. (A magassági adatok -100 és 600 közötti értékek.)
Például:
|
A példa jelentése:
* 95 mérési eredményt tárolunk, az 1. mérés szerint a fúrópajzs az előírt 0 cm alsó és 511 cm felső magasságot hozta létre.
* A 3. mérés szerint a pajzs az előírt alá fúrt 3 cm-rel, az alagút belmagassága pedig 510 cm lett.
Készítsünk programot alagut néven, amely az alábbi problémákat oldja meg.
A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például 3. feladat:).
1. Olvassa be a magassag.txt állományban talált adatokat, és annak felhasználásával oldja meg a következő feladatokat. Ha az állományt nem tudja beolvasni, akkor a forrás első 10 sorának adatait jegyezze be a programba, és úgy oldja meg a következő feladatokat.
2. Írja ki a képernyőre, hogy az építésnek ebben a fázisában mennyi az alagút minimális belmagassága.
3. Az egyenetlenségek elsimításaként először az alagút tetejét teszik egyenletesebbé. A másodiktól kezdve az utolsó előttiig minden pontban mért magasságot a közvetlenül előtte és utána következővel átlagolják. A három értékből számolt átlagot felfelé kerekítik cm-es pontossággal. Ha az átlag magasabb, mint az eddigi érték, akkor az alagút tetejét levájják addig, különben nem változtatják. A levájt föld az alagút aljára esik, és annak magasságát növeli pontosan alatta, pontosan a levájt mennyiséggel. A következő mérési pont átlagolásánál már az esetleg megváltoztatott értéket használják.
Jelenítse meg a képernyőn, hogy melyik mérési pontnál és hány cm-t vájtak le az alagút tetejéből, ahol ez az érték nem nulla. A megjelenítés alakja ,,3. pontnál 1cm; 5. pontnál 1cm;...'' legyen.
4. Adja meg centiméterben kifejezve, hogy az alagút alján a tervezett 0 szintmagassághoz képest mennyi földhiány, illetve többlet van összesen.
5. Egy földgyalut küldenek végig az eredeti irányban az alagúton. A gép a 0 cm feletti felesleget legyalulja, a kitermelt földet eltárolja és magával viszi. Ha van benne elég tárolt föld, akkor a hiányt egyenletesen kitölti. Ha nincs benne tárolt föld, akkor továbbhaladva gödröt hagy és a gyalulást 0 cm magasságban folytatja arrébb. A földgyalut üresen indítják.
Írja ki a talaj.txt állományba a földgyalu egyszeri simítása után a mérési pontok sorszáma mellé a talaj magasságát.
6. Írja ki képernyőre a talajrendezés után a legmélyebb mélyedés kezdő és befejező mérési pontjának sorszámát. Ha több ilyen mélységű gödör van, akkor az elsőt jelenítse meg. A mélyedés széle az első, illetve az utolsó negatív érték legyen. Ha nincsen negatív érték, akkor írja ki, hogy ,,A talaj sima.''.
Beküldendő egy tömörített állományban (i220.zip) a program forráskódja (i220.pas, i220.cpp, ...), valamint a program rövid dokumentációja (i220.txt, i220.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
A beolvasandó állományt tartalmazó fájl: magassag.txt
(10 pont)
I. 221. Péter és Pál ikrek. Féltékenyek egymásra, olyannyira, hogy bármilyen osztozkodásnál addig nem nyugszanak, míg a két érték egyező nem lesz.
Idén születésnapjukon népes családjuktól 25 ajándékot kaptak, amelyek összértéke biztosan nem éri el az 1000 eurót. Nekünk csak azt kell megválaszolnunk, hogy eloszthatók-e az ajándékok úgy, hogy Péternek és Pálnak is ugyanolyan értékben jusson.
A feladatot táblázatkezelő program segítségével oldjuk meg. Az ajándékok értékét, amelyek egész számok, a B3:Z3 tartományba jegyeztük be. A választ az A1 cellában adjuk meg. A megoldás során saját függvény vagy makró nem alkalmazható.
Beküldendő egy tömörített állományban (i221.zip) a táblázatkezelő munkafüzet (i221.xls, i221.ods, ...), illetve egy rövid dokumentáció (i221.txt, i221.pdf, ...), amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziója, valamint a megoldás rövid leírása.
(10 pont)
I. 222. Rajzoljuk meg iskolánk számítógépes hálózatának topológiáját. Az ábra tartalmazzon legalább egy számítógéptermet, a diákok által hozzáférhető gépeket, néhány tantermi és szertárbeli számítógépet, valamint a meglévő routereket, switcheket, egyéb hálózati eszközöket és az internet-kapcsolatot. Tüntessük fel az eszközök lényegesebb hálózati jellemzőit. Ügyeljünk az ábra áttekinthetőségére. A szükséges adatokat szerezzük be az iskola rendszergazdájától vagy informatika tanárától. A feladat megoldásához a Dia nevű programot használjuk, amely ingyenesen használható és letölthető a http://live.gnome.org/Dia oldalról.
Beküldendő egy tömörített állományban (i222.zip) a topológia (i222.dia) fájl és ennek pdf formátumú változata (i222.pdf), valamint egy rövid leírás, amely tartalmazza a használt program verziószámát, és az operációs rendszert.
(10 pont)
S-jelű feladatokA beküldési határidő 2009. november 10-én LEJÁRT. |
S. 47. Készítsünk programot, amely egy táblázatkezelő munkalap numerikus értékei és egyszerű képletei alapján kiszámítja a munkalap celláinak értékét. A munkalap 25 oszlopa A-tól Y-ig az angol ABC nagybetűivel van jelölve, 100 sora pedig 1-től 100-ig van sorszámozva. A cellák tartalma olyan kifejezés, amely egész, vagy egyszerű alakban megadott valós számokat, a négy alapművelet jeleit és cellahivatkozásokat foglal magában. A kifejezések hibátlanok, azokban abszolút, relatív és vegyes hivatkozás is előfordul, de sem zárójelezés, sem exponenciális alakban megadott szám nem szerepel.
A program a parancssor első argumentumaként megadott bemeneti állományból beolvassa egy munkalap azon celláinak tartalmát, amelyek értéke nem zérus, a munkalap többi cellája kezdetben nulla értékű. A bemeneti állomány minden sorában egy cella, vagy egy téglalap alakú tartomány összes cellájának megadása szerepel. A parancssor második argumentumaként megadott kimeneti állományba a kiértékelt munkalap celláinak értéke szerepeljen egész számként vagy két tizedes jegyre kerekítve. Az állomány CSV formátumban, soronként, egymástól pontosvesszővel elválasztva tartalmazza a munkalap zérustól eltérő értékű celláit.
A bemeneti állomány kifejezéseinek formája és értelmezése az alábbi példák szerint történik:
Itt megadtuk két cella egész és valós értékét, és kiszámítottunk ezek alapján egy harmadik cellában a számtani közepüket, majd hozzáadtunk 20-at és még nullát. A kimeneti állomány harmadik sora üres, a negyedik sor első cellája szintén.
Az A2:A5 tartomány celláiban lévő relatív hivatkozású képlet az aktuális cellával azonos sorban lévő, tőle balra található cella értékéhez ad egyet -- tehát a képlet betű szerint a tartomány bal felső sarkában található cellában jelenik meg így. Ez a helyzet a B2:E5 vegyes hivatkozású képlettel is.
Amennyiben a munkalap körkörös hivatkozást tartalmaz, úgy a #Kör szó kerüljön azokba a cellákba, amelyek értéke így nem kiszámítható. A nullával való osztás hibáját a #NulOszt hibajelzéssel adjuk meg.
Beküldendő egy tömörített állományban (s47.zip) a feladat megoldását tartalmazó forrás és projektállományok (az .exe és más a fordító által generált kiegészítő állományok nélkül), valamint a megoldás menetét bemutató dokumentáció.
A kiadott mintabemenetek: minitabla.zip (helyesbítve)
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.