Programmierübungen 2

Aus ProgrammingWiki

Wechseln zu: Navigation, Suche

Loading
Aufgabe 1

Entwickeln Sie eine Methode, mit der das Alter einer Mumie oder eines sehr alten Gegenstandes berechnet werden kann. Die Methode soll folgende Parameter besitzen:

  • $n_0$ ursprüngliche Anzahl der Atomkerne
  • $n_t$ aktuelle Anzahl der Atomkerne
  • $t_h$ Halbwertszeit des radioaktiven Stoffes (z.B. bei Kohlenstoff 5730 Jahre)

Die Methode soll das Alter $t$ anhand des Zerfallsgesetzes berechnen: $$t = \frac{ln(n_t)-ln(n_0)}{-\lambda}$$ Für $\lambda$ gilt: $\lambda= \frac{ln(2)}{t_h}$. Verwenden Sie dafür eine Hilfsvariable!

Die Rückgabe der Methode soll das berechnete Alter $t$ sein.


Aufgabe 2

Quelle: | http://www.gailer-net.de

Al's Last Chance Gas Station befindet sich an der Straße 190 am Rande des Death Valley. Die nächsten 350 km gibt es keine weitere Tankstelle. Sie sollen eine Methode entwickeln, die den Fahrern dabei hilft, zu entscheiden, ob sie tanken sollen oder nicht. Das Methode besitzt die Parameter:

  • die Tankkapazität des Fahrzeuges in Litern
  • die Benzinanzeige des Fahrzeuges in Prozent (voll=1.0, drei viertel voll = 0.75 usw.)
  • der Benzinverbrauch des Fahrzeuges in Liter pro Kilometer.

Die Rückgabe des Programms ist true oder false, je nachdem, ob das Fahrzeug genug Benzin für 350 km hat oder nicht.


Aufgabe 3

Entwickeln Sie eine Methode $uhrzeit()$, die eine in Stunden und Minuten gegebene Uhrzeit als Text auf der Konsole ausgibt. Dabei werden die Stunden als Zahlen von 1 bis 12 und die Minuten als Zahlen von 0 bis 59 übergeben.

Beispiele:

uhrzeit(6,8) -> "Es ist acht Minuten nach sechs."

uhrzeit(1,20) -> "Es ist 5 Minuten nach viertel zwei."

uhrzeit(11,39) -> "Es ist neun Minuten nach halb zwölf."

uhrzeit(3,45) -> "Es ist dreiviertel vier."

Ob Sie "dreiviertel Sieben" oder "viertel vor Acht" schreiben, können Sie selbst entscheiden.

Nutzen Sie für die Ausgabe den Befehl System.out.println()!

Sie werden Hilfsvariablen vom Typ String benötigen, in denen Sie Fragmente der Ausgabe zwischenspeichern können. Die Ausgabe für den Nutzer können Sie dann am Ende der Methode mit dem Operator "+" zusammenfügen. Hier ein kurzes Beispiel:

Außerdem lässt sich die Aufgabe leichter lösen, wenn Sie in der folgenden Codebox zunächst eine Hilfsmethode zahl_zu_text() anlegen, die eine übergebene Zahl in ein Zahlwort umwandelt. Beispiel: zahl_zu_text(5) gibt "fünf" zurück. Wir müssen die Zahlen 1 bis 14 betrachten.

Hier soll die Lösung der Aufgabe stehen:


Aufgabe 4

Bevor Sie loslegen, müssen wir uns kurz mit einem neuen Operator in Java auseinandersetzen. Der Operator Modulo (%) ermittelt den Rest einer ganzzahligen Division:

9 geteilt durch 2 ergibt 4 mit Rest 1. Daher wird im Beispiel die Ausgabe 1 erzeugt.

Nun zur Aufgabe: Schreiben Sie eine Methode, die ein beliebiges Datum in der Form von 3 ganzen Zahlen (Tag, Monat, Jahr) einliest und den Wochentag für dieses Datum auf der Konsole ausgibt. Beispiel: Der 24.12.2009 ist ein Donnerstag. Um die Aufgabe lösen zu können, sind folgende Informationen wichtig:

  • Für die Berechnung muss man von einem fixen Datum ausgehen. Wir wählen dafür den 1.1.1900, der ein Montag war. Um die Aufgabe einfach zu halten, wollen wir nur Tage nach dem 1.1.1900 und vor dem 1.1.2100 berechnen.
  • Wir können die Aufgabe lösen, indem wir die Tage seit dem 1.1.1900 zählen und dann die Anzahl der Tage modulo 7 rechnen. Das Ergebnis der Rechnung ergibt den Wochentag (0 für Sonntag, 1 für Montag, .. 6 für Samstag).
  • Die Anzahl der Tage ergibt sich aus
    • (Anzahl der vollen Jahre seit 1900) * 365 plus
    • die Summe der Tage in den Monaten vor dem gegebenen Monat (31 für Januar, 28 für Februar, …) plus
    • die Tage im gegebenen Monat.

Schaltjahre haben 366 Tage. Die noch fehlenden Tage ergeben sich aus (Jahr - 1900)/4. Sie müssen noch zur Anzahl der Tage hinzuaddiert werden.

Wenn das Jahr ein Schaltjahr ist und das Datum zwischen dem 1. Januar und einschließlich dem 29. Februar liegt, muss die Anzahl der Tage um 1 reduziert werden. Das Jahr ist ein Schaltjahr, wenn gilt: (Jahr - 1900)% 4 == 0.

Persönliche Werkzeuge