Informatik_Niki_Programmieren

  • Ich habe eine Aufgabe zu Niki, die ich seit Stunden versuche zu lösen: http://www.hupfeld-software.de/beschreibung/aufgaben.htm
    das, was ich brauche ist die "Aufgabe Tunnel"
    Das habe ich bis jetzt gemacht, aber das klppt nicht.Kann mir jemand helfen? Bitte!

    Program Tunnel;
    Procedure drehe_rechts;
    Begin
    drehe_links;
    drehe_links;
    drehe_links;
    end;

    Begin
    While vorne_frei do
    begin
    vor;
    While not vorne_frei do
    begin
    drehe_links;
    End
    End;
    End.
    Else
    begin;
    drehe_rechts;

    End;
    End.
    Begin
    If Platz_belegt then nimm_auf;
    End;
    End;
    End.

  • Wenn du die Richtung überprüfst in die es weitergehen soll, dann musst du dich zuerst ein mal nach rechts drehen. Danach überprüfst du für die Richtung in die du gerade guckst ob du dort entlang gehen kannst oder du drehst dich eins nach links und machst das gleiche noch einmal. Warum die erste Rechtsdrehung? weil du ansonsten bei einer Rechtskurve zuerst die den Weg findest den du gekommen bist und wieder zurück fährst.

    Wenn du eine kleine Änderung machst und nach jedem Schritt überprüfst wolang du gehen musst, auch dann wenn vor dir noch frei wäre, dann würde das Programm aus jedem Labyrint herausfinden, das keine Kreise enthält.

    Fehler, Ausdruck, Erklärung nötig
    Keine Korrekturen per Privatnachricht.

  • Vielen Dank für die Antwort!
    Bevor ich deine Antwort gesehen habe, saß ich noch lange an der Aufgabe und hab sie sogar etwas verbessert, aber sie war nicht ganz richtig.Dann hab ich das hier gefunden:
    http://mitra.ch/dies-das/labyrinth
    Das ist viel einfacher, als ich das gemacht habe. Ich bin nicht drauf gekommen, weil ich ganz vergessen habe, dass es noch die Sensoren rechts_frei und links_frei gibt.

  • Ich kenne die Programmiersprache ja nicht sonst hätte ich dich auch darauf hingewiesen.

    Seltsame Programmiersprache übrigens. Andererseits könnte die sogar turing-vollständig sein, ja ich glaub ich könnte damit eine Turing-Maschine programmieren. :eek:

    Fehler, Ausdruck, Erklärung nötig
    Keine Korrekturen per Privatnachricht.

  • Du hast mir also geholfen, ohne dass du die Sprache kennst...Großes Lob!
    Eine Turingmaschine willst du programmieren? Dann viel Spaß! Mir hat schon der Niki gereicht:) wenn du Lust hast dich über die "seltsame" Sprache zu informieren, hier eine schöne Seite über Niki: http://www.hupfeld-software.de/beschreibung/

  • Solche "Lernsprachen" kann man meistens auch dann lesen, wenn man nicht darin programmieren könnte und schließlich ist das mein Beruf, von mir wird erwartet, dass ich Probleme in jeder Programmiersprache erfassen kann. (Und ganz ehrlich, wenn man Brainfuck und Befunge programmieren kann, dann überrascht einen kaum noch etwas.)

    Fehler, Ausdruck, Erklärung nötig
    Keine Korrekturen per Privatnachricht.