Sie sind auf Seite 1von 7

Modul 04

Kontrollstrukturen und Algorithmen


1/7

Lernbereich: AE

AB : 'Verzweigungen'

Aufgabenblatt Verzweigungen
Viel Erfolg!
Einsteiger-Aufgabe:
1. Dispokredit
Gegeben ist das Struktogramm eines Kontofhrungsprogrammes. Es soll
ermitteln, ob ein Dispokredit gewhrt wird:

Eingabe Kontostand
Kontostand < 0
ja

nein
Kontostand < -1000

ja

nein

Ausgabe:
Dispo
berschritten

Ausgabe:
Dispo
in Anspruch
genommen

Welche Ausgabe macht das Programm bei folgenden Kontostnden?

2354,00

_________________________________

0,01

_________________________________

0,00

_________________________________

-3569,00

_________________________________

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
2/7
AB : 'Verzweigungen'

Einsteiger-Aufgabe:
2. Bedingungen einer if-Anweisung analysieren
Schauen Sie sich die folgenden Beispiele fr Verzweigungen in Java an.
berlegen Sie sich bitte, welcher Teil der Anweisungen ausgefhrt wird und
warum. Notieren Sie Ihre Antworten!

Beispiel 1

int a=5, b=6;


if(a<b)
{
a=b;
}
else
{
b=a;
}

Beispiel 2

int a=5, b=6, c=7;


if(a<b)
{
if(b<c)
{
a=c;
}
}

Beispiel 3

int a=5, b=6, c=7;


if(a>b)
{
a=b;
}
else
{
if(a<c)
{
a=c;
}
}

Beispiel 4

int a=5, b=6, c=7;

Achtung Falle!

if(a=b)
{
a=b;
Programmierer
}
einen
else
Fehler
{
a=c;
gemacht.
}
}
E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx
Hier hat der

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
3/7
AB : 'Verzweigungen'

Einsteiger-Aufgabe:
3. Luftqualitt in Rumen
Um die Innenraumluft-Qualitt zu bewerten, hat sich
die Bestimmung der CO2-Konzentration bewhrt. In
Klassen ohne Ventilation und bei geschlossenen
Fenstern steigt der CO2-Gehalt in der Raumluft im
Verlaufe einer Schulstunde um durchschnittlich 1500
ppm an. Vielen Studien liegt ein Grenzwert von 1000
ppm als wichtige Zielgre fr eine noch
ausreichende Raumluftqualitt zugrunde. Bei 1500
ppm CO2 geben ca. 35% der Raumnutzer
Unzufriedenheit mit der Raumluftqualitt an.
Entwickeln Sie eine Klasse Luftmessung mit dem
Attribut grenzwert.
Das Attribut ist bei der Erzeugung eines Objektes der
Klasse mit dem Wert 1000.0 zu initialisieren. (->
Konstruktor verwenden).
Die Methode pruefe() prft, ob ein Messwert, der
beim Methodenaufruf bergeben wird, unterhalb des
Grenzwertes liegt. Die Methode gibt
- den im Attribut grenzwert gespeicherten Grenzwert,
- den bergebenen Messwert (wert) und
- das Prfergebnis auf den Bildschirm aus.

a) Entwerfen Sie zunchst ein Struktogramm


fr die Methode pruefe().
b) Implementieren Sie anschlieend die Klasse.
c) Testen Sie Ihr Java-Programm, indem Sie in
main() ein Objekt von Luftmessung erzeugen
und entsprechende Methodenaufrufe machen. Die
main()-Methode darf sich in der Klasse Luftmessung befinden. Alternativ
knnen Sie aber auch eine zweite Klasse erzeugen.

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
4/7
AB : 'Verzweigungen'

Standard-Aufgabe:
4. Phythagoras
Entwickeln Sie eine Klasse MatheMachtSpass.
Sie hat die Attribute a, b und c.
Die Attribute stehen fr die drei
Seitenlngen eines Dreiecks.

Die Seitenlngen sollen bei der Erzeugung


eines Objektes entsprechend
der Angaben des Anwenders
initialisiert werden (-> Konstruktor
mit bergabeparametern).
Eine Methode
phytagoras() soll prfen, ob es sich
um ein rechtwinkliges Dreieck handelt.
Fr rechtwinklige Dreiecke gilt
bekanntlich:
a + b = c.

Eine Methode dreieck()


soll prfen, ob es sich tatschlich um
ein Dreieck handelt. Fr Dreiecke
mssen folgende drei Regel erfllt
sein:
a+b>c
a+c>b
b+c>a
Tipp: Verwenden Sie innerhalb der Methode dreieck() logische
Operatoren (UND, ODER -> in Java: &&, || ), um lediglich ein if
einzusetzen.

a) Entwerfen Sie eine Lsung in Java. Struktogramme sollen fr diese


Aufgabe nicht entwickelt werden.
b) Testen Sie das Programm durch die Erzeugung eines Objektes von
MatheMachtSpass in main(). Rufen Sie fr das Objekt die Methoden
phytagoras() und dreieck() mehrfach auf, um die Funktionalitten zu
prfen.
Geeignete Testwerte:
rechtwinkliges Dreieck -> a=3, b=4, c=5
kein Dreieck -> a=100, b=4, c=5

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
5/7
AB : 'Verzweigungen'

Standard-Aufgabe:
5. Portoberechnung
Eine Elektrofirma erhebt fr
Bestellungen unter 100 einen
Porto- und Verpackungsanteil von
5,50,
von 100 bis 200 einen Betrag von
3,
ab 200 werden keine Porto- und Verpackungskosten berechnet.
Entwickeln Sie die Klasse PortoRechner, die nur ber die Methode
berechneKosten() verfgt. Der Methode wird die Auftragssumme beim Aufruf
bergeben. Sie gibt die Auftragssumme und den Rechnungsbetrag auf der
Konsole aus (System.out.println()).

Fertigen Sie zunchst ein Struktogramm fr die Methode


berechneKosten() an und

Entwerfen Sie anschlieend die Klasse PortoRechner in Java.


Testen Sie die Klasse in geeigneter Weise.

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
6/7
AB : 'Verzweigungen'

Standard-Aufgabe:
6. Wasserverbrauch
Es soll ein Programm fr die
Jahresabrechnung des
Wasserverbrauchs einer Wohnung
erstellt werden.
Einzugeben sind der Zhlerstand des
Vorjahres und der aktuelle Stand der
Wasseruhr.
Die Wasseruhr ist mit einem
vierstelligen Zhlwerk ausgestattet.
Wenn die Verbrauchswerte ber
9999 m steigen, beginnt der Zhler
wieder mit 0000. Das Programm soll automatisch das berspringen des
Zhlwerks bercksichtigen. (Hinweis: Wie hoch wre der aktuelle Zhlerstand
tatschlich, wenn der aktuelle Zhlerstand niedriger als der Vorjahresstand
wre?)
Das Wasserwerk gewhrt dem Kunden einen gnstigeren Preis, wenn der
Verbrauch 400 m berschreitet:
Unter 400 m muss der Kunde 3,70 /m und 45 Zhlergebhr zahlen.
ber 400 m muss der Kunde 2,60 / m und 100 Zhlergebhr zahlen.
Der Kunde erhlt in der Rechnung
den Jahresverbrauch, den Preis pro m-Trinkwasser, Zhlerkosten und die
Gesamtkosten fr Trinkwasser.

Fllen Sie die Tabelle mit den gegebenen Beispielwerten aus.

Erstellen Sie ein Struktogramm zur Berechnung der Gesamtkosten


(Zhlergebhr + Wasserkosten).

Setzen Sie die Klasse Wasserzaehler in einem Java-Programm um.

Testen Sie die Methoden in geeigneter Weise.


Bsp. 1

Bsp. 2

Bsp. 3

Bsp. 4

Zhlerstand
Vorjahr

2555

9812

1236

7014

Zhlerstand
aktuell

2695

25

3100

1232

Jahresverbrauch
Preis/ m
Zhlergebhr
Gesamtkosten

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr

Lernbereich: AE

Modul 04
Kontrollstrukturen und Algorithmen
7/7
AB : 'Verzweigungen'

Aufgabe fr Fortgeschrittene
7. Schaltjahr
Eine Sicherheitsprfung vor dem Jahr 2000
ergab, dass eine Software eines Berliner
Flughafens das Jahr 2000 nicht als Schaltjahr
erkannte. Der Fehler htte, wre er nicht
rechtzeitig erkannt worden, zu groen Problemen
gefhrt. Was war geschehen?
Die Entwickler der Flughafen-Software hatten
offensichtlich den Algorithmus zur Bestimmung
eines Schaltjahres nicht korrekt implementiert.
Fr ein Schaltjahr gilt:
Ein Jahr ist ein Schaltjahr, wenn es sich ohne Rest durch 4 teilen lsst. Ist es
jedoch auch durch 100 teilbar, so ist es kein Schaltjahr. Eine Ausnahme tritt alle
400 Jahre auf. Ist ein Jahr nicht nur durch 100 teilbar, sondern auch durch 400,
so ist es trotzdem ein Schaltjahr.
Entwickeln Sie eine Klasse Schaltjahr, die lediglich die Methode
pruefeJahr() hat. pruefeJahr() hat einen bergabeparameter. Die
Methode prft, ob es sich bei der bergebenen Jahreszahl um ein Schaltjahr
handelt.

Entwerfen Sie zunchst ein Struktogramm und anschlieend ein

Java-Programm.
Tipp: Es ist sinnvoll den Modulo-Operator (in Java % ) in diesem Programm
einzusetzen. Der Modulo-Operator liefert den Rest einer Ganzzahldivision.
Beispiele: 10 % 3 = 1
8%4=0

Testen Sie die Klasse in geeigneter Weise.


Testwerte: Schaltjahre waren beispielsweise die Jahre 4, 400, 2000 und
20012. Keine Schaltjahre waren zum Beispiel die Jahre 2, 100 und 1900.

E:\IT\AE_04\NeueArbeitsbltter\AB_Verzweigungen.docx

06.06.2015
Letzte/r Bearbeiter/-in: Sr