i

Ausführung von Befehlen

Die neuen Daten zur Beschreibung verwenden

Wir nutzen jetzt die neuen Daten zur Beschreibung von Bewegungen mit Hilfe der eingeführten Befehle.

module Interpreter exposing (..)

type Befehl 
    = LI                    -- links
    | RE                    -- rechts
    | VW Int                -- vorwärts ...

type alias Programm = List Befehl

type Richtung
    = N     -- Norden
    | O     -- Osten
    | S     -- Süden
    | W     -- Westen

type alias Akteur = (Int, Int, Richtung) 

type alias Zustand = (Akteur, Programm)

akteur: Akteur
akteur = (0,0,N)

programm1: Programm
programm1 = [VW 2, RE, VW 4, LI, VW 2]   

zustand: Zustand
zustand = (akteur, programm1)       

Der Akteur, der mit Hilfe von Befehlen gesteuert werden soll, lässt sich mit seinen Koordinaten und der Angabe der Bickrichtung beschreiben. In der Animation sieht man z.B. die Beschreibung (0,0,N) zur Ausgangslage des Akteurs.

Zum Herunterladen: wege_im_gitternetz2.ggb

Aufgabe 1

Führe das oben gezeigte Programm [VW 2, RE, VW 4, LI, VW 2] mit Hilfe der Schaltflächen aus und beobachte und erläutere die Beschreibung der Lage des Akteurs.

Die Wirkung der Befehle beschreiben

Wenn der Akteur die Lage (0,0,N) hat und das aktuelle Programm [LI, ...] mit einem LI-Befehl beginnt, dann befindet der Akteur sich nach Ausführung des LI-Befehl in der Lage (0,0,W) und im Programm fehlt der LI-Befehl.

Wir nennen das Tupel aus der Lage des Akteurs und des auszuführenden Programm einen Zustand. Die Ausführung von Programmen können wir dann mit Hilfe von Zustandsänderungen beschreiben. Hier einige exemplarische Beschreibungen von Zustandsänderungen:

Ausführung des LI-Befehls:
((3,0,N), [LI, ...]) -> ((3,0,W), [...]) 
((2,1,O), [LI, ...]) -> ...
...
Ausführung des RE-Befehls:
((0,1,N), [RE, ...]) -> ((0,1,O), [...]) 
((-1,1,O), [RE, ...]) -> ...
...
Ausführung des VW-Befehls:
((2,1,N), [VW 2, ...]) -> ((2,3,N), [...]) 
((0,-1,O), [VW 2, ...]) -> ...
((-2,4,S), [VW 2, ...]) -> ...
((1,3,W), [VW 2, ...]) -> ...
...

Aufgabe 2

Ergänze die fehlen Zustandsbeschreibungen.

Suche

v
8.2.2.8.2.1.3
dev.inf-schule.de/deklarativ/fp_elm/elm_programme/typdefinition/interpreter/lernstrecke/befehleausfuehren
dev.inf-schule.de/8.2.2.8.2.1.3
dev.inf-schule.de/@/page/LY2a43DFOfkVWXHX

Rückmeldung geben