Niki Tutorial

Kurs: Programmieren lernen mit Niki

-> gehe den Kurs Schritt für Schritt durch, bearbeite alle Aufgaben und schaue falls nötig zur Erklärung die angegebenen Videos (alle auf „YouTube.com/alexkueck11“ zu finden).

WEITERE Materialien zum Nachschlagen gibt’s auf der Materialien-Seite im Blog.

Alle Aufgaben zusammen gibst hier: Skript mit Aufgaben mit Projekt

____________________

Immer parallel beim Programmieren: Ergebnisse festhalten im Blog

Das Konzept – Die Spieleoberfläche

Video: Niki I – der Editor http://youtu.be/Fm9EBKxgahg

Spieleoberfläche

Aufgabe 1

  • Starte Niki
  • Wähle im Menü „Arbeitsfeld“ und gestalte folgende  Arbeitsfläche

Arbeitsfeld1

  • Wähle im Menü „Start“ „Teach-in“ und lasse Niki über den Berg  laufen.
  • Halte alle Erkenntnisse, die  du aus deinen Proben ziehst im Blog fest.

_______________

Das Programm

Video: Niki II – ein erstes Programm http://youtu.be/_Xdho8oHWkk

Programm

Der Compiler

deutsch/englisch übersetzen in „Computersprache: 000111000111111…..“

Prüfen, ob die korrekte Grammatik verwendet wurde und die richtige Rechtschreibung – bis auf jeden Punkt und jedes Semikolon muss alles perfekt sein, sonst gibt’s nen Fehler

Compiler

Aufgabe 2

  • Schreib das einfache Programm  ab und drücke dann auf den kleinen grünen Pfeil – was passiert?
  • Lösche das Semikolon nach vor oder den Punkt nach End – was passiert?
  • Füge ein paar Änderungen ein, z.B. schreibe erneut vor; zwischen Begin und End – was passiert?
  • Halte alle Erkenntnisse, die  du aus deinen Proben ziehst im Blog fest.

_________________

Was bringt Niki mit (was kann er schon Befehle, die er versteht)

Befehle

Aufgabe 3

  • Schreib das einfache Programm  um und füge ein paar Änderungen ein, indem du die nebenstehenden Befehle  verwendest – was passiert?
  • Was passiert, z.B., wenn Niki vor einer Wand steht und du den Befehl vor; eingibst?
  • Halte alle Erkenntnisse, die du aus deinen Proben ziehst im Blog fest.

____________________

Sensoren, auf die er reagiert

Sensoren

Aber was soll Niki mit diesen Sensorwerten tun?

Sie sind sozisagen seine „Sinne“ – und wenn bestimmte Bedingungen dieser Sinne vorliegen, soll er entsprechend reagieren.

Z.B. soll er solange vor; ausführen, wie „vorne_frei“ ist.

__________________________

Programmstrukturen

Bedingungen

Ergeben sich aus den Sensorinformationen

_________________

Schleifen

Video: Niki III – Schleifen http://youtu.be/1nKKVg1ZP5k

While-Schleife (solange …. Tue…..)

WHILE vorne_frei do

BEGIN

Vor;

END;

-> solange die Bedingung (vorne_frei) erfüllt ist, wird immer wieder das ausgeführt, was zwischen Begin und End in der Schleife steht.

___________________

Verzweigungen

Video: Niki IV – Verzweigungen  http://youtu.be/VoJ7bHxJPAg

Entweder – oder

IF vorne_frei THEN

BEGIN

vor;

END

ELSE

BEGIN

END;

Aufgabe 4

  • Was passiert, z.B., wenn Niki vor einer Wand steht und du den Befehl vor; eingibst? Vermeide den Fehler,  indem du Niki solange  den „vor“ Befehl gibst, bis er vor einer Wand steht. Dann soll der sich nach links drehen.
  • Jedes Mal, wenn Niki einen Schritt vor gemacht hat, soll er einen Krümel aufnehmen – aber nur wenn einer da ist – was passiert, wenn du nicht prüfst, ob einer da ist?
  • Schreibe das ganze so um, dass er bei jedem Schritt prüft, ob ein Krümel da ist, dann aber alle aufnimmt, die da sind und nicht nur einen.
  • Halte alle Erkenntnisse, die du aus deinen Proben ziehst im Blog fest.

______________________

Prozeduren

Video: Niki V – Prozeduren http://youtu.be/cbvpYG9f5wY

Teile des Hauptprogramms „auslagern“, um das Hauptprogramm übersichtlicher zu gestalten.

Der Name der Prozedur wird im Hauptprogramm geschrieben und beim Compilieren werden an Stelle des Namens alle in der Prozedur aufgeführten Befehle ausgeführt.

PROCEDURE test;

BEGIN

drehe_links;

drehe_links;

drehe_links;

END;

____________________

Aufgabe 5

  • Folgendes Programm sei  gegeben:

PROGRAM Test;

BEGIN

while vorne_frei do

BEGIN

vor;

END;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

drehe_links;

vor;

drehe_links;

drehe_links;

drehe_links;

vor;

END.

  • Was tut Nicki?
  • Teile das Programm in  sinnvolle Einheiten ein.
  • Gibt es immer wiederkehrende  Befehlssequenzen? Wenn ja, lagere sie jeweils in einer Prozedur aus.
  • Halte alle Erkenntnisse, die du aus deinen Proben ziehst im Blog fest.

______________________________

Abschlussaufgabe

Suche dir eine der folgenden Aufgaben aus und programmiere sie mit Niki.

Alternativ kannst du dir auch selbst ein Problem ausdenken, welches Niki lösen soll. Es muss mindestens eine Schleife, eine Verzweigung und eine Prozedur enthalten.

  • Labyrinth – lege auf dem Arbeitsfeld  ein Labyrinth an und lasse Nicki hindurch laufen (für Könner: schreibe das Programm so  allgemein, dass Nicki aus jedem Labyrinth herausfindet, welches einen Ein- und einen Ausgang hat).
  • Niki als  Walli: Niki soll einen abgegrenzten Bereich ablaufen und alle darin enthaltenen Krümel aufnehmen (für Könner: das Ablaufen soll in beliebigen Bereichen funktionieren, d.h. man kann das gleiche Programm auf verschieden      Arbeitsfelder anwenden. Eine andere Erweiterung wäre, wenn in dem abgegrenzten Arbeitsfeld noch Hindernisse enthalten sind, die Niki umlaufen muss)

____________________

Werbung

Kommentar verfassen

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit deinem WordPress.com-Konto. Abmelden /  Ändern )

Facebook-Foto

Du kommentierst mit deinem Facebook-Konto. Abmelden /  Ändern )

Verbinde mit %s

Gib Deine E-Mail-Adresse an, um dem Blog zu folgen, dann bekommst Du automatisch alle Änderungen in den Artikeln per E-Mail zugeschickt

Kategorien
%d Bloggern gefällt das: