Skip to main content
DL 1
  • Home
  • Calendar
  • Support
    User support GDPR
  • More
English ‎(en)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
You are currently using guest access
Log in
DL 1
Home Calendar Support Collapse Expand
User support GDPR
Expand all Collapse all
  1. Cvičení z Programování II pro pokročilé
  2. Cvičení #14
  3. Jeřáb

Jeřáb

Completion requirements
Due: Wednesday, 3 June 2020, 11:59 PM

Jeřáb se skládá z \(n\) segmentů spojených klouby. První segment je upevněn k zemi a tyčí se kolmo vzhůru. Na něj je kloubem napojen druhý segment a může se kolem tohoto kloubu libovolně pohybovat. Na druhý segment je napojen třetí a tak dále, až na konci posledního segmentu je hák.

Abychom situaci zjednodušili, předpokládejme, že vše se odehrává v rovině: země je vodorovná přímka, první segment je úsečka na ni kolmá a tak dále.

Ovládání multisegmentového jeřábu je samozřejmě docela obtížné, nikdy nevíte, kde vám zrovna hák stojí. Pojďme vymyslet datovou strukturu, která to bude umět udržovat. Nejprve ji inicializujeme, počáteční stav jeřábu bude se všemi segmenty kolmo vzhůru. Pak bude struktura dostávat příkazy "otoč \(i\)-tým kloubem o orientovaný úhel \(\delta\)" a po každém příkazu odpoví, kde je zrovna hák. Slibujeme, že jeřáb nikdy nepřekříží sám sebe.

Verze pro fajnšmekry (za dalších 5 bodů): Jeřáb je strom (zakořeněný v zemi, divné, že?). V kloubech se může větvit. Segmenty "vyrůstající" ze společného kloubu se mohou pohybovat nezávisle. Slibujeme, že i tato verze má velmi elegantní řešení.

◄ Diskuse k úlohám
Cesta ve stromu ►
Contact site support
You are currently using guest access (Log in)
Get the mobile app
Powered by Moodle