Administration überspringenOnline-Aktivitäten überspringen
 

Online-Aktivitäten

(in den letzten 1 Minuten)
  • Gast
 
 
 

Themen dieses Kurses

 
logo Das Konzept = Niki der Roboter=
Feld
Niki der Roboter ist eine geschlossene Programmierumgebung mit eigenem Compiler und Editor für den Anfangsunterricht in PASCAL.



NIKI ist das Modell eines programmierbaren Roboters
, der sich auf einem Arbeitsfeld der Größe 10 x 15 bewegen und dort Gegenstände aufnehmen und ablegen kann.


 
 
1
logo Bezugsquellen
Nur Thema 1 anzeigen
2
logo Was kann dieser Roboter Niki?
infoZugegeben, es ist noch nicht sehr viel. Ganze 4 Anweisungen kann er abarbeiten:

vor
... geht einen Schritt nach vorn
drehe_links
... dreht sich um 90° nach links
gib_ab ... legt einen Gegenstand ab
nimm_auf ... hebt einen Gegenstand auf
Nur Thema 2 anzeigen
3
logo 1. Erweiterung: Prozedurkonzept
infoDas Prozedurkonzept erlaubt es uns, den Quellcode des Programms in nützliche Prozeduren (Bausteine) zu zerlegen. Den Prozeduren gibt man aussagekräftige Bezeichner (Namen), die man dann wie neue Niki-Anweisungen benutzen darf.

Syntax: procedurdeklaration
prozedur

Beispiel:

PROGRAM neue_prozedur;
PROCEDURE drehe_rechts; {hier wird die Prozedur deklariert}
BEGIN
drehe_links;
drehe_links;
drehe_links
END;
BEGIN {hier beginnt das Hauptprogramm}
drehe_rechts {Aufruf der Prozedur}
END .

Nur Thema 3 anzeigen
4
logo 2. Erweiterung: Sensoren
info Um Niki auch in unbekannten Arbeitsfeldern einsetzen zu können, wurde er mit Sensoren ausgestattet. Das sind logische Ausdrücke in Form von Bedingungen, die er prüft und die ihm die Rückmeldung WAHR oder FALSCH liefern.

Hindernis-Sensor
wink vorne_frei cool rechts_frei big grin links_frei
Material-Sensor
approve hat_Vorrat surprise platz_belegt
Richtungs-Sensor
thoughtful nordwaerts tongueout ostwaerts black eye westwaerts mixed suedwaerts


Nun fehlen noch Anweisungen, die diese Bedingungen (Sensoren) abfragen, damit Niki darauf reagieren kann. Näheres folgt im Block Kontrollstruktur Schleife.

Nur Thema 4 anzeigen
5
logo Kontrollstruktur Schleife 1: WIEDERHOLE-BIS
  • repeat1Niki soll nun selbständig das Material finden und aufnehmen. Die Anzahl der Schritte und die Stückzahl des Materials müssen durch seine Sensoren erkannt werden. Die Anweisungen vor und nimm_auf müssen wiederholt ausgeführt werden.

    info
    Syntax: repeat-until-schleife
    repeat

    Übung

    Teste folgenden Code in einem Programm mit dem beschriebenen Arbeitsfeld.

    struktogramm

    REPEAT
    vor;
    UNTIL platz_belegt;
    REPEAT

    nimm_auf;
    UNTIL not platz_belegt

    info Mit Schleife und Prozedur lassen sich nun nützliche Bausteine programmieren:

    Procedure Gehe_bis_zur_Wand;
    Procedure Nimm_alle_auf;
    Procedure Gib_alle_ab;
    Begin
    Repeat
    vor
    Until not vorne_frei
    end;
    Begin
    Repeat
    nimm_auf
    Until not platz_belegt
    end;
    Begin
    Repeat
    gib_ab
    Until not hat_Vorrat
    end;

    Übung
    Schreibe nun ein Programm zur Lösung des folgenden Problems und unter Nutzung der besprochenen Prozeduren:

    n5-2 Niki soll alle Steine in die gegenüberliegende Grube legen und zum Ausgangspunkt zurückkehren.


  • Lösung zu Aufgabe 5-1 Arbeitsmaterial
Nur Thema 5 anzeigen
6
logo Kontrollstruktur Schleife 2: SOLANGE-TUE

info Repeat
vor
Until not vorne_frei
n6-1
Hier klappt es!
n6-2
Hier versagt es!

Syntax: while-do-schleife

while

Die WIEDERHOLE-BIS-Schleife führt erst die Anweisung aus und
prüft anschließend die Bedingung. Niki rennt gegen die Wand


WHILE vorne_frei DO vor
n6-2

Die SOLANGE-TUE-Schleife prüft erst die Bedingung und

führt anschließend die Anweisung aus. Niki bleibt stehen

Übung
Auf dem Arbeitsfeld befinden sich mehrere Wände unterschiedlicher Höhe und mit unterschiedlichen Abständen. Niki soll bei der Markierung hinter der letzten Wand stehen bleiben.

Das Hauptprogramm soll lauten:
wände
BEGIN
WHILE not platz_belegt DO
Begin
Gehe_zu_Wand;
Umgehe_die_Wand
End;
END.

Nur Thema 6 anzeigen
7
logo Kontrollstruktur Verzweigung: WENN-DANN-SONST
Niki befindet sich in einem dunklen Gang, der irgendwo nach rechts oder nach links abzweigen wird. Wie findet er diese Abzweigung? n7-1
Er benötigt also eine Abfrage von deren Ergebnis der weitere Verlauf des Programms abhängt. Dies nennt man eine Verzweigung. Es kann also sooo oder sooo weitergehen.

info WENN Abzweigung rechts DANN gehe nach rechts SONST gehe nach links

Pseudo-Code
Struktogramm
WENN bedingung erfüllt
DANN anweisung1
SONST anweisung2
stif

Syntax: if-then-else-anweisung if
Hinweis: Der ELSE-Zweig kann entfallen
Lösung:
Niki muss nach jedem Schritt die IF-THEN-ELSE-anweisung ausführen.

IF rechts_frei THEN
BEGIN
drehe_rechts; vor
END
ELSE
BEGIN
drehe_links_frei; vor
END; ...

Ü7-1 Schreibe ein Programm zur Lösung des beschriebenen Problems. Bedenke, dass die Gänge verschlossen sind.

n7-2
Ü7-2 Niki soll alle Gegenstände aufsammeln und in die Grube legen. Schreiben ein Programm mit Schleife und Verzweigung!

rohr
Ü7-3 Niki wird als Rohrleitungsreiniger eingesetzt und soll die Verstopfung beseitigen. Er sucht sich den Weg durch die Rohrleitung, findet die Verstopfung, beseitigt diese und kehrt an den Ausgangspunkt zurück.
Nur Thema 7 anzeigen
8
logo Komplexe Aufgaben mit allen Kontrollstrukturen
Übung Am Ende eines spiralförmigen Ganges liegt ein Gegenstand, den Niki holen soll und am Ausgang ablegt.
  • Video Spirale Datei
  • Übung Niki soll die Durchbrüche in den Schichten finden und den Gegenstand aufnehmen.
  • Video Schichten Datei
  • Übung Niki soll den Hauptgang entlanglaufen und in den jeweils rechten Seitengang einbiegen. Dem Vorratsplatz links entnimmt Niki alle Waren und füllt damit die rechts und links vom Seitengang befindlichen Regale auf. Die restlichen Waren legt er wieder auf den Vorratsplatz. Auf dem Rückweg bearbeitet Niki die andere Seite.
     Program Kaufhaus; (* weitere Prozeduren *)
     PROCEDURE EHE_DEN_HAUPTGANG_ENTLANG;
     BEGIN
     WHILE VORNE_FREI DO
     BEGIN
     IF RECHTS_FREI THEN
     BEGIN { ARBEITE_IM_SEITENGANG }
     GEHE_ZUM_VORRATSPLATZ;
     NIMM_VORRAT_MIT;
     FUELLE_DIE_REGALE_AUF;
     LEGE_DEN_REST_ZURUECK;
     GEHE_ZUM_HAUPTGANG_ZURUECK;
     END; { ARBEITE_IM_SEITENGANG }
     VOR;
     END;
     END; 

     BEGIN { KAUFHAUS }
     ARBEITSFELD(KAUFHAUS);
     GEHE_DEN_HAUPTGANG_ENTLANG;
     DREHE_UM;
     GEHE_DEN_HAUPTGANG_ENTLANG;
     DREHE_UM;
     END 
    kaufhaus
  • Download Arbeitsfeld kaufhaus.rob Datei
  • Video Kaufhaus Datei
Nur Thema 8 anzeigen
9
logo Programmier-Praktikum Zeitraum: 09.07-15.07.09

  • Bearbeite folgende Aufgaben und lade die Arbeitsergebnisse auf den Server (siehe unten)! Die Dateinemen sollen deinen Familiennamen tragen.

    übungAufgabe-1  (Keine Gruppenarbeit!)
    Entwickelt eine Aufgabenstellung für Niki und stellt ein passendes Arbeitsfeld zur Verfügung. Schreibt dazu einen Lösungsvorschlag als Struktogramm und Quelltext in (Niki-)Pascal.
    Alles muss in ein Dokument (z.B. Word-Datei) eingebunden werden. Diese Datei muss dann auf den Server geladen werden.
  • Link zum Hochladen der Word-Datei Aufgabe
  • feld2
    übungAufgabe-2
    Niki soll die Straße vor der Schule von Kippen befreien. Der hebt alles auf und legt den Unrat in den Behälter.
    Schreibe den Quelltext, speichere ihn unter deinem Namen ab und lade die Datei auf den Server.
  • Link zum Hochladen der Pascal-Datei! Aufgabe
Nur Thema 9 anzeigen
10

Dieser Kurs enthält 9 Einheiten, die entsprechend der Behandlung im Unterricht sichtbar gemacht werden!
Nur Thema 10 anzeigen