A KöMaL 2019. januári 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ő 2019. február 11-én LEJÁRT. |
I. 472. Ma már számtalan eszköz és azt vezérlő program áll rendelkezésre, hogy az igényelt méretben és formában állítsunk elő feliratokat. 40-50 évvel ezelőtt még mechanikus céleszköz volt szükséges, hogy az írógéppel írhatóhoz hasonló karaktereket nyomjunk egy vékony műanyag szalagra. A megfelelő karaktert egy tárcsa elfordításával lehetett kiválasztani, majd egy kar meghúzásával egy műanyag szalagra rögzíteni. A benyomás eredményeként a betű alakjának megfelelő kiemelkedés jött létre, egyúttal a szalag el is fehéredett. (Az eszköz ma is szerepel a boltok kínálatában.)
Az eszköz forgatható tárcsáján az ABC betűi szerepeltek. Az egyszerűbb szerkezeteknél a tárcsát csak az egyik irányban lehetett forgatni, ezért a BABA szó leírásához kétszer is körbe kell forgatni a tárcsát. Jól látható, hogy ha a tárcsa mindkét irányban szabadon forgatható lenne, sokkal gyorsabban előállna a felirat.
Készítsünk vezérlő programot egy feliratozó gép tárcsájának kezeléséhez, amely biztosítja a feliratok legrövidebb idő alatti elkészültét. A tárcsa egy karakterrel való elfordítása egy időegységet igényel. A forgásirány megváltoztatásához V időegység kell. A folyamatosan előre haladó szalag egy karakterhellyel való elmozdítása szintén egy időegység, mozgatása a tárcsa mozgatásával párhuzamosan is történhet. Az aktuális karakter benyomása is egy időegység.
A program standard bemenetének első sorában az irányváltáshoz szükséges V érték található. A második sorban pedig a felirat olvasható, amely csak az angol ábécé nagybetűit és a szóközt tartalmazhatja, legfeljebb 200 karakter hosszban. A kimenet első sorában az elkészítéshez szükséges idő, a következőben pedig a szükséges fordítások száma és az irányváltások (jele #) szerepelnek egymástól egy-egy szóközzel elválasztva.
A tárcsa az angol ábécé nagybetűit tartalmazza ábécé sorrendben. Induláskor az A karakteren áll, ha egyet fordítunk, akkor a B karakter következik.
A kimenet magyarázata: A tárcsa forgatásához összesen 56 időegység kell. A forgásirány háromszori megváltoztatása 15 időegység. A 10 karakter előállítása 10 időegység. Az első szó utolsó karaktere egyezik a következő szó első karakterével, így a tárcsát nem kell forgatni, de a szalagot továbbítani kell, először a szóköz helyére, majd a második I karakter pozíciójára.
Beküldendő egy i472.zip tömörített állományban a program forráskódja és a működéséhez szükséges egyéb fájlok, továbbá a hozzá kapcsolódó dokumentáció. Utóbbi a problémamegoldás lényeges elemeire világít rá, valamint tartalmazza, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
(10 pont)
I. 473. (É). Ebben a feladatban egy cég dolgozóinak adatai állnak rendelkezésünkre. A táblázat a következő adatokat tartalmazza: a dolgozó neve, neme, az a részleg, ahol a dolgozó a munkáját végzi, a céghez való belépés éve, valamint a dolgozó bére. Célunk egy olyan táblázat elkészítése, amellyel a cégvezetés elemezheti a dolgozók bérét. A feladatok megoldása során ügyeljünk arra, hogy az eredmények helyesek legyenek akkor is, ha új dolgozókat alkalmaz a cégvezetés, vagy ha egyes dolgozók időközben kilépnek.
1. Töltsük be a táblázatkezelő program egyik munkalapjára az A1 cellától kezdve a honlapunkról letölthető dolg.txt adatfájlt (tabulátorokkal tagolt, UTF-8 kódolású szövegállomány), majd mentsük a munkafüzetet dolgozok néven a program alapértelmezett formátumában.
2. Határozzuk meg az I4:I5 tartományban a cég dolgozónak számát és együttes bérét (bértömegét).
3. A cégvezetés a dolgozók bérét szeretné megemelni, a dolgozók egységesen 5% béremelést kapnak. Azok azonban, akik még így sem érik el az I2-es cellában lévő bérminimumot, a bérminimumot fogják kapni. Határozzuk meg a dolgozók új bérét az F oszlop celláiban. Az adatokat kerekítsük egész számra.
4. Határozzuk meg az I6-os cellában, hogy hány olyan dolgozó lesz béremelés után, aki a bérminimumot kapja.
5. Írjuk be az I8-as cellába egy részleg nevét, majd határozzuk meg az I11:J12 tartomány celláiban az adott részleg dolgozóinak számát és átlagbérét nemenkénti bontásban.
6. Emeljük ki az I8-as cellában megadott részlegen dolgozók összes adatát feltételes formázással az A:F oszlopokban halványszürke háttérrel.
7. Jelenítsük meg az I14-es cellában képlettel az aktuális évet (például 2019.03.15-én 2019-et). A következő két feladatban használjuk fel ennek a cellának a tartalmát.
8. A cégvezetés szeretné külön jutalomban részesíteni a törzsgárdát, vagyis azokat a dolgozókat, akik több, mint 25 éve a cég alkalmazásában állnak. Emelje ki az ő nevüket feltételes formázással, félkövér betűstílussal.
9. A H17:I28 tartományban a dolgozók új bérének eloszlását szeretnénk meghatározni 50000 Ft-os sávonként. Határozzuk meg az I17:I27 tartományban képlettel, hogy hány dolgozó esik az egyes sávokba.
10. Írjuk a H30-as cellába a Maximális bért kap: szöveget, és határozzuk meg az I31-es cellába az illető nevét (felhasználhatjuk, hogy egy ilyen dolgozó van).
11. Ábrázoljuk sávdiagramon a dolgozók új bérének eloszlását! A függőleges tengelyen a sávok alsó határa jelenjen meg. A diagram címe A megemelt bér eloszlása legyen.
12. Formázzuk meg a táblázatot a mintának megfelelően.
Beküldendő egy tömörített i473.zip állományban a megoldást adó táblázatkezelő munkafüzet és egy rövid dokumentáció, amely megadja a felhasznált táblázatkelő nevét és verzióját.
Letölthető fájl: dolg.txt
(10 pont)
I. 474. A jamaicai jégkorongbajnokság utolsó, mindent eldöntő mérkőzését a Grizzlimedvék félelmetes hírű csapata a Pingvinekkel játssza. Döntetlen esetén, vagy ha a Grizzlik győznek, ők a bajnokok. Ha viszont a Pingvinek győznek, akkor a Pingvinek nyerik a bajnokságot.
A Pingvinek – akiket alacsonyabb termetük miatt sokak esélytelenebbnek tartottak – az első két harmadban, nem kis szerencsével egygólos előnyt szereztek. A statisztikák szerint, ha a szokásos rendszerben játszanak, akkor a Grizzlik átlagosan 600, a Pingvinek átlagosan 900 másodpercenként szereznek gólt. Ha viszont a Grizzlik lehozzák a kapusukat, és öt helyett hat mezőnyjátékossal rohamoznak, akkor 180 másodpercenként szereznek, de – az üresen hagyott kapu miatt – 90 másodpercenként kapnak gólt. Ha továbbra sem változik az eredmény, mennyi idővel a mérkőzés vége előtt érdemes a Grizzliknek lehozniuk a kapusukat, hogy a lehető legnagyobb valószínűséggel kiegyenlítsenek?
Készítsünk számítógépes programot, amely megadja a választ a feltett kérdésre.
Beküldendő egy i474.zip tömörített állományban a program forráskódja és a dokumentáció, amely a megoldási módszer rövid ismertetése mellett megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
Javasolta: Kós Géza
(10 pont)
![]() |
I/S-jelű feladatokA beküldési határidő 2019. február 11-én LEJÁRT. |
I/S. 32. Egy iskola könyvtárban összesen M darab számítógép van. Egy nap N diák előre megadta, hogy melyik időpillanattól melyik időpillanatig szeretne használni egy gépet. Tegyük fel, hogy egy diák az a1 időpillanattól a b1 időpillanatig szeretne gépezni, egy másik pedig a2-től b2-ig. Ők csak akkor használhatják ugyanazt a gépet, hogyha b1<a2 vagy b2<a1. Ha egy diák nem tud használni egy gépet sem a teljes kért időtartam alatt, akkor a könyvtárosnak el kell utasítania a kérését. Mivel csak M gép van, így nem biztos, hogy mindenkinek lesz szabad gépe. A könyvtáros szeretne a lehető legkevesebb diáknak nemet mondani. Segítsünk neki egy programmal, amely megadja, hogy legkevesebb hány diáknak és kiknek kell nemet mondania.
Bemenet: Az első sor tartalmazza a diákok N számát és a gépek M számát. A diákokat 0-tól N−1-ig indexeljük. A következő N sor mindegyike egy a és egy b számot tartalmaz, amely leírja, hogy az adott diák mettől meddig szeretne gépezni.
Kimenet: Az első sor tartalmazza azt a minimum számot, ahány diáknak nemet kell mondani. A következő sor tartalmazza azon diákok indexét növekvő sorrendben, akiknek nemet kell mondani. Több lehetséges megoldás, vagyis azonos számú elutasított diák esetén a legkisebb indexű diákokat fogadja a könyvtáros.
Korlátok: 1≤N,M≤105, 0≤a,b≤109, egy diákra: a<b.
Időkorlát: 0,5 mp.
Értékelés: A pontok 20%-a kapható, ha N⋅M≤106; további 20% kapható, ha b−a=1 minden diákra; további 20% kapható, ha a,b≤106 minden diákra; további 40% kapható az eredeti korlátokra.
Beküldendő egy is32.zip tömörített állományban a megfelelően dokumentált és kommentezett forrásprogram, amely tartalmazza a megoldás lépéseit, valamint megadja, hogy melyik fejlesztő környezetben futtatható.
(10 pont)
![]() |
S-jelű feladatokA beküldési határidő 2019. február 11-én LEJÁRT. |
S. 131. Egy cukrászatban különböző díszítéseket lehet kérni a tortákra. Összesen N különböző dísz van, egy tortára pontosan M darab dísznek kell kerülnie. Hogy ne legyen egyhangú a torta, egyféle díszből legföljebb K darab kerülhet egy tortára. Ezen feltételek mellett a cukrászat elkészítette az összes különböző díszítésű tortát, mindegyikből pontosan egyet. Ezután a tortákat autók szállították el különböző cukrászdákba. Minden autó pontosan P tortát tudott szállítani, se többet, se kevesebbet. A maradék tortákat, amiket nem tudtak elszállítani, a cukrászat dolgozói fogyasztották el. Adjuk meg, hogy hány tortát kaptak a dolgozók, illetve a torták számának P-vel való osztási maradékát.
Bemenet: egyetlen sor tartalmazza az N, K, M, P számokat.
Kimenet: egy egész számot tartalmaz, amely megadja a dolgozók által kapott torták P szerinti maradékát.
Példa:
Bemenet | Kimenet |
3 2 3 5 | 2 |
Korlátok: 1≤N,KM≤1017; K<M; 2≤P<106. Időlimit: 0,5 másodperc.
Értékelés: a pontok 20%-a kapható, ha N,K,M≤20; további 20% kapható, ha N,K,M≤106; további 10% kapható, ha P prím; további 10% kapható, ha M osztható K-val; további 40% kapható az eredeti korlátokra.
Beküldendő egy s119.zip tömörített állományban a megoldást leíró dokumentáció és a program forráskódja.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.
|