Übungen Informatik I 08.11.05 - home.hs

Werbung
Übungsblatt „Berechnungen“
Speichern Sie die Programme jeweils in einer eigenen Klasse ab. Kommentieren Sie
jeweils die Klasse und (main-)Methoden mit einem sinnvollen Javadoc Kommentar.
Erzeugen Sie die Java Dokumentation für Ihre Programme.
Aufgabe 1 (Temperaturumrechnung)
Erstellen Sie eine Klasse Temperatur mit einer main-Methode, um eine Temperatur
gegeben in Grad Celsius in Grad Fahrenheit umzurechnen. Die Umrechungsformel ist:
Fahrenheit = 9/5 * Celsius + 32. Die beiden Temperaturen sollen jeweils in lokale
Variablen celsius und fahrenheit vom Typ double gespeichert werden.
Das Ergebnis der Berechnung – für irgendeinen Temperaturwert celsius – soll in der Form
„10.0 Grad Celsius sind 50.0 Grad Fahrenheit.“ auf dem Bildschirm ausgegeben werden
Aufgabe 2 (Zamonisches Zahlensystem, if-else)
„Da die meisten Zamonier an jeder Hand vier Finger haben, basiert die zamonische
Urmathematik auf der Zahl Vier. Es gibt die Zahlen Eins, Zwei, Drei, Vier und Doppelvier,
die eigentlich Acht bedeutet. Die dazwischenliegenden Zahlen Fünf, Sechs und Sieben
werden von der zamonischen Urmathematik als ‚Unzahlen’ verachtet, sie streiten die
Existenz dieser Zahlen schlichtweg ab. Auf die Doppelvier (8) folgt die Doppeldoppelvier
(16), darauf die Doppeldoppeldoppelvier (32), darauf die Doppeldoppeldoppeldoppelvier
(64) – und so weiter bis ins Unendliche“ [Hildegunst von Mythenmetz]
Schreiben Sie ein Java-Programm, dass für eine beliebige ganze positive Zahl (int, nicht
Zamonische Mathematik) entscheidet, ob es eine Unzahl ist oder nicht. Die zu
überprüfende Zahl kann fest im Programm codiert werden (z.B. bei Deklaration der
Zahl). Es soll jeweils ein Text „7 ist eine Unzahl“ resp. „8 ist keine Unzahl“ ausgegeben
werden. Erweitern Sie Ihr Programm, so dass bei der Ausgabe statt 8 „Doppelvier“, 16
„Doppeldoppelvier“ usw. bis 128 ausgegeben wird. Verwenden Sie nur if-else als
Kontrolanweisung.
Aufgabe 3 (Arithmetische Ausdrücke)
Gegeben Sei folgende Reihe:
1
1
1
 1

3+ 4⋅
−
+
−
+ ... 
 2 ⋅ 3 ⋅ 4 4 ⋅ 5 ⋅ 6 6 ⋅ 7 ⋅ 8 8 ⋅ 9 ⋅ 10

Berechnen Sie den Wert dieser Reihe jeweils mit Hilfe eines arithmetischen Ausdrucks für
die ersten drei, fünf und neun Glieder ohne Iterationen, ohne Verwendung von
Zwischenergebnissen und geben Sie Ergebnisse auf dem Bildschirm aus. Die
Berechnungen sollen möglichst genau werden; welcher Datentyp ist dafür am Besten
geeignet? Verwenden Sie nicht mehr als 80 Zeichen pro Zeile. Formatieren Sie den
arithmetischen Ausdruck entsprechend den in der Vorlesung vorgestellten Regeln.
Welche Zahl wird durch die Reihe berechnet?
Damit die 80 Zeichengrenze im Editor sichtbar wird, stellen Sie unter WindowsPreferences->Java->Editor wie folgt „Show print margin“ an:
Übungen Informatik I
08.11.05
Übungsblatt „Berechnungen“
Textausgabe in Java mit System.out.print()
Um einen Text auf dem Bildschirm auszugeben, kann System.out.print(“Hallo“) bzw.
System.out.println(“Hallo“) verwendet werden (System ist eine Klasse, out ein Objekt
der Klasse und print/println eine Methode des Objekts). Letztere gibt nach dem Text
noch ein Zeilenvorschub aus: alle weiteren Ausgaben erfolgen vom Anfang der nächsten
Zeile.
Die Methode System.out.print erwartet als Argument eine Zeichenkette (String) oder
eine Wert eines elementaren Typs (etwa System.out.println(7)). Die Zeichenkette kann
direkt in doppelten Hochkommata angegeben werden.
System.out.print(“Hallo“);
Mit „+“ können mehrere Zeichenketten und/oder Werte zu einer Zeichenkette verbunden
werden. Folgendes ergibt jeweils die gleiche Ausgabe:
System.out.println(“Beachte “ + 7 + “ ist die Zahl Sieben“)
System.out.println(“Beachte 7 ist die Zahl Sieben“);
Vergleichen von Werten
Werte können mit == auf Gleichheit und != auf Ungleichheit überprüft werden. Der Wert
eines solchen Ausdrucks ist entweder wahr (true) oder falsch (false).
5 == 7 ist falsch 6 == 6 ist wahr
Es können auch Variablen verwendet werden.
a == 7 ist wahr, wenn a den Wert 7 enthält
a != a ist immer falsch
Zahlen können mit >, >=, <, <= verglichen werden.
7 > 8 ist falsch
a <= 9 ist wahr, wenn a kleiner oder gleich 9 ist
Programmverzweigungen
Mit der if-Anweisung kann die Programmausführung in Abhängigkeit eines
Wahrheitswertes (oder Vergleich oder komplexer Ausdruck) geändert werden. Der
Wahrheitswert (…) wird in runden Klammern hinter dem Schlüsselwort if geschrieben.
Die Anweisungen in geschweiften Klammern dahinter.
if ( a == 7 ) {
System.out.println(“a hat den Wert 7“);
}
Mit else können alternative Programmanweisungen angegeben werden, die genau dann
ausgeführt werden, wenn der Ausdruck hinter if nicht wahr (also falsch) ist.
if ( a == 7 ) {
System.out.println(“a hat den Wert 7“);
} else {
System.out.println(“a hat einen anderen Wert als 7“);
}
Operatoren
Zum Rechnen stehen für die Datentypen double, float, byte, short, int, long unter
anderem folgende Operatoren zur Verfügung:
+, -, *, / (Addition, Subtraktion, Multiplikation, Division)
Bei ganzen Zahlen ist / die Division ohne Rest, zusätzlich gibt es noch % für die Division
mit Rest: 7 % 3 ist 1.
Übungen Informatik I
08.11.05
Herunterladen