From 6690ad941fc0545e110fe4bd19b57914adf82672 Mon Sep 17 00:00:00 2001 From: caminsha Date: Thu, 9 Jan 2020 23:20:58 +0100 Subject: [bc/de-de] added translation in german for bc --- de-de/bc.html.markdown | 101 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 101 insertions(+) create mode 100644 de-de/bc.html.markdown diff --git a/de-de/bc.html.markdown b/de-de/bc.html.markdown new file mode 100644 index 00000000..9aedd93b --- /dev/null +++ b/de-de/bc.html.markdown @@ -0,0 +1,101 @@ +--- +language: bc +contributors: + - ["caminsha", "https://github.com/caminsha"] +filename: learnbc-de.bc +lang: de-de +--- +```c +/* Das is ein mehr- +zeiliger Kommentar */ +# Das ist ein (einzeiliger) Kommentar (in GNU bc). + + /*1. Variablen und Kontrollstrukturen*/ +num = 45 /* Alle Variablen speichern nur Doubles und es ist + nicht möglich String-Konstanten direkt zu speichern */ +num = 45; /* Es kann nach jedem Statement ein optionales Semikolon + hinzugefügt werden */ +/* Blöcke werden mit den Operatoren {} (ähnlich wie in C) bezeichnet */ +while(num < 50) { + num += 1 /* äquivalent zu num=num+1. + a = a Op b ist äquivalent zu a Op= b*/ +} +/* Ausserdem gibt es ++ (Inkrement) und -- (Dekrement) Operatoren */ +/* Es gibt 3 spezielle Variablen: +scale: definiert die Anzahl Nachkommastellen +ibase: definiert die Basis der Eingabe +obase: definiert die Basis der Ausgabe*/ +/*Wenn-Bedingungen:*/ +hour = read() /*Eingabe einer Zahl*/ + +if(hour < 12) { /*Operatoren sind genau wie in C*/ + print "Guten Morgen\n" /*"print" outputs strings or variables + print "Guten Morgen\n" /*"print" Gibt Strings oder Variablen + mit einem Komma separiert aus.*/ +} else if(hour == 12) { + print "Hallo\n" + /* Escape-Sequenzen starten mite einem \ in einem String. + Um Escape-Sequenzen klarer zu machen, ist hier eine vereinfachte + Liste, welche in bc funktioneren.: + \b: Backspace + \c: Wagenrücklauf (carriage return) + \n: Zeilenumbruch + \t: Tab + \\: Backslash*/ +} else { + /* Standardmässig sind Variablen global. */ + thisIsGlobal = 5 + /*Variablen können lokal gemacht werden. Benutze das Schlüsselwort "auto" in einer Funktion.*/ +} + +/* Jede Variable hat als Voreinstellung den Wert 0. */ +num = blankVariable /*num wurde auf 0 gesetzt.*/ + +/*Wie in C ist nur 0 falsch.*/ +if(!num) {print "false\n"} + +/*Im Gegensatz zu C hat bc die Operatoren ?: nicht. Zum Beispiel +führt dieser Codeblok zu einem Fehler: +a = (num) ? 1 : 0 +/*Jedoch kann dies simuliert werden:*/ +a = (num) && (1) || (0) /*&& ist das UND, || ist das ODER*/ + +/*For-Schleifen*/ +num = 0 +for(i = 1; i <= 100; i++) {/*Gleich wie die For-Schleife in C*/ + num += i +} + + /*2.Funktionen und Arrays*/ +define fac(n) { /*Definiere eine Funktion mit define*/ + if(n == 1 || n == 0) { + return 1 /*Gebe einen Wert zurück*/ + } + return n * fac(n - 1) /*Rekursion ist möglich*/ +} + +/*Closures und anonyme Funktionen sind nicht möglich */ + +num = fac(4) /*24*/ + +/*Dies ist ein Beispiel von lokalen Variabeln.*/ +define x(n) { + auto x + x = 1 + return n + x +} +x(3) /*4*/ +print x /*Es stellt sich heraus, dass x ausserhalb der Funktion nicht zugänglich ist.*/ +/*Arrays sind äquivalent zu C Arrays.*/ +for(i = 0; i <= 3; i++) { + a[i] = 1 +} +/*Greife wie folgt darauf zu:*/ +print a[0], " ", a[1], " ", a[2], " ", a[3], "\n" +quit /* Füge diese Codezeile hinzu, um sicherzustellen, dass +das Programm beendet. Diese Codezeile ist optional.*/ +``` +Viel Spass mit diesem einfachen Rechner! (Oder dieser Programmiersprache, um exakt zu sein.) + +Das ganze Programm wurde in GNU bc geschrieben. Um es auszuführen, benutze ```bc learnbc.bc```. + -- cgit v1.2.3 From 043e4984ffa29389e3110a8f277870642df51097 Mon Sep 17 00:00:00 2001 From: caminsha Date: Thu, 30 Jan 2020 17:48:40 +0100 Subject: removed doubled line --- de-de/bc.html.markdown | 1 - 1 file changed, 1 deletion(-) diff --git a/de-de/bc.html.markdown b/de-de/bc.html.markdown index 9aedd93b..e1b51e4f 100644 --- a/de-de/bc.html.markdown +++ b/de-de/bc.html.markdown @@ -29,7 +29,6 @@ obase: definiert die Basis der Ausgabe*/ hour = read() /*Eingabe einer Zahl*/ if(hour < 12) { /*Operatoren sind genau wie in C*/ - print "Guten Morgen\n" /*"print" outputs strings or variables print "Guten Morgen\n" /*"print" Gibt Strings oder Variablen mit einem Komma separiert aus.*/ } else if(hour == 12) { -- cgit v1.2.3 From 42ce472cf95d60bbd1f64ed022c84362dfc3cf6f Mon Sep 17 00:00:00 2001 From: caminsha Date: Thu, 30 Jan 2020 17:49:10 +0100 Subject: =?UTF-8?q?removed=20Wagenr=C3=BCcklauf=20because=20it=20is=20not?= =?UTF-8?q?=20very=20common?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- de-de/bc.html.markdown | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/de-de/bc.html.markdown b/de-de/bc.html.markdown index e1b51e4f..61ae1b79 100644 --- a/de-de/bc.html.markdown +++ b/de-de/bc.html.markdown @@ -37,7 +37,7 @@ if(hour < 12) { /*Operatoren sind genau wie in C*/ Um Escape-Sequenzen klarer zu machen, ist hier eine vereinfachte Liste, welche in bc funktioneren.: \b: Backspace - \c: Wagenrücklauf (carriage return) + \c: carriage return \n: Zeilenumbruch \t: Tab \\: Backslash*/ -- cgit v1.2.3 From f3f32e2d814650db6ce633a73ba99ef0c8ceaef1 Mon Sep 17 00:00:00 2001 From: caminsha Date: Thu, 30 Jan 2020 17:49:48 +0100 Subject: made newlines so that the content is not more than 80 char --- de-de/bc.html.markdown | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/de-de/bc.html.markdown b/de-de/bc.html.markdown index 61ae1b79..3e04f2a7 100644 --- a/de-de/bc.html.markdown +++ b/de-de/bc.html.markdown @@ -44,7 +44,8 @@ if(hour < 12) { /*Operatoren sind genau wie in C*/ } else { /* Standardmässig sind Variablen global. */ thisIsGlobal = 5 - /*Variablen können lokal gemacht werden. Benutze das Schlüsselwort "auto" in einer Funktion.*/ + /*Variablen können lokal gemacht werden. Benutze das Schlüsselwort "auto" + in einer Funktion.*/ } /* Jede Variable hat als Voreinstellung den Wert 0. */ @@ -84,7 +85,8 @@ define x(n) { return n + x } x(3) /*4*/ -print x /*Es stellt sich heraus, dass x ausserhalb der Funktion nicht zugänglich ist.*/ +print x /*Es stellt sich heraus, dass x ausserhalb der Funktion nicht + zugänglich ist.*/ /*Arrays sind äquivalent zu C Arrays.*/ for(i = 0; i <= 3; i++) { a[i] = 1 -- cgit v1.2.3 From de19c7fbe18a1307a1ebcea02d683366c231b133 Mon Sep 17 00:00:00 2001 From: caminsha Date: Thu, 30 Jan 2020 17:50:09 +0100 Subject: added ternary operator --- de-de/bc.html.markdown | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/de-de/bc.html.markdown b/de-de/bc.html.markdown index 3e04f2a7..49a2878d 100644 --- a/de-de/bc.html.markdown +++ b/de-de/bc.html.markdown @@ -54,10 +54,10 @@ num = blankVariable /*num wurde auf 0 gesetzt.*/ /*Wie in C ist nur 0 falsch.*/ if(!num) {print "false\n"} -/*Im Gegensatz zu C hat bc die Operatoren ?: nicht. Zum Beispiel +/*Im Gegensatz zu C hat bc den Ternäroperator ?: nicht. Zum Beispiel führt dieser Codeblok zu einem Fehler: a = (num) ? 1 : 0 -/*Jedoch kann dies simuliert werden:*/ +Jedoch kann dies simuliert werden:*/ a = (num) && (1) || (0) /*&& ist das UND, || ist das ODER*/ /*For-Schleifen*/ -- cgit v1.2.3