3.1 Sequenz
Innerhalb eines Algorithmus ist eine Sequenz eine Aufeinanderfolge vom Anweisungen, wie beispielsweise in der Abbildung 1 dargestellt.
Algorithmus »Bruttopreis«
Der Algorithmus »Bruttopreis« besteht aus fünf aufeinanderfolgenden Anweisungen (im Struktogramm farblich rot hervorgehoben).
- Die Variablen »nettopreis«, »steuersatz«, »steuerbetrag« und »bruttopreis« des Algorithmus sind vom Datentyp Gleitkommazahl (float/double).
-
Der Algorithmus berechnet den Bruttopreis eines Einkaufsartikels aus dem Nettopreis und dem Mehrwertsteuerbetrag.
Der einzugebende Mehrwertsteuersatz sollte dabei 19% oder 7% betragen.
Der Structorizer ist ein Editor, um Algorithmen grafisch in Struktogrammen darzustellen und zudem
die Korrektheit der Algorithmen zu testen.
Der Structorizer kann aus
dem Internet heruntergeladen und auf dem Computer installiert werden.
- Im Structorizer-Menü »Einstellungen« können u. a. in den Untermenüs »Sprache« und »Strukturen« die gewünschten Einstellungen vorgenommen werden.
- Hier – im Themenbereich Algorithmen – ist im Structorizer die Sprache Deutsch eingestellt und die Struktur der if-else-Anweisung für den einen Zweig statt TRUE auf wahr und für den anderen Zweig statt FALSE auf falsch geändert.
Am Beispiel des Algorithmus »Bruttopreis« wird die Arbeitsweise des Structorizer demonstriert.
-
In der Abbildung 1 ist links der mit dem Structorizer grafisch dargestellte Algorithmus und rechts
der vom Structorizer generierte Python-Quelltext – zum Testen des Algorithmus –
zu sehen.
Abbildung 1: Struktogramm (links) und der generierte Python-Quelltext (rechts) -
In der Abbildung 2 ist der vom Structorizer generierte Python-Quelltext zu sehen.
Der Python-Quelltext ist intern im Structorizer als Programm zum Testen des Algorithmus ausführbar.
Abbildung 2: Vom Structorizer generierter Python-Quelltext
Das Testen des Algorithmus erfolgt im Structorizer mit dem Debugger, indem das generierte Python-Programm abläuft.
-
Der Debugger wird im Structorizer-Menü im Menüpunkt »Debug« durch Anklicken von »Debugger«
gestartet (Abbildung 3).
Abbildung 3: Starten des Debuggers - Vor dem Beginn des Ablaufs des Tests wird der Haken im Kästchen ☑ Ausgabe im Fenster gesetzt (Abbildung 4).
-
Der Ablauf des Tests beginnt, sobald die Taste ▶ angeklickt wird (Abbildung 4).
Abbildung 4: Test beginnt durch Anklicken von ▶ -
Im Fenster »Eingabe« wird für die Variable »nettopreis« der Wert eingegeben (Abbildung 5).
Abbildung 5: Eingabe des Nettopreises -
Im Fenster »Eingabe« wird für die Variable »steuersatz« der Wert eingegeben (Abbildung 6).
Abbildung 6: Eingabe des Mehrwertsteuersatzes -
Im Fenster »Ausgabe« wird die Lösung ausgegeben (Abbildung 7).
Abbildung 7: Ausgabe das Bruttopreises
Übung
Stelle selbst den Algorithmus »Bruttopreis« in einem Struktogramm mit dem Structorizer dar.
-
Teste den Algorithmus anhand der folgenden Eingaben:
- nettopreis 1000.00 und steuersatz 19.0
- nettopreis 1000.00 und steuersatz 7.0
- nettopreis 11.21 steuersatz 19.0
- nettopreis 11.21 steuersatz 7.0
Ansonsten behandelt der Structorizer die Variablen wie von Datentyp Ganzzahl (int), was zu Fehlern führen
kann.
- Der Algorithmus »Bruttopreis« ist in den folgenden Programmen »bruttopreis.java« und »bruttopreis.py« implementiert.
import java.util.Scanner;
public class Bruttopreis {
public static void main(String[] args) {
Scanner input=new Scanner(System.in);
System.out.print("Nettopreis: ");
double nettopreis=input.nextDouble();
System.out.print("Mehrwertsteuersatz: ");
double steuersatz=input.nextDouble();
double steuerbetrag=nettopreis*steuersatz/100;
double bruttopreis=nettopreis+steuerbetrag;
System.out.println(String.format("Bruttopreis: %.2f€",
(bruttopreis)));
input.close();
}
}
nettopreis=float(input("Nettopreis in €: "))
steuersatz=float(input("Mehrwertsteuersatz in %: "))
steuerbetrag=nettopreis*steuersatz/100
bruttopreis=nettopreis+steuerbetrag
print(f"Bruttopreis: {bruttopreis:.2f} €")
-
Da Preisangaben stets mit zwei Nachkommastellen erfolgen, müssen in den Programmen die Eingaben
der Gleitkommazahlen – wie im folgenden Beispiel – mit zwei Nachkommastellen
(im Festkommaformat[1])
erfolgen:
- Nettopreis in €: 11.21
-
Mehrwertsteuersatz in %: 19
(19 ist dabei eine ganzzahlige Gleitkommazahl)
- Bruttopreis: 13.34 €
Aufgabe A8
Entwickle einen Algorithmus »Kreis« zum Berechnen des Umfangs und Flächeninhalts eines Kreises.
- Stelle den Algorithmus in einem Struktogramm mit dem Structorizer dar.[2]
- Teste den Algorithmus.
Aufgabe A9
Entwickle einen Algorithmus »Quader« zum Berechnen des Volumens eines Quaders.
- Stelle den Algorithmus in einem Struktogramm mit dem Structorizer dar.
- Teste den Algorithmus.
Aufgabe A10
In der Abbildung 2 ist der Algorithmus »Unbekannt« im Struktogramm dargestellt.
- Die Variablen »elternteil«, »kind» und »differenz« des Algorithmus sind vom Datentyp Ganzzahl (int).
- Eine Eingabe ist das Alter eines Elternteils.
- Die andere Eingabe ist das Alter eines Kindes des Elternteils.
Beantworte die Fragen:
- Welche Werte gibt der Algorithmus für die folgenden Eingaben aus?
- Die Eingabe des Alters des Elternteils ist 46.
- Die Eingabe des Alters des Kindes ist 7.
- Die Eingabe ist das Alter eines deiner Elternteile.
- Die Eingabe deines Alters.
- Was für ein Problem löst der Algorithmus?