Sie sind auf Seite 1von 3

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 4: JAVA – Schleifen und Verzweigungen


Abgabe: 13.11.2023 (12:00 Uhr) Besprechung: 14.11.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 Darstellung eines Algorithmus - Iteration (1h / 1P)

Erstellen Sie einen Algorithmus zur Berechnung der Anzahl der Dezimalziffern einer
gegebenen ganzen Zahl unter ausschließlicher Verwendung der bekannten arithmetischen
Rechen- und Vergleichsoperatoren (keine Zeichenkettenoperationen) mittels einer Schleife
(for oder while).

a) Beschreiben Sie Ihren Algorithmus verbal.


b) Beschreiben Sie Ihren Algorithmus mittels eines Flussdiagramms.
c) Beschreiben Sie Ihren Algorithmus mittels eines Struktogramms.
d) Welche Änderung am Algorithmus ergäbe sich, wenn statt der Dezimalziffern die
Hexadezimalziffern einer gegebenen ganzen ermittelt werden sollten?

3 Implementierung – Schleife (1h / 2P)

Implementieren Sie Ihren Algorithmus zur Berechnung der Anzahl der Ziffern einer
positiven ganzen Zahl aus der vorhergehenden Übung, entsprechend Ihres Strukto- oder
Fluss-diagramms. Die Zahl soll von außen als Typ int oder long gelesen werden. Nutzen
Sie keine Java-Methoden etwa der Integer-Klasse für die Bestimmung (für das Einlesen der
Zahl kann natürlich die Integer/Long-Klasse genutzt werden), sondern nur klassische
arithmetische Operatoren (ganzzahlige Division, Restbestimmung, Addition, etc.).

4 Schleifen und Verzweigungen (2h /2P)

Schreiben Sie ein Programm, welches Bildschirmausgaben der Art erzeugt, wie sie unten
angegeben sind. Die Zahl der erzeugten Zeilen soll dabei über einen Parameter im
Programm (z.B. int zeilen = 7;) erfolgen. Benutzen Sie for-Schleifen und if-else-
Verzweigungen. Stellen Sie sicher, dass Sie alternativ die Aufgabe auch mit while-
Schleifen lösen können.
Leerzeichen, Sterne und Zeilenumbrüche können mit den Befehlen System.out.print(“ “),
System.out.print(“*“) und System.out.println() erzeugt werden.

5 Eindimensionale Felder (2h /2P)

Deklarieren, Initialisieren, Ausgeben, Schleife über ein Array, Syntactic Sugar


(a) Erzeugen Sie ein Array von Zufallszahlen der Größe n. Benutzen Sie Math.random().
(b) Geben Sie alle Elemente des Arrays auf dem Bildschirm aus.
(c) Geben Sie das größte Element des Arrays aus.
(d) Geben Sie alle Positionen des größten Elements des Arrays aus.

2
Viel Spaß und Erfolg!

Das könnte Ihnen auch gefallen