A KöMaL 2004. novemberi 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ő 2004. december 15-én LEJÁRT. |
I. 88. Adottak a \(\displaystyle \mathbf{w}_{1}, \mathbf{w}_{2}, \ldots, \mathbf{w}_{n}\) vektorok. Az \(\displaystyle n\) mélységű bináris fa gyökerétől elmegyünk valamelyik leveléhez. Ha a \(\displaystyle k\)-adik elágazásnál balra megyünk, kiválasztjuk a \(\displaystyle \mathbf{w}_{k}\) vektort, ha jobbra, akkor nem. A levélhez érve összeadjuk a kiválasztott vektorokat.
Készítsünk programot (i88.pas, \ldots), amely megadott \(\displaystyle n\) természetes szám és megadott \(\displaystyle \mathbf{w}_{1}, \mathbf{w}_{2}, \ldots, \mathbf{w}_{n}\) vektorok esetén egy közös ábrán megjeleníti az \(\displaystyle n\) mélységű bináris fa egyes leveleihez tartozó összegvektorok végpontjait.
A \(\displaystyle \mathbf{w}_{1}, \mathbf{w}_{2}, \ldots, \mathbf{w}_{n}\) vektorokat polárkoordinátás alakban adjuk meg:
\(\displaystyle \mathbf{w}_{k} = \left[\big(1/\sqrt{2}\,\big)^{k}; k\cdot \frac{3\pi}{4}\right], \)
és tudjuk, hogy a \(\displaystyle \mathbf{w}=[r,\alpha]\) vektor Descartes koordinátái \(\displaystyle \mathbf{w}=(r\cdot \cos\alpha; r\cdot \sin \alpha)\). Az ábrát érdemes elkészíteni \(\displaystyle n=4,\dots, 15\) esetére.
(10 pont)
I. 89. Figyeljük meg: 5 első néhány hatványa felírható négyzetszámok összegeként: \(\displaystyle 5^{1}=5=1+4=1^{2}+2^{2}\), \(\displaystyle 5^{2}=25=9+16=3^{2}+4^{2}\), \(\displaystyle 5^{3}=125=100+25= 10^{2}+5^{2}\).
\(\displaystyle a)\) Program vagy táblázatkezelő segítségével keressük meg az egész számok körében (\(\displaystyle k=2,\dots, 9\), \(\displaystyle n=1,\dots, 10\)) rögzített \(\displaystyle k\) és \(\displaystyle n\) esetén a \(\displaystyle k^{n}=x^{2}+y^{2}\) egyenlet összes megoldásainak számát.
\(\displaystyle b)\) Az eredmények alapján keressünk képletet a megoldások számára.
\(\displaystyle c)\) Készítsünk olyan programot, amely ellenőrzi a sejtés helyességét akár \(\displaystyle n=15\), 30, 50, vagy pl. 100 esetén.
Beküldendő a program, ill. a számolótábla (i89.pas, i89.xls, \ldots).
(10 pont)
I. 90. Adott a síkon néhány pont a koordinátáival.
Készítsünk táblázatot, amelynek első három oszlopába beírhatjuk a pontok nevét (pl.: \(\displaystyle P\), \(\displaystyle Q\), \(\displaystyle A\), \(\displaystyle B\), \(\displaystyle C\), \(\displaystyle M_{a}\)), \(\displaystyle x\) és \(\displaystyle y\) koordinátáját, és erre a hatodik sor 7., 8., 9. és 10. mezőjében megjelenik a megadott pontok közül az origótól legtávolabbi neve, \(\displaystyle x\) és \(\displaystyle y\) koordinátája, valamint az origótól mért távolsága.
Beküldendő a táblázat (i90.xls).
(10 pont)
![]() |
S-jelű feladatokA beküldési határidő 2004. december 15-én LEJÁRT. |
S. 3. Alexandra és Bendegúz a következő játékot játsszák: felváltva mondanak szavakat úgy, hogy a következő szónak mindig azzal a betűvel kell kezdődnie, mint amivel az előző végződött. (A kettős betűket az egyszerűség kedvéért tekintsük két különálló betűnek.) A játék elején megállapodnak, hogy milyen szavakat engednek meg (pl. városok, állatok stb.). Nem lehet olyan szót mondani, amely egyszer már elhangzott; ha valaki nem tud új szót mondani, veszít.
Írjunk programot, ami segít a kezdő játékosnak: megmondja, hogy milyen szavak választása esetén van nyerő stratégiája. A program bemenete a megengedett szavak listája. Az első sorban a szavak száma – legfeljebb \(\displaystyle 20\) – áll, ezután minden sorban egy-egy szó. A kimenet hasonlóképpen épüljön fel: a program az első sorban írja ki, hogy hány nyerő szó van, utána pedig sorolja fel ezeket. Ha nincs nyerő szó, akkor az első sorba írjon \(\displaystyle 0\)-t.
Példa:
\ttfamily |c|c| \hline InputOutput
\hline 72
talicskatalicska
ablakretek
körte
eper
egres
retek
szilva
\hline
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.

