Grundstruktur:
IF Bedingung THEN Anweisung; Die Anweisung hinter THEN wird nur dann ausgeführt, wenn die vorgegebene Bedingung erfüllt ist.
PÜ3.1.1. Programm zur Rabattberechnung
a) Gegeben sind die Real-Variablen anzahl und einzelpreis; Zu berechnen sind grundpreis, rabattsatz, rabatt, und endpreis, wenn folgendes gilt:
Grundsätzlich wird kein Rabatt gewährt.
Falls die Anzahl gleich oder größer 100 beträgt, wird ein Rabattsatz von 5% angerechnet.Notieren Sie die nötigen Programmzeilen!
b) Entwerfen Sie ein Formular gemäß der nebenstehenden Abbildung und fügen Sie den unter 1. erarbeiteten Programmtext zur Ereignisbehandlung von Button1Click (Kasse) ein!
Beachten Sie, dass als Eingabevariablen nur anzahl (über Edit1.Text) und einzelpreis (über Edit2.Text) einzulesen sind.
Alle übrigen Textfelder dienen nur der Ausgabe!Testen Sie mehrfach unter Berücksichtigung der bedingten Rabattvergabe!
Sichern Sie das Projekt als rabatt1.dpr!
c) Das Programm ist unter Verwendung einseitiger Alternativen mit folgenden gestaffelten Rabattvergaben zu erweitern:
Anzahl Rabattsatz 0... 99 0% 100... 499 5% 500... 999 10% 1000...1499 15% 1500...1999 20% ab 2000 30% Sichern Sie nun das erweiterte Projekt unter gleichem Namen !
PÜ3.1.2. Berechnung und Auswertung des Kraftstoffverbrauches
Es ist ein Programm zu entwickeln, welches nach Eingabe der gefahrenen Kilometer und verbrauchten Liter Kraftstoff den Kraftstoffverbrauch pro 100 km ermittelt und ausgibt.
Durch bedingte Anweisungen soll das Programm wie folgt reagieren:
- falls der Verbrauch > 8 l/100km, dann Ausgabe: Verbrauch ist zu hoch!
- falls der Verbrauch < 4 l/100km, dann Ausgabe: Verbrauch ist unrealistisch!a) Entwerfen Sie unter Delphi ein geeignetes Formular! b) Programmieren Sie eine ButtonClick-Ereignisbehandlung, welche obiger Aufgabe entspricht! c) Test / Korrektur / Sicherung
Grundstruktur der zweiseitigen Alternative:
IF Bedingung THEN Anweisung_1 ELSE Anweisung_2;
Die Anweisung hinter THEN wird ausgeführt, wenn die vorgegebene Bedingung erfüllt ist, andernfalls wird die Anweisung hinter ELSE ausgeführt.
Grundstruktur der Verbundanweisung:
IF Bedingung THEN
BEGIN
Anweisung_1;
Anweisung_2;
...
Anweisung_n
END
ELSE
...;Soll in einer syntaktischen Struktur eine Folge von n Anweisungen genau so behandelt werden, als würde es sich nur um eine einzige Anweisung handeln, so verwende man begin und end im Sinne von mathematischen Klammern. Zur Bewahrung der Übersicht in zunehmend komplexer werdenden Quelltexten ist es dringend anzuraten, sich unterordnende bzw. eingeschachtelte Teilstrukturen nach rechts einzurücken.
Im Beispiel ordnet sich das "BEGIN" dem "IF-THEN" unter und die "Anweisung_1" wiederum dem "BEGIN" usw.
PÜ3.2.1. Quadratwurzel mit Prüfung auf negativen Eingabewert
Aufgabe: Ein Delphi-Formular enthalte die Komponenten Edit1, Edit2 und Button1. Das Ereignis "Button1Click" soll folgende Reaktion hervorrufen:
Ist die Zahl in Edit1 größer oder gleich Null, so wird deren Wurzel berechnet und anschließend in Edit2 als Text ausgegeben. Andernfalls soll in Edit2 eine Fehlermeldung ausgegeben werden.
Formular: ![]()
PÜ3.2.2. Kraftstoffverbrauch Variante II
Das Programm zur Berechnung und Auswertung des Kraftstoffverbrauches ist folgendermaßen zu erweitern:
- Falls der Verbrauch im normalen Bereich liegt, also 4 l/100km <= verbrauch <= 8 l/100km soll die Ausschrift erfolgen: "normaler Verbrauch".
- Zur optischen Unterstützung der Ausgabe soll das entsprechende Edit-Feld bei normalen Verbrauch grün, bei zu hohem Verbrauch rot und bei unrealistisch geringem Verbrauch gelb eingefärbt werden.
Unter Verwendung der zweiseitigen Alternative und der Verbundanweisung entwerfe man zunächst ein Struktogramm und erweitere danach das bereits vorhandenen "Benzinprogramm".
Ideen zur Erweiterung:
Die vorliegenden Gegebenheiten entsprechen einem "Allerweltsauto" mit 1300cm³ - Benzinmotor und 60 PS, decken also nur eine stark begrenzte Problemklasse ab.
- Ermitteln Sie Verbrauchsnormative für Pkws mit stärkerer und schwächerer Motorisierung, getrennt nach Benzin- und Dieselmotor.
- Modifizieren Sie danach die Sollwerte für Minimal- und Maximalverbrauch (bisher konstant 4 bzw. 8 l/100km) als Variablen mit entsprechenden prozentualen Ab- oder Zuschlägen für Motorart, Leistung und Hubraum.
- Nach Erweiterung der Oberfläche um die zusätzlichen Eingabekomponenten ist der Algorithmus entsprechend zu verfeinern und in das Programm zu implementieren.