Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

A KöMaL 2024. 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ű feladatok

A beküldési határidő 2024. február 15-én LEJÁRT.


I. 611. Egy statisztikai problémákat kedvelő diák minden reggel megmérte, hogy a menetrend szerint közlekedő autóbusza hány percet késett. Készítsünk programot i611 néven, amely megadja a leghosszabb olyan egymást követő napok számát, amikor minden nap más idejű késés történt.

A program standard bemenetének első sorában a vizsgált időszak \(\displaystyle N\) napjainak száma (\(\displaystyle 1\le N\le 100\)) szerepel. A következő sorban egy-egy napon a késés \(\displaystyle T\) ideje (\(\displaystyle 0\le T[i]\le 60\)) szerepel percben.

A program írja ki a standard kimenetre a leghosszabb olyan időszak napjainak számát, amikor minden reggel különböző időt késett a busz.

Minta:

Beküldendő egy tömörített i611.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

(10 pont)

megoldás, statisztika


I. 612. A Sierpiński-háromszög a fraktálok bemutatásnak kedvelt témája. Sok látványos konstrukció hozható létre a témában, gazdag a szakirodalma.

Készítsük el a minta két fraktálját megvalósító programot, illetve projektet i612 néven. Mindkét fraktál első 5 szintje látható a fenti mintán, amelyek a minta1, valamint minta2 eljárások meghívásával készültek. A méret paraméter a négyzetek oldalhossza, és a szint paraméter a fraktál szintjének sorszáma.

A megoldás során a Python, az Imagine Logo vagy a Scratch programozási nyelvet használjuk. Törekedjünk a moduláris programozási módszer alkalmazására, tehát megoldásunkat bontsuk logikusan kisebb önálló programegységekre.

Beküldendő egy tömörített i612.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben futtatható.

(10 pont)

megoldás, statisztika


I. 613. Egy benzinkúthálózatot üzemeltető cég a megváltozott igények miatt módosítani szeretné az üzemanyagszállító-flottája eddigi menetrendjét, hogy a kútjainál mindig legyen elegendő készlet minden üzemanyagfajtából. A készletoptimalizálás mellett azt is tudni szeretnék, hogy szükség van-e kútbővítésre. Ennek kiderítésére az egyes kutaknál egy héten át regisztrálták a tankolási eseményeket. Egy vidéki kúttól – ahol egy töltőhelyen tudnak tankolni – rendelkezésünkre állnak adatok. Végezzük el az alábbi, statisztikai jellegű vizsgálatot az adatok felhasználásával.

A cég belső használatú jelölései az üzemanyagtípusokra: ,,D'': dízel üzemanyag; ,,5'': 95-ös oktánszámú motorbenzin és ,,8'': 98-as oktánszámú motorbenzin. Egy jármű tankolási idejét minden megkezdett 20 literre 1 percnek és a fizetésre további 2 percnek számoljuk.

  1. Nyissunk meg egy üres táblázatkezelő munkafüzetet, a munkalapnak adjuk ezt a nevet: adatok, majd mentsük a munkafüzet kutbovites néven.
  2. Illesszük be a munkalapra az A1 cellától kezdve a mellékelt kutadat.txt fájl tartalmát, amely tabulátorokkal tagolt, UTF-8 kódolású.
  3. A hét páratlan napjaihoz tartozó adatsorok kapjanak világoskék háttérszínt. Elegendő az aktuális adatok alapján elvégezni a háttér színezését, nem szükséges feltételes formázást alkalmazni.
  4. Gépeljük be az F1:I1 tartományba a mintán látható szövegeket, formázzuk meg a címsort a minta szerint.
  5. Adjuk meg a megfelelő képleteket az F2:I1060 tartományban az értékek kiszámításához.
  6. Hozzuk létre és formázzuk a minta szerint az L1:R9 tartományban a segédtáblázatot.
  7. Az M2:R9 cellák adatait az F:I oszlopokkal kiegészített alaptáblázat alapján képletekkel számoljuk ki, ügyeljünk a mértékegységekre.
  8. Készítsük el új, diagram típusú munkalapra a mellékelt tortadiagramot.
  9. Segédszámításokat az S oszloptól jobbra végezhetünk. A megoldásban saját függvény vagy makró nem használható!

    Beküldendő egy tömörített i613.zip állományban a táblázatkezelő munkafüzet, illetve egy rövid dokumentáció, amelyben szerepel a megoldáskor alkalmazott táblázatkezelő neve, verziószáma.

    A megoldáshoz szükséges letölthető állomány: kutadat.txt

(10 pont)

megoldás, statisztika


I. 614. Egy iskolai nyári táborban az egyik este szellemi vetélkedőt tartanak. A vetélkedő során kérdéseket tesznek fel a csapatoknak, valamint megadnak négy választ. A négy válaszból minden kérdésre pontosan egy a helyes. A kerdesek.txt UTF-8 kódolású szöveges állomány hat-hat egymás követő sorában van minden kérdés: az első sorban a feltett kérdés, a következő négy sorban a lehetséges válaszok, és a hatodik sorban a helyes válasz sorszáma. Az állomány első néhány sora a következő, amelyből kiolvasható, hogy 23 fenyőfa áll a tábor területén, és 7 vízibiciklivel lehet evezni a tavon.

Készítsünk programot i614 néven, amely beolvassa az adatokat tartalmazó állományt, majd válaszol az alábbi kérdésekre és megoldja a kitűzött feladatokat. Amennyiben a szöveges állomány ékezethelyes kezelése nem megoldható, akkor használjuk a kerdesek2.txt egyszerű ASCII kódolású állományt, amelyben az ékezetes karakterek helyett azok ékezet nélküli párja szerepel.

A felhasználóval történő párbeszéd során mindig adjuk meg, hogy milyen adatot kérdezünk és milyen eredményt adunk meg, illetve a feladatok megoldása előtt írjuk ki a feladat sorszámát. A megoldáshoz mintaként használhatjuk a feladatok után mellékelt mintát.

  1. Írjuk ki, hogy hány kérdés szerepel az adatállományban, valamint írjuk ki az első kérdést és a hozzá tartozó válaszokat, jelezve, hogy melyik a jó válasz. A válaszokat egy-egy nagybetűvel és nyitó zárójellel vezessük be.
  2. Adjuk meg, hogy melyek azok a kérdések, amelyekre a válaszok mindegyike egész szám. Írjuk ki a kérdések első 30 karakterét és három pontot, ha a kérdés hosszabb 30 karakternél, illetve a teljes kérdést, ha az nem hosszabb 30 karakternél. A kérdést követően írjuk ki a válaszok számát egy-egy szóközzel elválasztva úgy, hogy a helyes választ tegyük zárójelbe.
  3. Készítsünk az állomány adataiból egy 10 kérdésből álló véletlen kérdéssorozatot. Figyeljünk arra, hogy ne szerepeljen egy kérdés sem többször. Írjuk ki a kérdések szövegét és lehetséges válaszokat az 1. feladatban megadott formában. Kérjük be a felhasználó tippjét, ami az a, b, c, d betűk egyike lehet kis- vagy nagybetűvel. A hibás tippeket ne fogadjuk el, tehát addig ne lépjünk tovább, amíg a felhasználó a négy elfogadható betű egyikét nem adja meg.
  4. Az előző feladatban kapott tippek és a helyes válaszok alapján adjuk meg, hogy a felhasználó hány kérdésre adott helyes választ, valamint készítsünk egy nemjo.txt szöveges állományt, amelybe elhelyezzük azokat a kérdéseket, amelyekre a felhasználónak nem sikerült helyesen válaszolnia. A fájlban minden kérdés két sorban szerepeljen: az egyik sorban a kérdés szövege, az őt követő sorban a helyes válasz. A kérdések és válaszok között egy üres sort hagyjunk ki. Ha a felhasználó minden kérdésre jól válaszolt, akkor a fájlba ne írjunk semmit.

Minta egy lehetséges programfutásra:

Beküldendő egy tömörített i614.zip állományban a program forráskódja és rövid dokumentációja, amely megadja, hogy a forrásállomány melyik fejlesztői környezetben fordítható.

A megoldáshoz szükséges letölthető állományok: kerdesek.txt, kerdesek2.txt.

(10 pont)

megoldás, statisztika


Figyelem!

Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.