Roboter können eine "harte
Programmierung" haben, d. h. Sie als Programmierer legen aus Kenntnis der
Situation jede einzelne Aktion fest oder der Roboter benutzt seine
Sensoren und entscheidet unterwegs selbständig, was zu tun ist.
In diesem Abschnitt lernen Sie die drei grundsätzlichen
Steueranweisungen, die in der Programmierung verwendet werden:
Sequenz, Auswahl, Wiederholungen.
Diese Kontrollstrukturen stehen in kleinen Programmstückchen, mit denen
der Roboter gesteuert wird.
Wir
beginnen mit der einfachsten: Sequenz
Vorbereitung: Für die nachfolgenden Aktionen sollten Sie den Roboter beauftragen,
Spuren zu machen, damit man besser kontrollieren kann, wo er lang gegangen
ist.
procedure TControlFrm.ItemsErzeugen;
// ------------------------------------------------------
begin
RD1 := TRobot.Create;
RD1.SetPos('C',1);
RD1.MacheSpur;
Welt.AllesZeigen;
end; |
1. Aufgabe
Dirigieren Sie RD1 von der Ausgangsposition mit der Handsteuerung
nach C,3
und
von dort zwischen den
Bäumen durch bis K,3
und notieren Sie die Anweisungen!
Schreibt man diese Anweisungen in eine neue Steuerprozedur, dann kann
man
den Roboter diesen Weg immer automatisch gehen lassen.
Allgemein ausgedrückt
|
Übersetzt in die Programmiersprache
|
gehe eins vor
gehe eins vor
gehe eins vor
nach links drehen
... |
RD1.Vor;
RD1.Vor;
RD1.Vor;
NachLinksDrehen;
... |
2. Aufgabe
Schreiben Sie eine neue Prozedur TControlFrm.UmDieBaeume
Dazu
ist nötig:
a) im INTERFACE-Teil die neue Prozedur deklarieren bei
TControlFrm = class(TFensterFrm)
UserPnl : TPanel;
...
...
procedure UmDieBaeume;
procedure ItemsErzeugen; // darf nicht gelöscht werden!
end; |
b) im IMPLEMENTATION-Teil unten den Code
procedure TControlFrm.UmDieBaeume;
// ------------------------------------------------------
begin
RD1.Vor;
RD1.Vor;
RD1.Vor;
NachLinksDrehen;
...
...
end; |
Zwischenfrage: Warum kann man nicht RD1.LinksDrehen schreiben?
Nun fehlt nur noch ein Button, um diese Prozedur aufzurufen.
c) Ziehen Sie aus der Standardpalette einen Button auf das UsrPanel.
d) Wechseln Sie auf den Objektinspektor;
- neuen Namen eintragen unter Eigenschaften-Name:
GoBtn
- Beschriftung einfügen unter Eigenschaften-Caption: GO!
e) Die ButtonClick-Methode erzeugen und
darin eintragen: UmDieBaeume;
(Diese GoBtnClick-Prozedur wird in
Zukunft die Testprozedur sein für alle neuen Entwicklungen, die wir noch
ausprobieren müssen. Wir schreiben hier dann nur die aktuellen
Anweisungen hinein. Das spart eine Menge Text im Programm.)
Starten und testen!
Merke: Sequenzen sind eine Folge von Anweisungen,
die nacheinander ausgeführt werden.
|
|