From ebb294c6f2704a9eccf8861f4c77c8f045391572 Mon Sep 17 00:00:00 2001 From: Urban Fuchs Date: Sun, 18 Oct 2015 13:32:01 +0200 Subject: translate brainfuck tutorial to German --- de-de/brainfuck-de.html.markdown | 84 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) create mode 100644 de-de/brainfuck-de.html.markdown (limited to 'de-de/brainfuck-de.html.markdown') diff --git a/de-de/brainfuck-de.html.markdown b/de-de/brainfuck-de.html.markdown new file mode 100644 index 00000000..a5bceb10 --- /dev/null +++ b/de-de/brainfuck-de.html.markdown @@ -0,0 +1,84 @@ +--- +language: brainfuck +contributors: + - ["Prajit Ramachandran", "http://prajitr.github.io/"] + - ["Mathias Bynens", "http://mathiasbynens.be/"] +--- + +Brainfuck ist eine extrem minimalistische Turing-vollständige Programmiersprache +mit lediglich 8 Befehlen. + +Mit dem [brainfuck-visualizer](http://fatiherikli.github.io/brainfuck-visualizer/) kann +Brainfuck im Browser ausprobiert werden. + +``` +Alle Zeichen außer "><+-.,[]" (ohne die Klammern) werden ignoriert. + +Brainfuck besteht aus einem Array mit unendlich vielen Elementen, die alle mit Null initalisiert +sind und einem Datenzeiger auf das aktuelle Element. + +Es gibt acht Befehle: ++ : Erhöht den Wert an der aktuellen Stelle um Eins. +- : Verringert den Wert an der aktuellen Stelle um Eins. +> : Bewegt den Zeiger um eine Stelle weiter. +< : Bewegt den Zeiger um eine Stelle zurück. +. : Gibt den Wert der aktuellen Zelle als ASCII Wert aus (z.B. 65 = 'A'). +, : Liest ein einzelnes Zeichen von der Standardeingabe und speichert dessen ASCII Wert in der aktuellen Zelle. +[ : Wenn der Wert des aktuellen Elements Null ist, bewege des Zeiger hinter den + zugehörigen ]-Befehl. + Ansonsten, bewege den Zeiger ein Element weiter. +] : Wenn der Wert des aktuellen Elements Null ist, bewege des Zeiger um eine Stelle + weiter. + Ansonsten, bewege den Zeiger hinter den zugehörigen [-Befehl. + +[ und ] bilden eine while-Schleife. Offensichtlich müssen sie paarweise vorkommen. + +Schauen wir uns einige grundlegende Programme an. + +++++++ [ > ++++++++++ < - ] > +++++ . + +Dieses Programm gibt den Buchstaben 'A' aus. Zunächst erhöht es den Wert der 1. Zelle auf 6. +Diese erste Zelle wird für die Schleife verwendet. Danach beginnt das Programm +die Schleife ([) und geht vor zu Zelle #2. Es erhöht den Zellwert inkrementell 10 Mal, geht dann zurück +zu Zelle #1, und verringert Zelle #1. Diese Schleife wird 6 Mal durchlaufen (nach 6 +Durchläufen ist der Wert der Zelle #1 auf 0 reduziert, dadurch wird die Schleife abgebrochen +und das Programm hinter dem korrespondierenden ] fortgesetzt). + +An dieser Stelle befinden wir uns an Zelle #1, die jetzt den Wert 0 hat, während Zelle #2 +den Wert 60 hat. Wir gehen vor zu Zelle #2, inkrementieren 5 Mal, bis zum Wert 65, +und geben dann den Wert der Zelle #2 aus. 65 ist ein 'A' im ASCII Zeichensatz, +daher wird 'A' am Terminal ausgegeben.. + + +, [ > + < - ] > . + +Dieses Programm liest ein Zeichen von der Benutzereingabe und schreibt dessen Wert +in Zelle #1. Danach beginnt eine Schleife. Rücke vor auf Zelle #2, erhöhe den Wert der Zelle #2, +gehe zurück auf Zelle #1, verringere den Wert der Zelle #1. Dies geht solange bis +Zelle #1 den Wert 0 und Zelle #2 den alten Wert aus #1 hat. Da wir am Ende der Schleife +bie Zelle #1 sind, gehe vor zu Zelle #2 und gibt denb Wert als ASCII Zeichen aus. + +Beachte biite, dass die Leerzeichen nur aus Gründen der Lesbarkeit geschrieben werden. +Man könnte genauso schreiben: + +,[>+<-]>. + +Versuche herauszufinden, was dieses Programm macht: + +,>,< [ > [ >+ >+ << -] >> [- << + >>] <<< -] >> + +Dieses Programm nimmt zwei Zahlen als Eingabe und multipliziert sie. + +Im Wesentlichen liest es zunächst zwei Werte ein. Dann beginnt die äußere Schleife +mit Zelle #1 als Zähler. Danach geht das Programm zu Zelle #2 vor und startet die innere Schleife +mit Zelle #2 als Zähler. Diese zählt Zelle #3 hoch. Es gibt jedoch ein Problem: +Am Ende der inneren Schleife hat Zelle #2 den Wert Null. Daher würde die innere +Schleife beim nächsten Durchgang nicht mehr funktionieren. Daher wird auch Zelle #4 +erhöht und anschließend in Zelle #2 zurückkopiert. +Am Ende steht in Zelle #3 das Ergebnis. +``` + +Das ist Brainfuck. Nicht so schwierig, oder? Zum Spaß kannst du dein eigenes Brainfuchs +Programm schreiben oder du schreibst einen Brainfuck Interpreter in einer anderen +Programmiersprache. Der Interpreter lässt sich ziemlich einfach implementieren. +Falls du Masochist bist, kannst du auch versuchen, einen Brainfuck Interpreter in Brainfuck zu implementieren. -- cgit v1.2.3 From 279bfad1cd365637774213632955923201225d3e Mon Sep 17 00:00:00 2001 From: Urban Fuchs Date: Fri, 11 Mar 2016 11:29:29 +0100 Subject: add filename and language code --- de-de/brainfuck-de.html.markdown | 3 +++ 1 file changed, 3 insertions(+) (limited to 'de-de/brainfuck-de.html.markdown') diff --git a/de-de/brainfuck-de.html.markdown b/de-de/brainfuck-de.html.markdown index a5bceb10..c1050a5b 100644 --- a/de-de/brainfuck-de.html.markdown +++ b/de-de/brainfuck-de.html.markdown @@ -3,6 +3,9 @@ language: brainfuck contributors: - ["Prajit Ramachandran", "http://prajitr.github.io/"] - ["Mathias Bynens", "http://mathiasbynens.be/"] +filename: brainfuck-de +lang: de-de + --- Brainfuck ist eine extrem minimalistische Turing-vollständige Programmiersprache -- cgit v1.2.3 From dabebb1cffafa5e37ad5c4266918e5f7097568db Mon Sep 17 00:00:00 2001 From: Urban Fuchs Date: Tue, 15 Mar 2016 15:19:54 +0100 Subject: add translator and fix typo --- de-de/brainfuck-de.html.markdown | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'de-de/brainfuck-de.html.markdown') diff --git a/de-de/brainfuck-de.html.markdown b/de-de/brainfuck-de.html.markdown index c1050a5b..dd62dd67 100644 --- a/de-de/brainfuck-de.html.markdown +++ b/de-de/brainfuck-de.html.markdown @@ -3,6 +3,8 @@ language: brainfuck contributors: - ["Prajit Ramachandran", "http://prajitr.github.io/"] - ["Mathias Bynens", "http://mathiasbynens.be/"] +translators: + - ["urfuchs", "https://github.com/urfuchs"] filename: brainfuck-de lang: de-de @@ -81,7 +83,7 @@ erhöht und anschließend in Zelle #2 zurückkopiert. Am Ende steht in Zelle #3 das Ergebnis. ``` -Das ist Brainfuck. Nicht so schwierig, oder? Zum Spaß kannst du dein eigenes Brainfuchs +Das ist Brainfuck. Nicht so schwierig, oder? Zum Spaß kannst du dein eigenes Brainfuck Programm schreiben oder du schreibst einen Brainfuck Interpreter in einer anderen Programmiersprache. Der Interpreter lässt sich ziemlich einfach implementieren. Falls du Masochist bist, kannst du auch versuchen, einen Brainfuck Interpreter in Brainfuck zu implementieren. -- cgit v1.2.3