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. 375. feladat (2015. április)

I. 375. Készítsük el a közlekedési csomópont probléma mechanikai modelljének számítógépes változatát.

A probléma lényege: adott három város, egy közös közlekedési csomóponthoz szeretnének utat építeni úgy, hogy az összköltség minimális legyen. Az eredeti probléma mechanikai interpretációját Pólya György adta, amelynek lényege: helyezzünk el a három pontban egy-egy csigát, azokon vessünk át egy-egy kötelet, amelyet fogjunk össze egy közös pontban, a túlsó végükre pedig egy-egy azonos nagyságú súlyt erősítsünk. A rendszer egyensúlyi állapota - amikor a közös pontban ható erők kioltják egymást - adja meg a csomópont helyét. (Pólya György: Indukció és analógia, Gondolat, 1988, 165-171.)

A fenti rendszert általánosítsuk \(\displaystyle n\) pontra. A megjelenítést egyszerűsítsük azzal, hogy a csigákat a pontokat tartalmazó síkon egy adott helyen vágott lyukkal helyettesítjük. A fonalakat egy közös pontból a lyukakhoz vezetett szakaszokkal ábrázoljuk. (A közös pont a lyukon nem haladhat át.) A modell 3 pontra itt tekinthető meg: http://demonstrations.wolfram.com/PolyasMechanicalModelForTheFermatPoint/.

A számítógépes modell a következőképpen legyen használható:

\(\displaystyle \bullet\) \(\displaystyle n\) értékét a 3 és 8 között szabadon megadjuk;

\(\displaystyle \bullet\) a lyukak helyét a felületen megadhatjuk, de véletlenszerű elhelyezést is választhatunk;

\(\displaystyle \bullet\) a program az egyensúlyi helyzet felé lépésenként halad az alábbiak szerint:

\(\displaystyle a.\) a felületet felülnézetből látjuk;

\(\displaystyle b.\) a közös pontra ható erőket a belőle induló, fonálirányban mutató egységvektorokkal szemléltetjük;

\(\displaystyle c.\) léptetéskor az összeköttetési pontot a program a fenti egységvektorok eredőjének irányába mozdítja.

A megoldást bármely programozási eszközzel elkészíthetjük. Ügyeljünk a szép megjelenésre és a könnyű használhatóságra.

Beküldendő egy tömörített (i375.zip) állományban a megoldás leírása (i375.pdf), amely tartalmazza megoldás lényeges lépéseinek ismertetését; valamint a program forrásnyelvi változata és a fordításához és működéséhez szükséges fájlok.

(10 pont)

A beküldési határidő 2015. május 11-én LEJÁRT.


Meglepő volt, hogy a szabad szoftverválasztás ellenére egy kivétellel mindenki C#-ban oldotta meg a feladatot. Az egy kivételt Kovács Balázs Marcell jelentette, aki a Wolfram Matematica szoftvert használta. Megoldása tökéletesen megfelel a kívánalmaknak, ezért közöljük: i375KovacsBM.zip

Az értékelés szempontjai egy-egy pontért: n értéke beállítható; a lyukak helye megadható; a lyukak helyét véletlenszerűen is generálhatjuk; a közös pontra ható erők irányát megadja (a fonal kirajzolása is elég); az erők nagyságát is megadja (egyforma nagyságú erők hatnak); a pont az eredő irányába mozdul; beáll az egyensúlyi állapot (kis rezgés megengedett); szép megjelenítés; könnyű használhatóság; elfogadható dokumentáció.


Statisztika:

6 dolgozat érkezett.
10 pontot kapott:Kovács Balázs Marcell.
9 pontot kapott:Dombai Tamás, Fényes Balázs.
8 pontot kapott:2 versenyző.
6 pontot kapott:1 versenyző.

A KöMaL 2015. áprilisi informatika feladatai