Sie sind auf Seite 1von 3

Tutorium

Programmierung I

Stephan Gramüller (gramueller@fim.uni-passau.de),


Julian Harrer (harrerj@fim.uni-passau.de)

Erstelle die Lösungen für die folgenden Aufgaben auf Papier! Veriziere dein Programm,
indem du es in deine Entwicklungsumgebung abtippst und ausführst.

Aufgabe 17: Quersumme


Erstelle eine Methode crossSum, die für eine übergebene natürliche Zahl deren Quersumme
berechnet und auf der Konsole ausgibt.
Beispiel: Quersumme von 232 : 2 + 3 + 2 = 7

Aufgabe 18: Palindrom


Erstelle eine Methode isPalindrome, welche für ein übergebenes char-Array prüft, ob
es sich um ein Palindrom handelt. Falls ja, soll die Methode true zurückgeben, sonst
false.
Ein Palindrom ist ein Wort, welches gleich bleibt, wenn man es rückwärts liest.
Beispiele: otto, maoam, rentner, asddsa, foooof

Bitte umblättern.

1
Aufgabe 19: Diagonale Produktsumme
Erstelle eine Methode diagonalProductSum, die für ein übergebenes zweidimensionales
quadratisches Array zunächst das Produkt über die beiden Diagonalen bildet und diese
dann aufaddiert. Das Ergebnis soll zurückgegeben werden. Falls ein Eintrag der Matrix
den Wert 0 hat, so soll dieser übersprungen werden.
Beispiel:

3 8 3 4 1
5 0 7 4 9
9 8 2 6 2 → (3 · 2 · 1 · 3) + (1 · 4 · 2 · 3) = 18 + 24 = 42
2 0 4 1 6
3 2 3 5 3

Aufgabe 20: Spiegeln


Schreibe eine Methode mirrorArray, die ein übergebenes zweidimensionales Array an der
Vertikalen spiegelt. Die Zeilen der Matrix können dabei unterschiedliche Längen haben.
In diesem Fall soll jede Zeile jeweils in ihrer Mitte gespiegelt werden.
Beispiel:
3 3
5 0 0 5
9 8 2 → 2 8 9
2 0 4 1 1 4 0 2
3 2 3 5 3 3 5 3 2 3

Aufgabe 21: Binärzahl


Schreibe eine Methode decimalToBinay, die eine übergebene natürliche Zahl iterativ in
eine Binärzahl (als String) konvertiert und zurückgibt. Der Zahlenbereich für die überge-
bene Zahl umfasst alle positiven Zahlen, die durch den Datentyp int dargestellt werden
können.
Hinweis: Falls nötig, kannst du das folgende Stück Code verwenden, um die Potenz c = a
b

zu berechnen:
int c = Math . pow( a , b ) ;
Beispiel: Math.pow(2, 5) entspricht 25 und liefert 32 zurück.
Beispiel: Der Aufruf decimalToBinay(42) liefert den String "101010" zurück.

2
Aufgabe 22: Zusatzaufgabe: Stack/ Queue
a) Erstelle die Klassen MyStack, MyQueue und MyNode.
MyStack repräsentiert einen einfachen Stack, welcher Knoten vom Typ MyNode bein-
haltet.
MyQueue repräsentiert eine einfache Queue, welche Knoten vom Typ MyNode bein-
haltet.
MyNode speichert Daten vom Typ String.
b) Zeichne auf einem Blatt Papier oder dem digitalen Whiteboard in deinem Breakout-
Room auf, was einen Stack bzw. eine Queue von einer normalen Liste unterscheidet.
c) Erstelle nun folgende Methoden für MyStack:
ˆ public void add(String value): Fügt einen neuen Wert zu dem Stack hin-
zu. Ist der übergebene Wert jedoch null, soll dieser nicht hinzugefügt werden.
ˆ public String get(): Gibt den richtigen Wert von MyStack zurück.
ˆ public boolean isEmpty(): Gibt zurück, ob der Stack leer ist.
ˆ public int size(): Gibt die Anzahl der Elemente zurück.
ˆ public void print(): Gibt alle Elemente durch Kommas getrennt in folgen-
der Syntax auf der Konsole aus:
[<element_0>,<element_1>,...,<element_n-1>,<element_n>]
d) Erstelle nun folgende Methoden für MyQueue:
ˆ public void add(String value): Fügt einen neuen Wert zu der Queue hin-
zu. Ist der übergebene Wert jedoch null, soll dieser nicht hinzugefügt werden.
ˆ public String get(): Gibt den richtigen Wert von MyQueue zurück.
ˆ public boolean isEmpty(): Gibt zurück, ob der Stack leer ist.
ˆ public int size(): Gibt die Anzahl der Elemente zurück.
ˆ public void print(): Gibt alle Elemente durch Kommas getrennt in folgen-
der Syntax auf der Konsole aus:
[<element_0>,<element_1>,...,<element_n-1>,<element_n>]

Das könnte Ihnen auch gefallen