![]() |
Az I. 690. feladat (2026. február) |
I. 690. Egy diák a különféle operációs rendszerek parancssori utasításait tanulmányozza. Gondolta, hogy egyszerre megtanulja a legelterjedtebbeket: a Windows, a Linux és a MacOS parancsait. A három operációs rendszerben vannak hasonló tevékenységek, például fájlok másolása, törlése, mozgatása stb. Ezek neve sok esetben hasonló, egyes esetekben azonos, vagy kissé eltérő. A https://www.kaggle.com/datasets/vaibhavdlights/linuxcmdmacos-commands oldalon elérhetők a három operációs rendszer parancssori utasításai. Minden utasításhoz kapcsolódik egy rövid angol leírás. Ezek hasonló funkciójú parancsok esetében szintén hasonlítanak egymásra.
A három operációs rendszer utasításainak közös tanulásához hasznos lenne kapcsolatot létrehozni a három utasításkészlet között. A diák úgy gondolta, hogy két különböző operációs rendszerben lévő parancs közötti kapcsolat annál erősebb, minél inkább hasonlít a nevük, illetve minél több közös szó szerepel a leírásukban. A kapcsolat erősségét egy pontszám adja meg, amelynek számítása a következő:
- 20 pontot ér, ha a két utasítás neve azonos;
- ha a két utasítás neve nem azonos, de az egyik utasítás legalább 5 első betűje szerepel a másik utasításban, akkor ez 10 pontot ér;
- az utasítások nevétől függetlenül további 2-2 pontot jelent a két utasítás leírásában minden azonos szó, vagy ha a szavak legalább első 5 betűje megegyezik.
Például a cd parancs mindhárom operációs rendszerben szerepel, tehát a Windows cd parancs és a Linux cd parancs között 20 pont a kapcsolat erőssége a fenti első eset szerint. Ehhez jön még további 4 pont, mivel mindkét leírásban szerepel a „change” és a „directory” szó. Így a két operációs rendszerben a két parancs kapcsolatának erősségét 24 pontra értékeljük.
A fenti számításban a kis- és nagybetűket egyenértékűnek tekintjük. Ne vegyük figyelembe a pontszám kiszámításakor a leírásban a névelőket, kötőszavakat és elöljárókat, például „a”, „an”, „the”, „or”, „to”, „from”, „of”, „on” „and”, „for”.
Az utasítások közötti kapcsolatot felhasználva készítsünk programot, vagy táblázatkezelő munkafüzetet, vagy SQL adatbázist, amely segíti a tanulást:
Az egyik módon úgy, hogy egy szavakból álló keresőkifejezésre (például a „file copy”, vagy „make directory”) megadja mindhárom operációs rendszer utasításaiból a leginkább releváns találatokat. Ehhez a fenti pontozásból a 3. pontot alkalmazza a keresőkifejezés és a parancsok leírása közötti erősség kiszámítására. Csak a 0-nál nagyobb erősségű parancsokat adja meg, erősség szerint csökkenő sorrendben.
A másik módnál az egyik operációs rendszer valamely utasítását megadva bemenetként válaszul megadja a másik két operációs rendszerben a bemenethez leginkább kapcsolódó utasításokat a kapcsolat erőssége szerinti csökkenő sorrendben.
A fenti műveleteket úgy valósítsuk meg, hogy a program bekéri a parancssorból a bemeneti értékeket, vagy néhány cellába kell beírni azokat, vagy egy SQL utasításban pl. a WHERE feltételben szerepelnek. A program az eredményeket kiírja a parancssorba, a táblázatkezelő megjeleníti azokat adott cellákban, illetve az SQL lekérdezés eredményül adja őket.
Beküldendő egy tömörített i690.zip állományban a program forráskódja, vagy a táblázatkezelő munkafüzet, vagy az SQL adatbázis, valamint egy felhasználói dokumentáció, amelyben szerepel a megoldás használatának módja. A program a szokásos módon folytasson párbeszédet a felhasználóval. A táblázatkelő munkafüzetben jelezzük, hogy melyik cellákba várunk bemenetet, és jelöljük, hogy mely cellákban kapunk eredményeket. Adatbázis-kezelés esetén a szöveges kereséshez adjuk meg a használható SQL parancsot, például SELECT oprsz, parancs, leiras FROM … WHERE keres = "file copy". A megoldás során most is csak a versenykiírásban szereplő programozási nyelvek és alkalmazói programok használhatók.
(10 pont)
A beküldési határidő 2026. március 16-án LEJÁRT.
Statisztika:
Az I. 690. feladat értékelése még nem fejeződött be.
A KöMaL 2026. februári informatika feladatai

