Technische Informatik für Ingenieure Winter 2005/2006

Werbung
Dr. Ekkart Kindler
FG Softwaretechnik
Institut für Informatik
Technische Informatik für Ingenieure
Winter 2005/2006 – Übungsblatt Nr. 4
Übungsgruppenleiter: M.-R. Brojerdi
M. Meyer
E. Münch
H. Selke
M.Tichy
22. November 2005
Aufgabe 1:
Seite 1
(Alternativen)
Schreiben Sie ein Programm, das uns bei der Freizeitplanung unterstützt. Das Programm soll
zunächst vom Benutzer abfragen, ob die Sonne scheint, und danach die Temperatur
erfragen. Die Temperatur können Sie als Zahl vom Typ integer in der bereits bekannten
Weise einlesen. Um den Sonnenschein zu speichern, verwenden Sie am besten eine
Variable vom Typ boolean. Um eine solche Variable einzulesen, können Sie die Methode
In.readBoolean verwenden, die als Eingabe vom Benutzer die Werte „true“ oder „false“
entgegennimmt.
Anschließend soll das Programm zur Kontrolle dann die aktuellen Wetterverhältnisse
ausgeben, beispielsweise: „Die Sonne scheint; die Temperatur beträgt 23 Grad.“ bzw. „Die
Sonne scheint leider nicht; die Temperatur beträgt 18 Grad.“
Anschließend soll dann der aktuelle Freizeittipp ausgegeben werden:
• Wenn die Sonne scheint und es wärmer als 25 °C ist, lautet die Empfehlung
„Freibad“.
• Wenn die Sonne scheint und die Temperatur zwischen 15 °C und 25 °C beträgt,
lautet die Empfehlung „Wandern“.
• Wenn die Sonne scheint und es kälter als 15 °C ist, empfehlen wir „Shopping“.
• Wenn die Sonne nicht scheint und es wärmer als 20 °C ist, empfehlen wir
„Spazierengehen“.
• Sonst empfehlen wir „Abhängen“.
Aufgabe 2:
(Schleifen)
Schreiben Sie ein Programm, das überprüft, ob eine vom Benutzer eingegebene Zahl n eine
Primzahl ist. Gehen Sie dazu wie folgt vor: Prüfen Sie beginnend mit der Zahl 2 für alle
Zahlen, die als Teiler in Frage kommen, ob n durch sie ohne Rest geteilt werden kann. Wie
man sich leicht überlegen kann, reicht es dabei aus, alle Zahlen zu betrachten, deren Quadrat
kleiner als n ist.
Wenn sich n durch eine dieser Zahlen teilen lässt, geben Sie aus, dass n keine Primzahl ist.
Wenn n durch keine der Zahlen geteilt werden konnte, geben Sie aus, dass n Primzahl ist.
Erstellen Sie zwei Varianten Ihres Programms:
a) Verwenden Sie eine while-Schleife, in der Sie prüfen, ob n Teiler besitzt.
b) Verwenden Sie eine for-Schleife, um zu prüfen, ob n Teiler besitzt.
Beenden Sie die Schleifen in beiden Programmen mit der Anweisung break, sobald Sie einen
Teiler gefunden haben.
Technische Informatik für Ingenieure – Übungsblatt 1
Seite 2(2)
Aufgabe 3:
(Ausdrücke)
Überprüfen Sie die folgenden Anweisungen, ob sie gemäß der Syntax von Java korrekt sind.
Überlegen Sie anschließend, von welchem Typ die Ausdrücke sind und welche Werte die
Ausdrücke jeweils haben. Überprüfen Sie Ihre Überlegungen mit Hilfe eines Programms, in
dem Sie die einzelnen Anweisungen verwenden:
int i = 13.1415;
boolean b = false;
boolean c = b + true;
Out.println(1 + 4 * 1.5 + (4 + 8) / 3.0);
Out.println(1 + 3 * 2 + (4 + 8) / 3);
Out.println(10.0 * (1 / 10));
Out.println(10 * (1 / 10.0));
Out.println(10 * 1 / 10);
Out.println("Germany: " + 10 + 12 + " Points");
Out.println("Points Germany: " + 10 + 12);
Out.println(10 + 12 + " points for Germany");
Aufgabe 4*:
(Verschachtelte Schleifen)
Modifizieren Sie eines der beiden Programme aus Aufgabe 2 dahingehend, dass der
Benutzer nacheinander beliebig viele Zahlen daraufhin überprüfen kann, ob sie Primzahlen
sind. Erstellen Sie auch hier zwei Varianten:
a) Der Benutzer gibt eine zu prüfende Zahl ein. Handelt es sich um eine 0, wird das
Programm beendet. Ansonsten wird geprüft, ob die Zahl eine Primzahl ist.
Anschließend wird der Benutzer nach der nächsten Zahl gefragt. Dieses Vorgehen
wird wiederholt, bis der Benutzer eine 0 eingibt.
b) Der Benutzer gibt zunächst ein, wie viele Zahlen überprüft werden sollen,
beispielsweise 5. Anschließend wird der Benutzer nacheinander jeweils nach einer
Zahl gefragt und diese daraufhin überprüft, ob sie eine Primzahl ist. Dieses Vorgehen
wird so oft wiederholt, wie der Benutzer anfangs wünschte, also beispielsweise fünf
Mal.
Herunterladen