A KöMaL 2006. 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ő 2006. november 15-én LEJÁRT. |
I. 139. A széles folyók sodrása partjuktól a középvonalukig számítva négyzetesen növekszik. Szemléltessük egy csónak átkelését egy széles folyón, ha a bent ülők mindig a partra merőlegesen, egyenletesen eveznek. Készítsünk animált GIF állományt, amely bemutatja az átkelés 25 fázisát.
Beküldendő: egy tömörített állomány (i139.zip), amely tartalmazza a kért GIF animációt, a feladat megoldásának vázlatos leírását egy nem formázott szöveges fájlban, valamint a megoldáshoz elkészített forrásállományokat.
(10 pont)
I. 140. Készítsünk programot, mely a képernyőn lévő betűk leesését szimulálja. A program egy fájlból olvasson be egy kiindulási állapotot, és ezt írja ki a szöveges képernyőre. Ezután minden tizedmásodpercben válasszon ki véletlenszerűen egy karaktert, és azt helyezze a képernyőn egy sorral lejjebb, az eredeti helyén egy szóközt hagyva. Olyan karakter, mely alatt közvetlenül van egy nem szóköz karakter, vagy a képernyő alja, nem tud lejjebb esni.
A bemeneti fájl neve i140.txt. A fájlban 25 sor található, minden sor 80 karakter hosszú, és csak betűket, szóközt vagy számokat tartalmaz. A szimuláció végén (amikor már egyetlen karakter sem tud lejjebb esni) a bal felső sarokban írja ki, hogy ,,Minden leesett!'' majd az Enter gomb megnyomásáig várjon.
Beküldendő a program forráskódja (i140.pas, i140.cpp, ...)
(10 pont)
I. 141. Nem könnyű eligazodni a mobil telefonszolgáltatók szolgáltatás díjai között. Készítsünk Excel táblázatot, amely segít ebben. Az első munkalapon legyen lehetőség paraméterek megadására:
A hívási szokásainkról megadhatjuk:
-melyik időszakban (hány órától, hány óráig) szoktunk legtöbbet telefonálni,
-a hívások körülbelül hány százaléka esik ebbe az intervallumba,
-a hívásaink körülbelül hány százaléka zajlik az adott szolgáltató hálózatán belül,
-beszélgetéseink jellemző hossza: legalább és legfeljebb hány másodpercet szoktunk beszélni.
Három tarifa legyen összehasonlítva, minden esetben az alábbi paraméterek szerepeljenek:
-számlázás alapja: ide perc, fél perc vagy másodperc legyen megadható,
-csúcsidő kezdete és vége (hány órától, hány óráig),
-egységnyi hívás díja hálózaton belül, csúcsidőben és azon kívül,
-egységnyi hívás díja hálózaton kívülre, csúcsidőben és azon kívül.
A számítások elvégzéséhez egy másik munkalapot használjunk. Itt véletlenszerűen generáljunk 1000 hívásadatot, az első munkalapon megadott paraméterek alapján.
Számítsuk ki a hívások összes díját a három tarifacsomag alapján, és az első munkalapon jelezzük a felhasználónak, melyik tarifa a legkedvezőbb az adott paraméterek alapján.
Példa a tarifákra: fél perc alapú számlázás, csúcsidő 10 órától 16 óráig, ekkor hálózaton belül 20 Ft, azon kívül 30 Ft a fél perc díja. Ezen időponton kívül 11 Ft hálózaton belül, 19 Ft hálózaton kívül.
Példa a hívási szokásokra: 11 óra és 18 óra között beszélünk a legtöbbet, a hívásaink 80%-a ekkor zajlik. A hívások hossza 18 másodperc és 175 másodperc között szokott lenni, és a hívások 45%-a zajlik hálózaton belül.
A helyes számításokon kívül értékeljük a felhasználóbarát kialakítást is: az adatok logikus és áttekinthető megadását, a cellák formázását és védelmét.
Beküldendő az Excel táblázat tetszőlegesen feltöltött paraméterekkel.
(10 pont)
S-jelű feladatokA beküldési határidő 2006. november 15-én LEJÁRT. |
S. 20. Adott a síkon n darab pont. Keressük meg azt a legkisebb kört, amely lefedi az összes pontot. A feladatot megoldó program bemenő adatait egy szöveges állományból vegye, amely soronként egy-egy pont X és Y koordinátáját tartalmazza szóközzel elválasztva. A koordináták valós számok, melyek tizedes pontot tartalmazhatnak. A bemenő állományban nincs üres sor, annyi pont koordináta-párját tárolja, ahány sora van.
Az input állomány nevét a parancssorban adjuk meg, például az alábbi módon:
s20.exe adatok.txt.
A program kimenete a standard kimenetre kerül, egy sorban megadja a keresett kör középpontjának X és Y koordinátáját, valamint a kör sugarát. A programokat különböző méretű, legföljebb 10 000 pontot tartalmazó bemeneti állományokkal teszteljük és értékeljük. A pontozásnál az adatok feldolgozásának sebességét is vizsgáljuk, a maximális pontszám eléréséhez a feldolgozásnak néhány perc alatt véget kell érnie. Például az adatok.txt tartalma:
20 10
22.3 8.0
20 2.0
esetén a kimenet:
20.0 6.0 4.0
Beküldendő a program forráskódja (s20.pas, s20.cpp, ...) és rövid dokumentációja (s20.txt, s20.pdf, ...). A dokumentáció nélküli programok legföljebb 7 pontot érnek.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.