Az I. 182. feladat (2008. március) |
I. 182. Készítsünk szimulációs programot karakteres képernyőn autók körforgalomban közlekedéséről. A körforgalom két egymásra merőleges utat köt össze. A csatlakozó útszakaszok az óramutató járásával ellenkező irányban 1-től 4-ig számozottak. Az autókat ezek a számok jelképezik a karakteres képernyőn úgy, hogy mindegyik autón annak a kivezető útnak a száma van, amelyen az autó tovább szeretne haladni. Ez lehet az az út is, amelyen érkezik: ilyenkor tesz egy kört, és visszafordul.
Az utak körforgalom felé vezető sávjainak elején minden szimulációs lépésben pi (i4) valószínűséggel érkezik új autó (ha az i-edik út elején lévő mező szabad). A valószínűségek 0 és 1 közötti valós számok, melyeket a program a parancssor első négy argumentumaként kap meg. Az autók mindaddig állandó sebességgel haladnak, amíg az a mező, amelyre lépnének szabad. Ha egy náluk lassúbb jármű halad előttük, akkor átmenetileg fölveszik az előttük haladó sebességét. Az autók sebessége 1 és 5 közötti egész: 1 érték esetén az autó minden szimulációs lépésben továbbhalad (ha tud), 5 esetén csak minden ötödikben igyekszik továbbmenni, egyébként a helyén marad. A körforgalomban tartózkodó autóknak elsőbbségük van az oda behajtani kívánó autókkal szemben. A körfogalomból kifelé tartó autók a kivezető út végén eltűnnek.
A program a beolvasott valószínűségeket felhasználva mutassa be a járművek mozgását. A szimuláció a szóköz billentyű leütésére legyen megállítható, és a szimuláció sebessége 1-től 9-ig legyen állítható a számbillentyűkkel.
Beküldendő a program forráskódja (i182.pas, i182.cpp, ...), valamint a program rövid dokumentációja (i182.txt, i182.pdf, ...), amely tartalmazza a megoldás rövid leírását, és megadja, hogy a forrásállomány melyik fejlesztő környezetben fordítható.
(10 pont)
A beküldési határidő 2008. április 15-én LEJÁRT.
Egy Pascal és egy C++ megoldást közlünk mintaként: Fábián András 11. osztályos szegedi versenyző (i182.pas) és Szabó Gábor 10. osztályos budapesti diák munkáját (i182.cpp,i182.pdf).
Statisztika:
7 dolgozat érkezett. 10 pontot kapott: Fábián András, Horváth 135 Loránd, Szabó 313 Gábor, Véges Márton. 8 pontot kapott: 1 versenyző. 7 pontot kapott: 1 versenyző. 3 pontot kapott: 1 versenyző.
A KöMaL 2008. márciusi informatika feladatai