A KöMaL 2023. szeptemberi 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ű feladatokA beküldési határidő 2023. október 16-án LEJÁRT. |
I. 595. Készítsünk programot i595 néven, amely beolvas két karaktersorozatot, majd az azonos pozíción található megegyező karaktereket kiírja, illetve a többi karakter helyére ,,_'' karaktert ír ki a hosszabb karaktersorozat utolsó karakteréig. A karaktersorozatok ékezetes betűket igen, de nagybetűt nem tartalmaznak, és hosszuk legfeljebb 200 lehet. A beolvasást és a kiírást lássuk el magyarázó szöveggel.
A program a billentyűzetről olvassa be a karaktersorozatokat, majd írja ki a standard kimenet egyetlen sorába az eredményt.
Minta a program és a felhasználó közötti párbeszédre:
vagy
Beküldendő egy tömörített i595.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)
I. 596. A számok tulajdonságaik alapján különféle érdekes neveket kaptak. Vannak például páratlan számok, háromszögszámok, prímszámok, tökéletes számok stb. Az egyik ilyen különleges számfajtát a boldog számok alkotják. Ők azok a pozitív egészek, amelyekre az alábbi műveletsorozatot végrehajtva a végeredményként kapott szám 1 lesz: a szám számjegyeinek négyzetösszegét képezzük, majd az így kapott szám számjegyeinek négyzetösszegét képezzük és így tovább. A képzést egészen addig folytatjuk, amíg egyjegyű számot nem kapunk.
Nézzük például az 527-et: a számjegyek négyzetösszege \(\displaystyle 25+4+49=78\). A 78 számjegyeinek négyzetösszege \(\displaystyle 49+64=113\). A 113 számjegyeinek négyzetösszege \(\displaystyle 1+1+9=11\), majd a 11 számjegyeinek négyzetösszege 2. Ez az első egyjegyű szám a sorozatban. Mivel ez a szám nem 1-es, így az 527 nem boldog szám.
Készítsünk programot i596 néven, amely bekér egy pozitív egész számot, majd azzal elvégzi a műveletsorozatot, végül megadja, hogy a szám boldog szám-e. A program a műveletsorozat minden részeredményét és eredményét jelenítse meg az alábbi mintának megfelelően:
vagy
Beküldendő egy tömörített i596.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)
I. 597. Kelenföldön a Sárvár utca elején nemrég felújítottak egy három lépcsőházas, háromemeletes társasházat. A házban kétféle lakás van: \(\displaystyle 50~\mathrm{m}^{2}\)-es és \(\displaystyle 76~\mathrm{m}^{2}\)-es. A lakók úgy döntöttek, egyedi fűtésmérőket szereltetnek fel, hogy az addigi légköbméter-arányos távfűtési tarifát leváltsák egy olyanra, amelynél az egyedi fogyasztás is szerephez jut. Az elfogyasztott hőenergia 30%-át továbbra is légköbméter-arányosan számlázzák, de a maradék 70%-ot a fűtésmérőkön lakásonként eltérő fogyasztás alapján fizetik. Ennek kapcsán fogunk néhány hasznos számítást elvégezni.
1. Hozzunk létre a táblázatkezelőben egy új munkafüzetet futesmerok néven. Ennek egy munkalapja legyen Adatok nevű. Erre az A1 cellától kezdve töltsük be a munkalap nevével megegyező txt-fájlt (UTF-8 kódolású, tabulátorral tagolt).
2. A munkalapon végezzük el az alábbi mintán látható formázásokat.
Minták:
3. Az F2:F25 tartományban számítsuk ki az adott lakásnak a ház össztérfogatához képesti arányának 30%-át, a H2:H25 tartományban az adott lakásra leolvasott egységnek az összes leolvasott egységhez képesti arányának 70%-át. Az I2:I25 tartományban pedig összegezzük ezeket.
4. A J2:K25 tartományban számítsuk ki a lakásonként elfogyasztott hőmennyiséget és annak árát.
5. Az M2:N25 tartományban számítsuk ki, mennyi lett volna a fogyasztásmérők nélkül, térfogatarányosan, és azt, hogy ez mennyibe került volna.
6. Az O2:P25 tartományban jelenjen meg, hogy az egyes lakásoknál mennyivel többet vagy kevesebbet kellett fizetni.
7. Végezzük el az összesítéseket az E2:N26 tartomány celláiban.
8. Az A34 cellában az ismert adatok alapján határozzuk meg a lakások magasságát cm-ben.
9. Az A36 és A38 cellában a megfelelő képletekkel határozzuk meg a felettük látható kérdések válaszát.
10. Az A40 cellába kerüljön válasz a felette olvasható kérdésre teljes mondattal az alábbi formában, de a helyes adatokkal: ,,A Sárvár utca 7. 1. em. 4. alatti 76 négyzetméteres lakásban.''
A megoldásban saját függvény vagy makró nem használható.
Beküldendő egy tömörített i597.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: adatok.txt
(10 pont)
I. 598. Négy barát angolul tanul, a szókincsüket játékosan akarják bővíteni. Mind a négyüknek van Scrabble társasjátéka, ezért úgy döntenek, hogy online fognak játszani egy speciális változatot. A nyelvkönyvük alapján összeállítanak egy szószedetet több mint hatszáz szóból. Egyikük a saját játékából húz tíz betűt. Ezeket beolvassa a többiek számára, akiknek olyan szót kell kirakniuk a betűkből, amely szerepel a szószedetben. A kiválasztott szavaknak pontértéke van, ez a következő: a szó hosszának nyolcszorosa plusz a felhasznált betűk pontértékeinek összege. A Scrabble játékban ugyanis a betűknek pontértékük van:
Például a CAT szó hossza 3, így a pontértéke: \(\displaystyle 8\cdot 3+3+1+1=29\) pont.
A fordulót az nyeri, aki a legnagyobb pontértékű szót alkotja az adott betűkből.
Sanyi a táblázatkezelés ismereteinek felhasználásával szeretne nyerni. Segítsünk neki!
1. Nyissunk meg egy üres táblázatkezelő munkafüzetet, hozzuk létre benne a betuk és a szavak nevű munkalapokat, majd mentsük a munkafüzetet scrabble néven.
2. Illesszük be a szavak munkalapra az A3 cellától kezdve a mellékelt szoszedet.txt fájl tartalmát.
3. Végezzük el az alábbiakat:
\(\displaystyle a.\) Gépeljük be a mintán látható szövegeket az 5. sorban lévők kivételével,
\(\displaystyle b.\) formázzuk meg a cellák szövegét a minta szerint,
\(\displaystyle c.\) a C2:L2 tartomány celláit igazítsuk függőlegesen alulra, vízszintesen középre, a betűtípus Verdana, a betűméret 24 pontos legyen,
\(\displaystyle d.\) a C2:L3 tartomány háttérszíne legyen #FFCF9F (RGB(255,207,159)), keretezzük a minta szerint (a külső szegélyek simák, a függőleges belső szegélyek duplák). A cellák szélességét és magasságát állítsuk be úgy, mintha tíz darab négyzet alakú táblácska lenne.
4. Ha a C2:L2 cellákba begépelünk egy-egy betűt az angol ábécéből, akkor a C3:L3 tartományban jelenjen meg a pontértékük.
5. A szavak munkalapon válogassuk ki az adott betűkből kirakható szavakat, határozzuk meg ezek számát és egyenként a szóértéküket.
6. A betuk munkalap B5 cellájában jelenjen meg a megfelelő szavak száma, a D5 cellában legyen olvasható a mintán látható szöveg, ha nem lehet az adott betűkből a szószedet egyetlen szavát sem kirakni, különben a D5 cella legyen üres.
7. A 9. és azt követő sorokban jelenítsük meg a lehetséges szavakat és szóértéküket:
\(\displaystyle a.\) az A oszlopban egy sorszámot,
\(\displaystyle b.\) a B oszlopban az adott szót,
\(\displaystyle c.\) a C oszlopban a hozzá tartozó szóértéket.
A szavak ábécérendben kövessék egymást és nagybetűs írásmóddal szerepeljenek.
Azok a sorok, ahová már nem kerül adat, jelenjenek meg üresen.
8. A B7 cellába kerüljön a legmagasabb pontértékű szó és a C7 cellába ennek pontértéke.
Segédszámításokat a betűk munkalap N oszlopától jobbra és a szavak munkalapon a B oszloptól kezdve végezhetünk. A megoldásban saját függvény vagy makró nem használható.
Beküldendő egy tömörített i598.zip állományban a táblázatkezelő munkafüzet, illetve egy rövid dokumentáció, amelyben szerepel a megoldáskor alkalmazott módszer, a táblázatkezelő neve, verziószáma.
A megoldáshoz szükséges letölthető állomány: szoszedet.txt.
Az adatok forrása: https://elt.oup.com/generalcontent/hu/segedanyagok/?cc=huselLanguage=hu
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.