Loading [MathJax]/jax/output/HTML-CSS/jax.js
Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

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 (1B100) száma, az egy bekezdésben szereplő mondatok M (1M20) száma, illetve az egy mondatban legfeljebb előforduló szavak S (1S30) 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