Náhodná prechádzka
Tento rok sme ponúkli rozširujúci seminár z informatiky (SEN 3). Po bleskovom preopakovaní prakticky celého učiva potrebného k maturite (okrem programovania) počas cca 8 seminárov sme sa s chuťou pustili do programovania zaujímavých úloh. O jednu z nich sa chcem s vami podeliť.
Úloha znie takto:
Náhodná prechádzka
V strede štvorcového obrázka stojí človek, volajme ho Michal. Dokáže sa hýbať 4 smermi (hore, dole, doprava, doľava) vždy o jeden krok (dĺžku kroku viem meniť). Jeho pohyb je vždy náhodný. Náhodná prechádzka končí v momente, keď Michal narazí na koniec obrázka (na niektorú zo 4 hrán).
Vizualizácia tejto úlohy si nevyžaduje zložitejšie programátorské schopnosti a je zvládnuteľná aj v nižšom ročníku. Zaujímavé sú útvary, ktoré Michal pri svojom náhodnom pohybe vytvára. Tu je ukážka niektorých z nich (dĺžka kroku bola nastavená na 1-2 pixely).
Dievčatko, ktoré drží šarkana |
Džin a jeho lampa |
Hravý pes |
Káčer Donald nesie darček |
Mačka kráča vpred |
Rozpučená žaba |
Sokrates z profilu |
Strom života |
Svet z inej perspektívy |
("to čierne" je akoby stopa, kadiaľ Michal prešiel, kým sa dostal na koniec svojej prechádzky)
Doplňujúcou úlohou bolo zistiť, koľko krokov je priemerne treba urobiť, aby sa Michal dostal na koniec papiera. Samozrejme, toto číslo závisí od dĺžky kroku (čím dlhší krok, tým menej krokov).
Na záver sme zistili, že závislosť medzi dĺžkou kroku a počtom potrebných krokov nie je zďaleka lineárna a počet potrebných krokov s rastúcou dĺžkou kroku prudko klesá (asi tak prudko ako klesá funkcia 1/x2 pre kladné čísla x – ale o tom niekedy inokedy v článku zo sekcie matematika :) ).
(text: Mgr. Vladimír Ondrejka, foto: Michal Fibich)
PS: Nezabudnite, koľko jazykov vieš, toľkokrát si programátorom.
PS2: Náhodná prechádzka prírodou vôbec nemusí byť v týchto jesenných dňoch zlý nápad.
Ukážka zdrojového kódu tohto programu:
- Vážení rodičia a priaznivci našej školy! ... / viac
- Spojená katolícka škola, Farská 19, 949 01... / viac
- Spojená katolícka škola, Farská 19, 949 01... / viac
- Spojená katolícka škola, Farská 19, 949 01... / viac
- 2 % z dane podporte naše gymnázium a ... / viac
- Výberové konanie SKŠ Nitra Vyberove_konan... / viac