![]() |
Az I. 646. feladat (2024. december) |
I. 646. A „Lorem ipsum'' kezdetű szövegek véletlenszerűen egymás mellé helyezett latin szavakból állnak. A kapott mondatok nyelvtanilag nem helyesek, nincs értelmük, leginkább akkor használjuk őket, amikor rövidebb-hosszabb szövegre lenne szükségünk, melynek valójában csak a kinézetét, formázását akarjuk megvizsgálni.
Készítsünk programot, amely az angol nyelv weben előforduló 5000 leggyakoribb szavát felhasználva alkot mondatokat. A program B számú bekezdést hozzon létre, melyek mindegyikében M számú mondat, és egy-egy mondatban legfeljebb S szó szerepeljen.
A szövegben minden mondat végén pont álljon, a 10 szónál hosszabb mondatokban a szavak között egy helyen legyen egy vessző. A mondatok nagybetűvel kezdődjenek, az írásjelek után és a szavak között egy szóköz szerepeljen. Az írásjelek előtt ne legyen szóköz.
A program olvassa be a honlapunkról letölthető eng5000.txt egyszerű szöveges állományt a mondatok elkészítéséhez. Az állományban gyakoriság szerint csökkenő sorrendben szerepelnek a szavak, illetve azok gyakorisága egy bizonyos méretű adathalmazon. A szavak véletlenszerű kiválasztását úgy oldjuk meg, hogy a létrehozott szövegben a szavak gyakoriság szerinti sorrendje közel egyező legyen azok eredeti gyakoriság szerinti sorrendjével.
A program standard bemenetének egyetlen sorában szóközzel elválasztva a bekezdések B (1≤B≤100) száma, az egy bekezdésben szereplő mondatok M (1≤M≤20) száma, illetve az egy mondatban legfeljebb előforduló szavak S (1≤S≤30) száma áll.
A program a standard kimenet B darab sorában adja meg a létrehozott szöveget.
Példa:
Forrás: https://www.kaggle.com/datasets/rtatman/english-word-frequency/
Letölthető állomány: eng5000.txt
Beküldendő egy tömörített i646.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)
A beküldési határidő 2025. január 15-én LEJÁRT.
Mintamegoldásként Szabó Imre Bence budapesti, 11. évfolyamos versenyző C++ nyelven készült megoldását(i646.cpp), valamint Illés Gergely Levente pécsi, 12. évfolyamos tanuló Python programját (i646.py), és Krajcsovszki László kecskeméti, 11. osztályos diák C# nyelvű munkáját (i646.cs) osztjuk meg.
Statisztika:
18 dolgozat érkezett. 10 pontot kapott: Bencze Mátyás, Fajszi Karsa, Gyönki Dominik, Illés Gergely Levente, Nagy 292 Korina, Rajtik Sándor Barnabás, Szabó Imre Bence, Szekeres Linda, Tóth Domonkos. 9 pontot kapott: Harkay Ákos, Tóth Marcell Domonkos. 6 pontot kapott: 1 versenyző. 3 pontot kapott: 1 versenyző. 1 pontot kapott: 1 versenyző. Nem számítjuk a versenybe a születési dátum vagy a szülői nyilatkozat hiánya miatt: 1 dolgozat.
A KöMaL 2024. decemberi informatika feladatai
|