A KöMaL 2004. 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ő 2004. október 15-én LEJÁRT. |
I. 82. Készítsünk programot (i82.pas,...), amely az \(\displaystyle r(>0)\) értékének megadása után kirajzolja az \(\displaystyle r\) sugarú alapkört, majd
\(\displaystyle a)\) az \(\displaystyle a\), \(\displaystyle b\), \(\displaystyle c\) valós számok megadására kirajzolja az \(\displaystyle y = ax^2 +bx+c\) parabola,
\(\displaystyle b)\) az \(\displaystyle a\), \(\displaystyle b\) valós számok megadására kirajzolja az \(\displaystyle y=ax+b\) egyenes inverz képét, egy ábrára több alakzatét is.
Az origó középpontú, \(\displaystyle r\) sugarú körre vonatkozó inverzió a sík (origótól különböző) \(\displaystyle (x;y)\) pontjához az
\(\displaystyle \left(\frac{x\cdot r^2}{x^2 +y^2}; \frac{y\cdot r^2}{x^2 +y^2}\right) \)
pontot rendeli.
(10 pont)
I. 83. A \(\displaystyle H\) halmaz az összes \(\displaystyle x+y\sqrt 5\) alakú számot tartalmazza, ahol \(\displaystyle x\) és \(\displaystyle y\) tetszőleges egész számot jelöl. A \(\displaystyle H\) halmaz tetszőleges két elemének összege, különbsége, szorzata és pozitív egész kitevős hatványa \(\displaystyle H\)-beli számot eredményez. Két elem hányadosa már kivezet a \(\displaystyle H\) halmazból, de a nevező gyöktelenítésével belátható, hogy elég azt a bővebb \(\displaystyle B\) halmazt tekinteni, amely úgy keletkezik, hogy a \(\displaystyle H\) minden egyes elemét elosztjuk minden pozitív egész számmal.
Készítsünk programot (i83.pas,...), amely a \(\displaystyle B\) elemeivel el tudja végezni a négy alapműveletet és a pozitív egész kitevős hatványozást, láncszámolás-szerűen is. Előírható, hogy a \(\displaystyle \sqrt 5\) helyett egy más célra nem használt karaktert, pl. a \verb"@" jelet lehessen megadni inputként.
Például egy lehetséges input: \verb"a=5-3@;" \verb"b= 4+7@;" \verb"c=a/12;" \verb"d=b/43;" \verb"e=d7;" \verb"f=c+e;" \verb"g=f/b".
(10 pont)
I. 84. Ábrázoljuk az \(\displaystyle x_{n}=\min\, (x_{n-1},x_{n-2})-x_{n-3}\) (\(\displaystyle n>3\)), ill. az \(\displaystyle x_{n}= \max\, (x_{n-1},x_{n-2})-x_{n-3}\) (\(\displaystyle n>3\)) előírásnak megfelelő számsorozatokat a táblázatkezelő első ill. harmadik oszlopában! Az első oszlopban az első három helyre kezdőértékekként tetszőleges egész számot beírva, ezek a számok automatikusan jelenjenek meg a harmadik oszlop első három helyén is, továbbá a második, ill. negyedik oszlopban jelenjen meg egy figyelmeztetés (,,Ism.'') abban a sorban, ahonnan kezdve az első, ill. második sorozat elemei ismétlődnek.
Az ötödik oszlop első két cellájában jelenítsük meg a ciklushosszakat.
Beküldendő a táblázat (i84.xls).
(10 pont)
![]() |
S-jelű feladatokA beküldési határidő 2004. október 15-én LEJÁRT. |
S. 1. Írjunk programot, amely tizedestörteket közönséges törtekké alakít. A program olvassa be a tizedestörteket; minden egyes sor legfeljebb tizennégy számjegyet és egy tizedespontot tartalmaz. (A bemenő adatok mindig helyesek lesznek, az ellenőrzéstől eltekinthetünk.) Minden egyes sorhoz keresse meg a lehető legkisebb nemnegatív \(\displaystyle a\) és pozitív \(\displaystyle b\) számokat, amelyekre az \(\displaystyle \frac{a}{b}\) szám tizedestört alakjának eleje (kerekítés nélkül) megegyezik a megadott sorozattal és írja ki az \(\displaystyle \frac{a}{b}\) törtet.
Példa:
\(\displaystyle {|l|l|} \firsthline Input&Output\\ \hline \texttt{0}&\texttt{0/1}\\ \hline \texttt{1.01}&\texttt{52/51}\\ \hline \texttt{1.010}&\texttt{92/91}\\ \hline \texttt{1.0100}&\texttt{101/100}\\ \hline \texttt{3.14}&\texttt{22/7}\\ \hline \texttt{3.1415926535897}&\texttt{20530996/6535219}\\ \hline \)
\(\displaystyle
A programokat különböző méretű -- legfeljebb hat-, tíz, illetve tizennégy számjegyből álló -- adatokon fogjuk tesztelni. A maximális pontszám eléréséhez a programnak a legnagyobb adatokon is gyorsan (legfeljebb néhány perc alatt) le kell futnia. Akinek a programja csak a hat- vagy tízjegyű adatokra fut le adott idő alatt, az 6, illetve 8 pontot kaphat.
(10 pont)
Figyelem!
Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.

