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 2026. márciusi 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ő: 2026. április 15.. 24:00 (UTC+02:00).


I. 691. Ismert játék az ,,Itt a piros, hol a piros'', amelyben egy piros labdácskát három átlátszatlan, szájával lefordított pohár egyike alá tesznek, majd a lefordított poharakat villámgyorsan cserélgetik. A csere a poharak csúsztatásával történik, tehát a labda mindig az őt fedő pohár alatt marad. A játék célja a labdácska helyének megadása a cserélgetések után. Az eredeti, 3 poharas játék esetén 3-féle csere lehetséges a pohárpárok között.

A játékot általánosítsuk 2–7 pohárra. A cserék jelöléséhez használt betűk kiosztása a pohár helyéből alkotott kétjegyű számok emelkedő sorrendjében történik. Például 4 pohár esetén a betűk: A: 1–2, B: 1–3, C: 1–4, D: 2–3, E: 2–4, F: 3–4 poharak cseréjét jelölik. Kezdéskor a labdácska mindig az első helyen lévő pohár alatt van.

Készítsünk programot, amely az \(\displaystyle N\) poharú játék esetén a betűsorozattal jelölt cserék után megadja, hogy hol van a labdácska.

A program standard bemenetének első sorában a poharak száma \(\displaystyle N\) (\(\displaystyle {2\leq N\leq 7}\)) szerepel. A következő sorban az \(\displaystyle S\) (\(\displaystyle 1\leq S\leq 200\)) hosszú karakterlánc a cserék lépéseit írja le.

A programmal a standard kimenetre írjuk ki, hogy a cserék végrehajtása után hányas sorszámú helyen lesz a labdácska.

Minta:

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

(10 pont)


I. 692. Egy munkahelyen összeírták, hogy egy adott évben a dolgozók mikorra tervezik a szabadságukat. Mindenki megadta, hogy az év hányadik napjától hányadik napig tervezi, hogy nem fog dolgozni.

A munkahely vezetője azt kéri, hogy adjuk meg program segítségével azt a leghosszabb időszakot, amelyben a dolgozók szabadságolási időszakaszai olyan sorozatot alkotnak, amelyben minden időszak tartalmazza a sorban utána következő időszakot. Tehát határozzuk meg, hogy melyik az a leghosszabb szabadságidőszak, amely ideje alatt egy másik kolléga is kiveszi a szabadságát, esetleg az ő szabadsága alatt egy harmadik is és így tovább. Fontos kérdés még a vezető számára, hogy ebben a leghosszabb időszakban maximum hány dolgozó lesz egyszerre szabadságon. Készítsük el a programot, amely a vezető kérdéseire választ ad.

A program standard bemenetének első sorában a szabadságolási terv időszakaszainak száma \(\displaystyle N\) (\(\displaystyle 1\leq N \leq 1000\)) van. A következő \(\displaystyle N\) sor mindegyikében egy-egy szabadság időszakának kezdő és befejező napja, \(\displaystyle E\) és \(\displaystyle V\) egész szám (\(\displaystyle 1\leq E<V\leq 365\)) található.

A programmal a standard kimenetre írjuk ki a leghosszabb – a fenti feltételeknek megfelelő – időszakban az egymásba ágyazódó szabadságok maximális \(\displaystyle K\) elemszámát, majd a következő \(\displaystyle K\) sorban az egymásba ágyazódó időszakokat.

Minta:

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

(10 pont)


I. 693. Ez a feladat az előző tanévben elkezdett és az ebben a tanévben folytatott prímekkel kapcsolatos sorozat (I. 633.; I. 641. és I. 661., illetve I. 673.) ötödik része. Most az alábbi speciális prímeket keressük az \(\displaystyle 1\;000\;000\)-nál nem nagyobb prímszámok között: csillagprímek, faktoriális prímek, permutálható prímek, teljes prímek és a Woodall-prímek. Lássuk e prímcsoportok definícióját:

Csillagprímeknek nevezzük a \(\displaystyle 6n(n-1)+1\) alakú prímszámokat. Például \(\displaystyle n=10\)-nél \(\displaystyle 6\cdot 10\cdot 9+1=541\), ami prím.

Faktoriális prímek az \(\displaystyle n!\pm 1\) alakú prímszámok. Például a \(\displaystyle 7!-1=5039\) ilyen prím.

Permutálható prímeknek nevezzük az olyan tízes számrendszerben vett számokat, ahol a számjegyek minden permutációja prímszám. Például ilyen prím a \(\displaystyle 199\), hiszen a \(\displaystyle 199\) mellett a \(\displaystyle 919\) és a \(\displaystyle 991\) is prím.

Teljes prímeknek, más néven Bölcsföldi–Birkás–Ferenczi prímeknek nevezzük a tízes számrendszerben azokat a prímszámokat, amelyeknek minden számjegye prím, és számjegyeinek száma is prím. Például a 523 ilyen prím.

Woodall-prímeknek nevezzük az \(\displaystyle n\cdot 2^n-1\) alakú prímszámokat. Például \(\displaystyle n=6\) esetén a \(\displaystyle 383\) prímszám.

  1. Készítsünk egy táblázatkezelő munkafüzetben prímek néven munkalapot, és munkánkat mentsük prim_5 néven a táblázatkezelő program alapértelmezett formátumában.
  2. Illesszük be az A3 cellától a primek1000000ig.txt fájlból az \(\displaystyle 1\;000\;000\) alatti prímek listáját. Az első két sorban oszlopfeliratokat készíthetünk a számításokhoz.
  3. Válogassuk ki az öt prímcsoport tagjait az \(\displaystyle 1\;000\;000\)-nál nem nagyobb prímek közül. A számításokat ezen a munkalapon végezzük.
  4. Hozzunk létre egy eredmények nevű munkalapot, amelynek A oszlopának celláit töltsük fel 1-től egész számokkal addig, amennyi a speciális prímszámok darabszámának maximuma. A következő oszlopokban határozzuk meg minden prímszámtípusnál helykihagyás nélkül, növekvő sorrendben:
    1. a B oszlopban a csillagprímeket;
    2. a C oszlopban a faktoriális prímeket;
    3. a D oszlopban a permutálható prímeket;
    4. az E oszlopban a teljes prímeket;
    5. az F oszlop celláiba pedig a Woodall-prímeket.
  5. A munkalap adattartományát formázzuk a minta szerint!
  6. Készítsük el az eredmények munkalapon az adott helyre a mintán látható táblázatot.
  7. Számítsuk ki és jelenítsük meg a hiányzó adatokat.
  8. Mindkét munkalapon cseréljük le oszloponként az első 99 sor utáni képleteket az értékükre.

Segédszámításokat a prímek munkalapon végezhetünk. A megoldásban saját függvény vagy makró nem használható.

Beküldendő az i693.zip tömörtett állományban a munkafüzet az eredeti nevén xlsb formátumban (bináris munkafüzetként) és egy rövid dokumentáció, amelyben szerepel a kiválogatások módszere, a táblázatkezelő neve és verziószáma.

Letölthető állomány: primek1000000ig.txt

(10 pont)


I. 694. Sokaknak okoz fejfájást az alábbihoz hasonló másodfokú egyenlőtlenségek megoldása:

\(\displaystyle \frac{x^2-x+1}{x^2+x+1}\geq \frac{1}{3}. \)

Pedig ezek nem is olyan nehéz feladatok, hiszen nullára rendezve egy tört előjelét kell megvizsgálni, amikor a tört számlálója és nevezője is legfeljebb másodfokú kifejezés.

Nézzük meg egy, már nullára rendezett konkrét példán a megoldást.

\(\displaystyle \frac{x^2-2x+1}{x^2-7x+10}<0. \)

A számlálóból alkotott egyenletnek egy megoldása van, \(\displaystyle x=1\), a nevezőből alkotott egyenletnek kettő, \(\displaystyle x_1=2\) és \(\displaystyle x_2=5\).

A számláló és a nevező mint függvény grafikonja egyaránt felfelé nyíló parabola, a gyökök közötti függvényértékek negatívak, a kisebb gyöknél kisebb és a nagyobb gyöknél nagyobb értékek esetén pozitívak. Foglaljuk táblázatba:

\(\displaystyle x<1\)\(\displaystyle x=1\)\(\displaystyle 1<x<2\)\(\displaystyle x=2\)\(\displaystyle 2<x<5\)\(\displaystyle x=5\)\(\displaystyle x>5\)
a számláló előjelepozitív0pozitívpozitívpozitívpozitívpozitív
a nevező előjelepozitívpozitívpozitív0negatív0pozitív
a tört előjelepozitív0pozitív\(\displaystyle 2\notin\text{É.T.}\)negatív\(\displaystyle 5\notin\text{É.T.}\)pozitív

A táblázatból kiolvasható, hogy a fenti egyenlőtlenség akkor teljesül, ha \(\displaystyle x\in\left]2;5\right[\).

Általánosítsuk:

\(\displaystyle \frac{ax^2+bx+c}{dx^2+ex+f}\;\text{relációjel}\;0. \)

A relációjel lehet: \(\displaystyle <\), \(\displaystyle \leq\), \(\displaystyle =\), \(\displaystyle \neq\), \(\displaystyle \geq\) vagy \(\displaystyle >\).

  1. Nyissunk meg egy üres táblázatkezelő munkafüzetet és a munkafüzet kapja a tort, a munkalap a szamol nevet.
  2. Készítsük el az első három sor celláinak tartalmát és formátumát a minta szerint.
  3. Ha az A3:F3 cellákba begépeljük az együtthatókat, a G3 cellába a megfelelő relációjel kódját, akkor az A5:G7 tartomány celláiban jelenjen meg a reláció a minta szerint.
  4. Számítsuk ki a számláló és a nevező zérushelyeit, amennyiben vannak.
  5. Készítsük el egy új, kiértékelő nevű munkalapra a kiértékelő táblázatot és a szamol munkalap H6-os cellájába az egyenlőtlenség megoldását.
  6. Készítsünk értéktáblázatot az 1. sorbeli feliratokkal (\(\displaystyle x\), \(\displaystyle sz(x)\), \(\displaystyle n(x)\) és \(\displaystyle t(x)\)). Az ábrázolási tartománya a zérushelyek minimumánál és maximumánál legyen egy-egy egységgel kisebb és nagyobb. Az \(\displaystyle x\) értékek lépésköze legyen egyenletes, és töltse fel az A2:A102 tartományt.
  7. Számítsuk ki a B2:B102 tartományban a számláló adott \(\displaystyle x\)-hez tartozó értékeit.
  8. Számítsuk ki a C2:C102 tartományban a nevező adott \(\displaystyle x\)-hez tartozó értékeit.
  9. Számítsuk ki a D2:D102 tartományban a tört adott \(\displaystyle x\)-hez tartozó értékeit.
  10. Egy új, diagram típusú munkalapon ábrázoljuk a számláló és a nevező, továbbá a törtfüggvény grafikonját az adott tartományon.

Segédszámításokat a szamol munkalapon a 8. sor alatt végezhetünk. A megoldásban saját függvény vagy makró nem használható.

Beküldendő egy tömörített i694.zip állományban a tort néven mentett táblázatkezelő munkafüzet, egy rövid dokumentációban pedig a táblázatkezelő neve és verziószáma.

(10 pont)


Figyelem!

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