Sie sind auf Seite 1von 4

Friedrich-Schiller-Universität Jena

Fakultät für Mathematik und Informatik


Institut für Informatik

Peter Dittrich Valentin Wesp


https://users.fmi.uni-jena.de/~dittrich/, R3430 valentin.wesp@uni-jena.de

Übung zur Vorlesung

Strukturiertes Programmieren
WS 2023/24

Übungsblatt 2: JAVA - Zweite Schritte und Informationssysteme


Abgabe: 30.10.2023 (12:00 Uhr) Besprechung: 31.10.2023

Hinweise:

1. Abgabe immer via Moodle bis zum nächsten Montag 12:00 (nicht später!).
2. Bearbeitungszeit: ca. 8h
3. Maximale Punktzahl: 7 Punkte

1 Wiederholung (2h)

Arbeiten Sie das Skript (Folien) zur laufenden Vorlesung durch. Schauen Sie sich auch ein paar Seiten
zur kommenden Woche an. Schlagen Sie zentrale Begriffe nach (etwa: Daten, Information, Algorithmus,
Programm, Rechnerarchitektur). Verwenden Sie dazu nicht nur eine Quelle; seien Sie also kreativ bei
der Quellenwahl.
Alles klar soweit? Was
ist unklar geblieben?
Investierte Zeit neben
der Vorlesung:
Zusammengearbeitet
mit:

1
2 Informationssysteme (keine Abgabe)

3 Praktische Übung - Entwicklungsumgebung (2h)

Machen Sie sich grob mit der Entwicklungsumgebung (IDE) NETBEANS vertraut, indem Sie das
HelloWorld Beispiel aus der letzten Woche eingeben und testen.
Bei einer Installation zu Hause, achten Sie darauf, dass auch die JAVA-Dokumentation installiert wird.

Neben NETBEANS gibt es andere IDEs wie ECLIPSE und Intellij IDEA, die sie auf eigenes Risiko alternativ
nutzen können.

4 Praktische Übung - JAVA Ein/Ausgabe (2h / 2P)

Arbeiten Sie das Einführungskapitel Ihres JAVA-Buchs zu den einfachen Datentypen String und Integer
grob durch.
Im Web finden Sie hier eine schöne Seite: http://introcs.cs.princeton.edu/java/12types/
Probieren Sie kleine Programme aus, wie folgendes:

int a = 3;
int b = 4;
String c = "5";
System.out.println(a+b+c);
System.out.println(c+b+a);

2
(a) Wie lautet das Ergebnis? Warum? (kurze Begründung)
(b) Schreiben Sie ein JAVA-Programm, das wie folgt aufgerufen wird: java MyProgram Willi
Und das folgendes ausgibt: Hallo Willi Wie geht es Dir?
Als Hilfe soll folgendes Programm dienen, das den eingegeben String konkateniert.

public class MyProgram {


public static void main(String[] args) {
System.out.println(args[0]+args[1]);
}
}

D.h., auf den 1. bzw. 2. Parameter kann man mit args[0] bzw. args[1] zugreifen.
(c) Schreiben Sie ein JAVA-Programm, das die Länge eines 2-dimensionalen Vektors be-
rechnet. Also etwa:

> java Laenge 3 4


> 5

Dazu soll folgendes Programm, das die Wurzel berechnet, als Hilfe dienen.

public class Quadratic {


public static void main(String[] args) {
double a = Double.parseDouble(args[0]);
double sqroot = Math.sqrt(a);
System.out.println(sqroot);
}
}

(d) Falls Sie noch Zeit haben, sollten Sie weitere Programmierübungen machen; gehen Sie die Aufgaben
von der folgenden Seite durch:
http://introcs.cs.princeton.edu/java/12types/
Notieren Sie bei Ihrer Abgabe hier die Aufgaben (Nummern), die Sie von obiger Seite
bearbeitet haben.

5 Praktische Übung - Strings und Variablen (1h / 2P)

Schreiben Sie ein Programm, das die Tutle-Befehle für die Kochkurve der dritten Iteration ausgibt:

1. Iteration FLFRRFLF
2. Iteration FLFRRFLFLFLFRRFLFRRFLFRRFLFLFLFRRFLF
3. Iteration jedes F aus der 2. Iteration durch FLFRRFLF ersetzen

“F” bedeutet einen Strich vorwärts, “L” bedeutet eine kleine Linksdrehung, “R” eine kleine Rechtsdre-
hung.
Dabei sollen Sie hier nur einfache String-Konkatenation und String-Variablen verwenden.

6 Brücke - Beton- und Farbmenge berechnen (2h / 2P)

Schreiben Sie ein Programm, das aus der gewünschten Länge und Höhe einer Brücke, den benötigen
Beton und die benötigte Farbe berechnet. Die Fahrbahn sei flach, 3 Meter breit und 0.25 Meter dick
(und aus Beton). Alle 5 Meter muss ein massiver Betonpfeiler stehen, der eine Grundfläche von
3
3 Meter x 0.5 Meter hat. Das heißt, dass eine Brücke der Länge 5 Meter mit zwei Pfeilern auskommt
und eine Brücke der Länge 5.001 Meter drei Pfeiler benötigt. Die Menge an Beton (2.5 kg/m3) soll in
Tonnen ausgegeben werden, die Menge an Farbe (0.1 l/m2) in Litern.

WICHTIG: Strukturieren Sie Ihr Programm durch sinnvolle und sprechende Namen für
Variablen und Konstanten.

7 Binäre Zahlen vergleichen (1h / 1P)

Gegeben sind zwei ganze Zahlen n und m. Schreiben Sie ein Programm, das feststellt, ob die beiden
Zahlen in der Binärdarstellung an einer Stelle eine 1 haben. Beispiel:

• [n = 3 (dezimal) : 0011 (binär)] & [m = 8 (dezimal) : 1000 (binär)] → keine Übereinstimmung


• [n = 3 (dezimal) : 0011 (binär)] & [m = 9 (dezimal) : 1001 (binär)] → Übereinstimmung an der
0-ten Stelle

8 Mengengleichheit prüfen (Keine Abgabe)

Schreiben Sie ein Programm, mit dem sich Mengen-Gleichungen prüfen oder beweisen lassen, also
Gleichungen der folgenden Art:
(A ∪ B) ∩ (A ∪ C) ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C) ∪ (B ∩ C)
Ist diese Gleichung war? Wir können das Problem mit den bisher gelernten Mitteln lösen (etwa 7 Zeilen
Code) Es reichen einfache Variablendefinitionen, arithmetische und logische Ausdrücke. Keine weiteren
Kontrollstrukturen oder Bibliotheksfunktionen sind notwendig.

Viel Spaß und Erfolg!

Das könnte Ihnen auch gefallen