Boolescher Ausdruck zur Definition einer Metropole

Schwierigkeit 3

Gegeben seien drei Variablen, die Auskunft über Eigenschaften einer bestimmten Stadt geben:

boolean istHaupstadt;
int anzahlEinwohner;
double steuernProEinwohner;
Dabei gilt folgendes: Wir definieren eine Metropole als eine Stadt, die Hauptstadt ist mit mehr als 100 000 Einwohner oder die mehr als 200 000 Einwohner hat und im Durchschnitt mindestens 720 000 000 Steuereinnahmen hat.

Geben Sie einen Booleschen-Ausdruck mit den drei Variablen in Java an, der genau dann true ist, wenn die Stadt eine Metropole ist.

Lösung

Ausdruck, der 16-Bit-Unicode nach UTF-8 konvertiert

Schwierigkeit 1

Geben Sie einen (!) arithmetischen Ausdruck an, der den Wert einer char-Variablen (16-Bit-Unicode) in seine entsprechende UTF-8-Codierung konvertiert. Das Ergebnis soll ein int-Wert sein.

Sie benötigen dazu den tenären Operator BoolescherAusdruck ? Ausdruck1 : Ausdruck2 und die bitweisen Operatoren &, | sowie Verschiebeoperatoren >> und <<

Gehen Sie schrittweise vor: erst einen Ausdruck angeben, der für einen char-Wert bei denen höchsten die ersten 7 Bits gesetzt sind den zugehörigen UTF-8 Wert ausgibt, dann für 11 und zu Schluss 16 Bits.

Da der Ausdruck recht unleserlich wird, sollten Sie ihn ausreichend kommentieren. In der Praxis sollten sie diese Aufgabe auf keinen Fall mit einem einzigen Ausdruck lösen: verwenden sie für die 3 Fälle if-else und berechnen und speichern sie die 1 bis 3 Bytes in jedem Fall zwischen, bevor die drei Bytes zum UTF-8 Wert zusammengesetzt werden.

Verwenden Sie die Methode Integer.toBinaryString(), um die binäre Representation als String einer Zahl zu bekommen.

Der UTF-8-Standard ist als RFC 3629 (request for comments) veröffentlich und frei verfügbar.

Lösung

Berechnen Sie den elektrischen Widerstand eines Drahtes

(für Java-Programmierer, die ständig unter Strom stehen)

Schwierigkeit 3

Drei ummantelte Kupferdrähte für den Anschluss einer Lampe mit Wechselstrom.

Der elektrische Widerstand R eines (zylinderförmigen) Drahtes mit einer Länge l (in Meter) und Durchmesser d (in Meter) berechnet sich aus dessen Fläche A des Querschnitts (in Meter zum Quadrat) und des spezifischen Widerstandes des Materials Ρ (rho, in Meter mal Ohm). Als Formel:

R = Ρ( l / A )

Berechnen Sie den Wiederstand eines Drahtes mit 1m Länge und 1mm Durchmesser für Kupfer (Ρ = 1,78*10-8) und für Silizium (Ρ = 2 300)

Nach dem Ohmschen Gesetz ist Strom (I) proportional zur Spannung (U). Oder als Formel: U = R * I.

Wieviel Spannung muss an dem Draht angelegt werden, damit 25 Ampere Strom durchfliessen?

Lösung

Formatieren Sie überlange Ausdrücke

Schwierigkeit 3

Gegeben Sei folgende unendliche Reihe:

Ein zu formatierender
    arithmetischer Ausdruck (unendliche Reihe)

Geben Sie einen Ausdruck für jeweils die ersten drei, fünf und neun Glieder dieser Reihe an 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 hier gegebenen Formatierungsregeln. Welche Zahl wird durch die Reihe berechnet?

Lösung

Umrechnung von Grad Celsius nach Grad Fahrenheit

Flüssigkeitsthermometer für Messungen in Grad Celsius

Schwierigkeit 3

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

Lösung

Wie schnell fällt eine Silvesterrakte zu Boden?

Schwierigkeit 3

Der leere Treibsatz einer Silvesterrakete (ohne Holzstab) wiegt leer etwa 30g und kann auf ca. 80m steigen. Wenn die Rakete nach oben geschossen wurde, fällt dieser Treibsatz im freien Fall zurück zur Erde. Der Treibsatz wird deswegen konstant mit der Erdgravitation g = 9.81 m/s2 beschleunigt. Die Luftreibung vernachlässigen wir.

Jede Sekunde wird ein frei fallender Körper um 9.81 m/s schneller. Wenn wir die Zeit t kennen, die vom Herunterfallen des Treibsatzen am Scheitelpunkt bis zum Aufprall auf dem Boden vergeht, dann können wir mit t * g die Endgeschwindigkeit berechnen.

Die Strecke s(t), die ein frei fallender Körper nach t Sekunden zurückgelegt hat, berechnet sich nach: s(t) = 0.5 g t 2. Also: t2 = 2 s(t) / g.

Implementieren Sie eine main-Methode, das die Endgeschwindigkeit in Abhängigkeit der Fallhöhe h berechnet und sowohl in m/s als auch km/h am Bildschirm ausgibt.

Die Quadratwurzel eines Wertes kann mit Math.sqrt() berechnet werden.

Man beachte, dass aufgrund des Aufbau dieser Rakten die Luftreibung nicht vernachlässigt werden darf, da der Treibsatz hohl ist und eine zur geringen Masse sehr grosse Fläche hat. Die Geschwindigkeit ist in der Realität deswegen viel geringer.

Bei Berücksichtigung der Luftreibung, kann ein Mensch in normaler Fallschirmspringerpose knapp 200 km/h schnell werden. Die Luftreibung kann über die Stokessche Gleichung und zusätzliche Materialeigenschaften des fallenden Objektes mit einbezogen werden. Die Berechnung wird dadurch aber wesentlich komplizierter.

Lösung

Addieren Sie 10 mal 0,1 auf eine double-Variable

Schwierigkeit 3

Implementieren Sie eine Java-main-Methode mit zwei lokalen Variablen vom Typ double. Die eine Variable soll den initialen Wert 0,0 und die andere den Wert 0,1 eins haben. Addieren Sie (ohne Schleife) 10 mal den Wert der zweiten Variable auf die erste.

Vergleichen Sie anschliessend den Wert mit dem Identitätsoperator == auf 1,0 und geben Sie das Ergebnis dieses Booleschen Ausdrucks und der zwei Variablen auf dem Bildschirm aus.

Lösung