Középiskolai Matematikai és Fizikai Lapok
Informatika rovattal
Kiadja a MATFUND Alapítvány
Már regisztráltál?
Új vendég vagy?

A KöMaL 2005. januári 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ű feladatok

A beküldési határidő 2005. február 15-én LEJÁRT.


I. 94. Kísérletezzünk, gondolkozzunk!

Készítsünk programot, amely a futás elején bekéri az \(\displaystyle a\) paraméter értékét (valós szám), majd megjeleníti a képernyőn az \(\displaystyle {(x^2+y^2)}^2=(x+ay) x^2\) egyenletű síkgörbét. Ügyeljünk a képernyőn való ,,szép'' megjelenítésre. Demo verzióval mutassunk példát az \(\displaystyle a\) paraméter ,,érdekes'' értékeire is.

Beküldendő a program (i94.pas).

(10 pont)

statisztika


I. 95. Egy összefüggő számítógépes hálózat csomópontokból és csomópontpárokat összekötő kábelekből áll. Ezt biztonságosabbá szeretnénk tenni, vagyis olyanná, hogy ha a kábelek bármelyike (de csak az egyike!) elszakad, a hálózat attól még összefüggő maradjon. Adjunk meg minél kevesebb csomópontpárt, melyek közé kábelt téve a hálózat biztonságosabbá válik.

Az egyes csomópontokat pozitív egész számokkal jelöljük. A program olvassa be a csomópontpárokat megadó számpárokat, soronként két egész számot, szóközzel elválasztva. A beolvasás végét két nulla jelzi, szintén szóközzel elválasztva. Ugyanilyen formátumban írja ki a képernyőre a szükséges kábeleket jellemző csomópontpárokat.

Fontos! A megoldást programmal fogjuk ellenőrizni, úgyhogy semmi mást ne írjon ki a képernyőre, és ne tegye lapozhatóvá a kimenetet!

(Tipp: teszteléshez átirányíthatjuk az stdin-t).

Beküldendő a program (i95.pas).

(10 pont)

statisztika


I. 96. Egy sorozat első \(\displaystyle n\) tagja nem határozza meg a sorozat többi tagját: bárhogyan folytathatjuk a tagok felsorolását.

Mi most az \(\displaystyle (n+1)\)-edik tag meghatározására a következő eljárást írjuk elő (\(\displaystyle n \ge 2\) legyen pozitív egész szám):

Képezzük a szomszédos tagok különbségét úgy, hogy a nagyobb indexűből kivonjuk a kisebb indexűt. A kapott különbségsorozattal ismét elvégezzük ezt az eljárást.

Néhány lépés után konstans sorozatot kapunk, amelyben már nincsenek különböző tagok. Ez legkésőbb az \(\displaystyle (n-1)\)-edik lépésben bekövetkezik, mert annak egyetlen tagja van. Például (most még csak a nagyobb méretű, sötétebb számokat nézzük!):

\(\displaystyle {|r|r|r|r|r|r|r|} \hline \phantom{\textbf{1}}\textbf{1}&\phantom{\textbf{1}}\textbf{4}&\textbf{9}&\textbf{16}&\textbf{25}&{\small 36}&\phantom{\textbf{11}}\\ \hline \textbf{3}&\textbf{5}&\textbf{7}&\textbf{9}&{\small 11}&\phantom{\textbf{11}}&\\ \hline \textbf{2}&\textbf{2}&\textbf{2}&{\small 2}&&&\\ \hline \textbf{1}&\textbf{2}&\textbf{6}&\textbf{17}&{\small 39}&&\\ \hline \textbf{1}&\textbf{4}&\textbf{11}&{\small 22}&&&\\ \hline \textbf{3}&\textbf{7}&{\small 11}&&&&\\ \hline \textbf{4}&{\small 4}&&&&&\\ \hline \)

\(\displaystyle Ekkor előírjuk, hogy az \)

(n+1)\(\displaystyle -edik tagot úgy kell megállapítani, hogy ismét elvégezve az eljárást, a konstans sorozat továbbra is konstans sorozat maradjon. Ebből a konstansból visszafelé lépegetve készítsük el az \)(n+1)\(\displaystyle -edik tagot. (Ezt mutatják példáinkon a kisebb méretű, világosabb számok.)

Készítsünk táblázatot (i96.xls), amely egy sorozat első \)n\(\displaystyle tagjához a most adott eljárással megkeresi a megfelelő \)(n+1)\(\displaystyle -edik tagot.

Beküldendő a táblázat (i96.xls). Szükség esetén az első mezőbe (\texttt{A1}) beírhatjuk a használati utasítást.

{\Large}*\)\par

Felhívjuk versenyzőink figyelmét a 2004. szeptemberi szám 357. oldalán közölt formai követelmények pontos betartására (megjegyzések, ADATOK)!

(10 pont)

statisztika


S-jelű feladatok

A beküldési határidő 2005. február 15-én LEJÁRT.


S. 5. Írjunk programot Escher-szerű hiperbolikus csempézések készítésére. (Lásd cikkünket a 2–9. oldalakon.) A program csempézze ki a körmodellt háromszögekkel, és mindegyik csempébe rajzoljon be egy mintát, amit egy külön fájlban adunk meg.

A program bemenete a következő elemekből áll:

A program az adatokat a parancssorból vegye a következő sorrendben:

\verb"(programnév)" \(\displaystyle p\) \(\displaystyle q\) \(\displaystyle r\) \verb"csempeminta.ppm" \(\displaystyle a_1\) \(\displaystyle a_2\) \(\displaystyle b_1\) \(\displaystyle b_2\) \(\displaystyle c_1\) \(\displaystyle c_2\) \verb"output.ppm" \(\displaystyle m\)

(A \verb"csempeminta.ppm" és az \verb"output.ppm" helyén természetesen más fájlnevek fognak állni.) A program a megadott adatok alapján készítse el a szintén PPM formátumú képfájlt. A minta rajzolásakor a cikkben leírt súlyponti koordinátás módszert alkalmazza.

A PPM formátumról és további tudnivalókról részletesebben írunk a http://www.komal.hu/verseny/2005-01/S.h.shtml oldalon.

(10 pont)

statisztika


Figyelem!

Az informatika feladatok megoldásait ne e-mailben küldd be! A megoldásokat az Elektronikus munkafüzetben töltheted fel.