Passer au contenu principal
DL 1
  • Accueil
  • Calendrier
  • Plus
Français ‎(fr)‎
Čeština ‎(cs)‎ Deutsch ‎(de)‎ English ‎(en)‎ Français ‎(fr)‎ Русский ‎(ru)‎
Vous êtes connecté anonymement
Connexion
DL 1
Accueil Calendrier
Tout déplier Tout replier
  1. Cvičení z Programování II pro pokročilé
  2. Cvičení #14
  3. Jeřáb

Jeřáb

Conditions d'achèvement
À remettre : mercredi 3 juin 2020, 23:59

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 ►
Contacter l'assistance du site
Vous êtes connecté anonymement (Connexion)
Obtenir l'app mobile
Fourni par Moodle