Fundamentale Datentypen - BFH

Werbung
Einführung in die Programmierung Übungen
P. Fierz / HS 2011/2012
Kapitel 3
Fundamentale Datentypen
Aufgabe 3.1 [Formeln in Java]
1. Schreiben Sie die folgenden mathematischen Ausdrücke in Java
s
G
= s0 + v0 t + 12 gt2
3
= 4π 2 p2 (ma1 +m2 )
FV
c
T
= P V · 1 + IN
100
p
a2 + b2 − 2ab cos(γ)
=
Y RS
2. Schreiben Sie die folgenden Java Ausdrücke in mathematischer Notation
a. dm = m * (Math.sqrt(1 + v / c) / (Math.sqrt(1 - v / c) - 1));
b. volume = Math.PI * r * r * h;
c. volume = 4 * Math.PI * Math.pow(r, 3) / 3;
d. p = Math.atan(z / Math.sqrt(x * x + y * y));
3. Was ist falsch in den folgenden Formeln zum lösen von quadratischen Gleichungen?
x1 = (-b - Math.sqrt(b * b - 4 * a * c)) / 2 * a;
x2 = (-b + Math.sqrt(b * b - 4 * a * c)) / 2 * a;
Aufgabe 3.2 [Integer und Doubles]
1. Geben Sie ein Beispiel für Integeroverflow. Passiert in Ihrem Beispiel der Overflow auch
wenn der Datenty double ist?
2. Geben Sie ein Beispiel für einen Rundungsfehler der beim Rechnen mit Doubles auftreten
kann.
3. Der Output des Statements
System.out.println(19.93 - 20);
ist -0.07000000000000028. Erklären Sie dieses Phänomen.
4. Erklären Sie wie ein Double auf zwei Stellen nach dem Komma gerundet werden kann.
5. Wie kann man die erste und die letzte Ziffer einer Integerzahl herausfinden?
Beispiel: Für 299826 ist die erste Ziffer 2 und die letzte Ziffer 6.
Achtung: Die Zahl darf nicht zuerst in einen String umgewandelt werden.
3-1
Einführung in die Programmierung Übungen
P. Fierz / HS 2011/2012
Aufgabe 3.3 [Programmierung] Schreiben Sie eine Klasse, die die zwei folgenden static
Methoden zur Verfügung stellt:
1. public static int exchange(int number, int pos1, int pos2)
Die Methode soll in number die Stellen pos1 und pos2 vertauschen. Die Stellen werden
von rechts nach links beginnend mit 1 gezählt. Wenn eine der Stellen zu gross ist, soll
keine Vertauschung stattfinden.
Beispiele:
number
19276
327172
12345
pos1
2
1
8
pos2
3
6
4
Output
19726
227173
12345 (8 zu gross)
Achtung: Die Zahl darf nicht in einen String umgewandelt werden!!
2. public static String getTimeInterval(int time1, int time2)
Die Methode soll die Differenz zwischen den zwei Zeiten als String der Form "HH:MM"
zurückgeben. time1 und time2 sind Zeiten im sogenannten Militärformat (0950 oder
2315).
Falls eine der Zeiten ungültig ist, so soll die Methode den String "Error" zurückgeben.
Beispiele:
time1
0900
1730
12000
time2
1730
0900
0830
Output
"08:30"
"15:30"
"Error"
3-2
Herunterladen