This commit is contained in:
harald.mueller 2023-06-28 23:54:03 +02:00
parent 4febf73327
commit 3c5ccb1220

View File

@ -263,21 +263,28 @@ Beachten Sie die Ausrichtung des Texts nach der linken und der rechten Kolonne.
In diesem Code-Stück kommt auch noch die schweizerische **5-Rappen-Rundung** vor. In diesem Code-Stück kommt auch noch die schweizerische **5-Rappen-Rundung** vor.
Da wird ein Aufruf einer Unterfunktion, die in einer separaten Da wird ein Aufruf einer Unterfunktion, die in einer separaten
Skript-Datei untergebracht ist, gemacht `./round05.sh $summe`. Der Einfachkeithalber Skript-Datei untergebracht ist, gemacht `./round05.sh $summe`. Der Einfachkeit halber
wurde die Datei und die Funktion gleich benannt, was aber nicht zwingend ist. wurde die Datei und die Funktion gleich benannt, was aber nicht zwingend ist.
(Nebenbei bemerkt: Anders als in modernen Programmiersprachen, kann eine Funktion in Bash **keine** Rückgabewerte liefern.) (Nebenbei bemerkt: Anders als in modernen Programmiersprachen,
kann eine Funktion in Bash **keine** Rückgabewerte liefern. Die
Werte-Rückgabe erfolgt über `echo`, das dann vom aufrufenden Programm
entsprechend abgefangen werden muss.)
![rechnungspos3.png](x_ressources/rechnungspos3.png) ![rechnungspos3.png](x_ressources/rechnungspos3.png)
Diese Funktion geht über die Mithilfe des Programmes `bc` (Basic Calculator) mit der Funktionsweise:
Diese Funktion geht über die Mithilfe des Programmes
`bc` (Basic Calculator) mit der
Multiplikation mit 20 gemacht wird. Multiplikation mit 20 gemacht wird.
Dann erfolgt eine Addition von 0.5 und dann sofort die Dann erfolgt eine Addition von 0.5 und dann sofort die
"normale" Rundung mit einer Überführung in einen "Integer" (Ganzzahlwert), was die Kommastellen abschneidet. "normale" Rundung mit einer Überführung in einen "Integer"
(=Ganzzahlwert), was die Kommastellen abschneidet.
Am Schluss wird dann wieder durch 20 geteilt und auf 2 Stellen einen "Float" Am Schluss wird dann wieder durch 20 geteilt und auf
(Reelle Zahl) zugelassen. 2 Stellen einen "Float" (reelle Zahl, mit Kommastellen) zugelassen.
Der unterste Befehl `round05 $1` ist eigentlich er Erste. der ausgeführt wird, Der unterste Befehl `round05 $1` ist eigentlich er Erste. der ausgeführt wird,