Brainfuck Forum
Würden Sie gerne auf diese Nachricht reagieren? Erstellen Sie einen Account in wenigen Klicks oder loggen Sie sich ein, um fortzufahren.

Tutorial für IF Abfragen

Nach unten

Tutorial für IF Abfragen Empty Tutorial für IF Abfragen

Beitrag von Admin Mo Jul 16, 2012 10:20 pm

Ne Programmiersprache macht ohne Abfragen (meist IF) keinen Sinn. Ich hab hier mal zwei Beispiele geschrieben. Der Kürze halber ist "0" hier WAHR und alles andere "FALSCH".

Beispiel 1: IF x = True

Wir müssen also überprüfen ob eine Zelle, die wir hier einfach mal "x" nennen "0" ist. Für dieses Programm benötigen wir 2 Pufferzellen, die in etwa so funktionieren wie ein Arbeitsspeicher im Programm. Ich habe hier mal Zelle 0 und Zelle 1 als Pufferzelle, und Zelle 2 als "x" definiert:

Programm = [Puffer, Puffer, x]

"x" lasse ich den Benutzer definieren, mit der Benutzereingabe ";" gibt er eine Zahl ein. Ist diese "0" wird ein vorgegebener Code ausgeführt, wenn nicht nicht. Der Code ist in diesem Beispiel ">>>>++++<<<<", also in Zelle 4 "4" zu schreiben.

Bei Übereinstimmung: [Puffer, Puffer, x, 4]
Bei x <> 0 : [Puffer, Puffer, x, 0]

Der Code kann natürlich beliebig sein. Zum Beispiel ne Textausgabe o.ä.

Code:
[-]>[-]              Buffer leeren
>;                    Input
[<<+>+>-]<<[>>+<<-]+
>[<->[-]]            Buffer ordnen

<[

>>>>++++              Der folgende Code wird ausgefuehrt
<<<<-                wenn x gleich 0 ist
 
 ]

>>>>:

Beispiel 2: IF x = y

Wenn man dem Benutzer sagt "Gib 0 ein, sonst..." guckt der irgendwann so Shocked . Im folgenden Skript überprüfen wir ob die Benutzereingabe eine anderen Zelle entspricht. Dazu der Programmaufbau: [Puffer / Eingabe, Puffer / Konstante / x]

Jetzt denkt man sich: dafuq? Eine Zelle als Puffer, Konstante und x? Nun ja, hört sich schwieriger an als es ist.
Zunächst schreibt der User seinen Wert in Zelle 0. Dann wird eine Subtraktion von Zelle 1 und Zelle 0 durchgeführt. So denn der Wert von Zelle 1 und 0 übereinstimmt (Benutzer = Konstante), sollte in Zelle 1 das Ergebnis der Subtraktion stehen. Das ist bei Übereinstimmung "0", also WAHR. Dann folgt der gewohnte IF-Algorhythmus und alles ist wie oben.

Auch bei diesem Beispiel ist der Code, der ausgeführt wird, sobald es eine Übereinstimmung gibt, in die 4. Zelle 4 zu schreiben. Wer will oder es braucht, kann jetzt noch mit "[-]" jeden Puffer leeren. Aber das ist Sache des Programmierers.

Code:
>;                  Benutzereingabe x
>+++                Konstante y

<[>-<-]>
[<<+>+>-]<<[>>+<<-]+
>[<->[-]]

<[
  >>>>++++            Wenn x gleich y dann wird
  <<<<-              dieser Code ausgefuehrt
 ]

>>>>:

MfG study

Admin
Admin

Anzahl der Beiträge : 10
Anmeldedatum : 16.07.12

https://brainfuck.forenverzeichnis.com

Nach oben Nach unten

Nach oben


 
Befugnisse in diesem Forum
Sie können in diesem Forum nicht antworten