functions
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
functions [2017/07/03 10:53] – [Bash] gg | functions [2017/07/05 11:15] (current) – [Übungen] gg | ||
---|---|---|---|
Line 11: | Line 11: | ||
Funktionen können **iterativ** oder **rekursiv** sein. Rekursionen sind recht elegant, für Anfänger aber oft schwer zu verstehen. Eine rekursive Funktion ruft sich selbst mit veränderten Parametern auf. \\ | Funktionen können **iterativ** oder **rekursiv** sein. Rekursionen sind recht elegant, für Anfänger aber oft schwer zu verstehen. Eine rekursive Funktion ruft sich selbst mit veränderten Parametern auf. \\ | ||
- | In den **folgenden Beispielen** wird die **Fakultät** einer Zahl berechnet. Einmal iterativ und einmal rekursiv. Die Fakultät einer Zahl ist äusserst einfach erklärt. Die Fakultät von 1 ist 1, die Fakultät von 2 ist 2*1, die Fakultät von 3 ist 3*2*1 und so weiter. Die Fakultät wird in der Mathematik auch mit einem ! gekennzeichnet. 4! = 4*3*2*1. Einfach, oder? | + | ===== Beispiele ===== |
- | ===== Bash ===== | + | In den **folgenden Beispielen** wird die **Fakultät** einer Zahl berechnet. Einmal iterativ und einmal rekursiv. Die Fakultät einer Zahl ist äusserst einfach erklärt. Die Fakultät von 1 ist 1, die Fakultät von 2 ist 2*1, die Fakultät von 3 ist 3*2*1 und so weiter. Die Fakultät wird in der Mathematik auch mit einem ! gekennzeichnet. 4! = 4*3*2*1. Einfach, oder? |
+ | ==== Bash ==== | ||
+ | === Code === | ||
<code bash> | <code bash> | ||
#!/bin/bash | #!/bin/bash | ||
Line 65: | Line 67: | ||
echo "Die Fakultät von $num ist $ret2" | echo "Die Fakultät von $num ist $ret2" | ||
</ | </ | ||
- | ===== C++ ===== | + | |
+ | === Ausführen === | ||
+ | <code bash> | ||
+ | chmod +x factorial.sh # als ausführbar markieren | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | ==== C++ ==== | ||
+ | === Code === | ||
<code cpp> | <code cpp> | ||
#include < | #include < | ||
Line 115: | Line 125: | ||
} | } | ||
</ | </ | ||
- | ===== C# ===== | + | |
+ | === Kompilieren und Ausführen === | ||
+ | Die Datei factorial.cpp mit dem obigen Code erstellen | ||
+ | <code bash> | ||
+ | g++ -Wall -g -std=c++14 factorial.cpp -o factorial # kompilieren | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | ==== C# ==== | ||
+ | === Code === | ||
<code csharp> | <code csharp> | ||
using System; | using System; | ||
Line 153: | Line 172: | ||
} | } | ||
</ | </ | ||
- | ===== golang ===== | ||
+ | ==== golang ==== | ||
+ | === Code === | ||
<code go> | <code go> | ||
package main | package main | ||
Line 189: | Line 209: | ||
} | } | ||
</ | </ | ||
- | ===== Java ===== | + | |
+ | === Kompilieren und Ausführen === | ||
+ | Die Datei factorial.go erstellen und so kompilieren und ausführen: | ||
+ | <code bash> | ||
+ | go build factorial.go # kompilieren | ||
+ | ./ | ||
+ | </ | ||
+ | |||
+ | oder den [[https:// | ||
+ | |||
+ | ==== Java ==== | ||
+ | === Code === | ||
<code java> | <code java> | ||
public class Factorial { | public class Factorial { | ||
Line 225: | Line 256: | ||
} | } | ||
</ | </ | ||
- | ===== JavaScript ===== | ||
+ | === Kompilieren und ausführen === | ||
+ | Die Datei Factorial.java mit obigen Inhalt erstellen und so zum Laufen bringen: | ||
+ | <code bash> | ||
+ | javac Factorial.java | ||
+ | java Factorial | ||
+ | </ | ||
+ | |||
+ | ==== JavaScript ==== | ||
+ | === Code === | ||
<code javascript> | <code javascript> | ||
< | < | ||
Line 266: | Line 305: | ||
</ | </ | ||
- | ===== Perl ===== | + | === Ausführen |
+ | Den obigen Code in die Datei factorial.html kopieren und im Browser öffnen | ||
+ | ==== Perl ==== | ||
+ | === Code === | ||
<code perl> | <code perl> | ||
# | # | ||
Line 304: | Line 346: | ||
print "Die Fakultät von $num ist $res2\n"; | print "Die Fakultät von $num ist $res2\n"; | ||
</ | </ | ||
- | ===== PHP ===== | + | |
+ | === Ausführen === | ||
+ | Die Datei factorial.pl mit dem gezeigten Quelltext erstellen und wie folgt ausführen: | ||
+ | <code bash> | ||
+ | perl factorial.pl | ||
+ | </ | ||
+ | |||
+ | ==== PHP ==== | ||
+ | === Code === | ||
<code php> | <code php> | ||
<?php | <?php | ||
- | |||
function factorial_iterative($n) { | function factorial_iterative($n) { | ||
$result = 1; | $result = 1; | ||
Line 336: | Line 385: | ||
echo "Die Fakultät von $num ist $res2\n"; | echo "Die Fakultät von $num ist $res2\n"; | ||
</ | </ | ||
- | ===== Python ===== | ||
+ | === Ausführen === | ||
+ | Die Datei factorial.php mit dem gezeigten Code füllen und auf folgende Weise ausführen | ||
+ | <code bash> | ||
+ | php factorial.php | ||
+ | </ | ||
+ | |||
+ | ==== Python ==== | ||
+ | === Code === | ||
<code python> | <code python> | ||
# | # | ||
Line 366: | Line 422: | ||
print(" | print(" | ||
</ | </ | ||
+ | |||
+ | === Ausführen === | ||
+ | Die Datei factorial.py mit dem gezeigten Inhalt erstellen und wie folgt ausführen: | ||
+ | <code bash> | ||
+ | python3 factorial.py | ||
+ | </ | ||
+ | |||
+ | ===== Übungen ===== | ||
+ | * Schreibe eine Funktion, die zwei Zahlen multipliziert und das Ergebnis zurück gibt | ||
+ | * Schreibe eine Funktion, die prüft, ob eine Zahl gerade oder ungerade ist. Das Ergebnis soll true oder false sein | ||
+ | * Schreibe eine Funktion, die prüft, ob eine Zahl ohne Rest durch drei dividierbar ist | ||
+ | * Schreibe eine Funktion, die prüft, ob ein Datum korrekt ist | ||
+ | * Schreibe eine Funktion, die eine Datei (Parameter ist der Pfad der Datei) ausliest und ausgibt |
functions.1499072018.txt.gz · Last modified: 2017/07/03 10:53 by gg