Miniprog 2003 - Úlohy
propozície  | úlohy korešpondenčného kola  | výsldeky článok  | fotogaléria |


Úloha1: Guličky
Urobte veľkú guličku, ktorá sa bude pohybovať jedným smerom po obrazovke. Keď narazí na okraj obrazovky, premení sa na dve menšie guličky. Tieto dve guličky sa od okraja obrazovky odrazia náhodným smerom (tento smer by mal byť väčšinou pre obidve guličky rôzny) a rovnako ako ich predchodkyňa sa budú svojím smerom pohybovať po obrazovke. Keď jedna z nich narazí na okraj obrazovky, znovu sa rozdelí na dve ešte menšie, ktoré sa odrazia od okraja obrazovky náhodným smerom. A takto sa budú všetky guličky stále po náraze na okraj obrazovky deliť na dve menšie, ktoré sa od okraja odrazia. To znamená, že po každom náraze guličky na okraj obrazovky sa zväčší počet guličiek o jeden. Keď už bude na obrazovke určité množstvo guličiek (napr.100), guličky sa prestanú deliť, čiže sa všetky guličky budú iba od okrajov obrazovky odrážať. Úlohu riešte v grafickom režime.


Úloha 2: Grafický príkazový interpreter
V grafickom režime urobte program, v ktorom bude spodný riadok určený na zadávanie príkazov. V tomto riadku užívateľ pomocou klávesnice napíše príkaz. Keď ho potvrdíte klávesom ENTER, program príkaz vykoná a bude pripravený na zadanie nového príkazu. Váš program by mal poznať minimálne tieto príkazy:
BOD X, Y
CIARA X1,Y1,X2,Y2
KRUZNICA X,Y,R
FARBA C
ZMAZ
KONIEC
- nakresli bod na súradnice X,Y
- nakresli čiaru, ktorá spája body so súradnicami X1,Y1 a X2,Y2
- nakresli kružnicu so stredom X,Y a polomerom R
- nastav farbu kreslenia
- vymaž obrazovku
- ukonči program
Pokúste sa vymyslieť aj iné príkazy. Ak užívateľ zadá neznámy príkaz, program by mal napísať, že požadovaný príkaz nepozná. Parametre príkazov sa píšu hneď za príkazom (od príkazu sú oddelené medzerou) a navzájom sú oddelené čiarkou. Ak užívateľ zadá ku príkazu nesprávny počet parametrov, program túto chybu vypíše a príkaz nevykoná.


Úloha 3: Mechanická ruka
Na dolnom okraji obrazovky nakreslite N štvorcov rôznych veľkostí predstavujúcich štvorcové predmety, ktoré sa navzájom neprekrývajú ani nedotýkajú. V strede obrazovky je mechanická ruka uvedeného tvaru:



Zvýraznené ramená môžu meniť svoju dĺžku a mali by byť ovládané klávesami nasledovne :
   kurzor vpravo - pohyb ramena =a= doprava až po pravý okraj obrazovky
   kurzor vľavo - pohyb ramena =a =doľava až po ľavý okraj obrazovky
   kurzor hore - pohyb ramena =b= hore, až po výšku ramena a
   kurzor dole - pohyb ramena =b= dole, až po podstavu alebo hornú časť štvorcových predmetov
   kláves < a > - zväčšenie rozpätia klieští =c= (automaticky sa zastaví pri dotyku s prekážkou)
   kláves < s > - zmenšenie rozpätia klieští =c= (automaticky sa zastaví pri dotyku s prekážkou)
Ak je predmet (štvorec) zovretý oboma ramenami klieští, pohybuje sa spoločne s kliešťami, ale len v prípade ak je zdvihnutý aspoň 1 bod nad podložku.
V prípade, že je predmet zovretý kliešťami, a zovretie sa uvolní predmet spadne na podložku. Ak je výška dolnej podstavy predmetu nad podložkou pred pádom väčšia ako výška predmetu, predmet sa po páde rozbije, čo sa pri animácii prejaví tým, že po páde zmizne. Ramená nesmú prechádzať cez predmety. Animujte funkcie mechanickej ruky.


Úloha 4: Labyrint
Máme labyrint MxN, kde # je stena, medzera je prechodné pole, X je predmet. Náš panáčik vie ísť štyrmi smermi a vie, čo je pod ním. Nech panáčik zistí počet predmetov v bludisku.


Vyriešené úlohy zasielajte na ľubovoľnom médiu najneskôr do 15. apríla 2003 na adresu:
(na tejto adrese sa môžete do otvorenia súťaže informovať)

Slovenská spoločnosť elektronikov
Wolkrova 4, 851 01 Bratislava
tel.: 07/622 43 365
fax: 07/622 46 926
e-mail: skse@skse.sk

Nezabudnite uviesť:
- svoje meno, dátum nar., adresa bydliska, adresa školy, trieda, tel. domov, mobil (ak vlastníte), e-mail, hot line

Vzorové riešenia z domáceho kola:Guličky
 Grafický príkazový interpretér

Vzorové riešenia z celoslovenského kola:Vírus
 Hra Texaplex a príkladový level pre Texaplex
Úlohy sú riešené v progr. jazyku Pascal