Aufgabe 8 - Felder Belege ein Feld mit 10 beliebigen Zahlen (z.B. 1

Werbung
Aufgabe 8 - Felder
Belege ein Feld mit 10 beliebigen Zahlen (z.B. 1,2,3,4,5,6,7,8,9,0).
a) Gebe diese Zahlen rückwärts aus.
b) Verschiebe nun jede Zahl um 3 Stellen nach rechts, wobei die letzten drei Zahlen
des Feldes wieder an den Anfang geschrieben werden: 8,9,0,1,2,3,4,5,6,7.
c) Erweitere das Programm noch durch die Möglichkeit, dass der Benutzer wählen
kann, um wieviele Felder die Zahlen verschoben werden sollen und ob die Zahlen
nach rechts oder links (rechts=1, links=0) verschoben werden sollen.
Aufgabe 7 - Teiler
Schreibe ein Programm, welches für jede Zahl von 17 bis 42 ausgibt, durch
welchen Teiler sie ohne Rest teilbar ist. Verwende als Teiler nur die Zahlen 2, 3
und 5.
Aufgabe 2 - ASCII-Tabelle
Gebe die ASCII-Tabelle aus, d.h. gebe zu jedem Wert von 0 bis 127 den char aus,
der diesem int-Wert entspricht.
Aufgabe 7 - Capitals
Schreibe ein Programm, das den Anwender nach dem Vornamen und Nachnamen
fragt. Dieses den Vornamen so wie er eingegeben wurde und den Nachnamen in
Großbuchstaben ausgibt.
Geben Sie Ihren Namen ein:
Sherlock Holmes
Sherlock HOLMES
Dazu solltest du in der Dokumentation der String-Klasse nach geeigneten
Methoden suchen, die ggf. in dem Kurs nicht behandelt wurden:
• public char charAt(int index)
• public int indexOf( int c )
• public String substring( int startIndex ) bzw.
public String substring( int startIndex, int endIndex )
• public String toLowerCase() bzw.
public String toUpperCase()
Da diese Methoden eine sogenannte Ausnahme auslösen, muss die main()-Methode
wie folgt beginnen:
public static void main ( String[] args )
throws IOException, StringIndexOutOfBoundsException { ... }
Aufgabe 8 - Zeichen durch Zahlen darstellen
Schreibe eine Routine, die einen String übergeben bekommt und bestimmte
Buchstaben durch Zahlen ersetzt:
i=1, l=2, e=3, a=4, s=5, z=7, b=8, g=9, o=0
Der neue String soll anschließend in der main wieder ausgegeben werden. Bsp:
Gebe einen Satz ein: Egon hat ein knallrotes Gummiboot
Der Satz lautet: 390n h4t 31n kn422r0te5 9umm1800t
Aufgabe 10 - Maximale Matrix-Summe
Gegeben sei eine quadratische Matrix aus positiven Ganzzahlen, z.B.
24
10
23
17
16
6
4
4
10
12
12
3
1
9
11
14
8
6
21
25
13
5
20
22
19
Schreibe nun ein (rekursives) Programm welches für eine einzulesende
Startposition die maximale Summe berechnet, die von dort erreicht werden kann.
Dabei muss der nächste Summand größer sein, als das aktuelle Feld und direkt an
dieses Feld in waagerechter oder senkrechter Richtung grenzen (nicht diagonal!).
Ausgegeben werden soll die maximale Summe, die erreicht werden kann:
Startposition? 1 1
Die maximale erreichbare Summe ist 39.
Die Zahl an der Stelle (1,1) ist 5. Von hier aus, ist sind die 6 und die 10 erreichbar,
da alle anderen Zahlen kleiner sind als 5. Für die 6 gibt es wiederum die Fälle 12
und 24, wobei von der 12 wiederum die 14 erreichbar ist. 14 hat keinen größeren
Nachbar, genauso wenig die 24. Sie bilden also das Ende einer Zahlenkette. Der
Zweig der von 5 über die Zahl 10 geht, endet in den Zahlen 23 bzw. 24. Insgesamt,
gibt es also drei Verzweigungen bzw. vier Ketten. Das Maximum der Summen
dieser Ketten ist
5+10+24=39
Hinweis: Um nicht umständlich auf den Rand der Matrix abzufragen, kann
man die Matrix hier auch um je eine Zeile oben, unten, rechts und links
erweitern und diese mit einer Zahl belegen welche niemals größer ist, als das
aktuelle Feld (z.B. 0).
Aufgabe 9 - Fakultät
Schreibe ein Programm, welches für ein positives n < 17 die Fakultät berechnet:
n! = n · (n−1) · (n−2) · . . . · 1
Es gilt 0! = 1 und 1! = 1. Negative Fakultäten sind nicht definiert.
Finde eine iterative und eine rekursive Lösung.
Herunterladen