Algorithmen und Datenstrukturen Tafelübung 02 Codierung, Entscheidungsgehalt, Strings, Arrays Clemens Lang T2 4. Mai 2010 14:00 16:00, 00.152 Tafelübung zu AuD 1/14
Organisatorisches Ein weiteres Don t für Praxisaufgaben Signaturen von vorgegebenen Methoden dürfen nicht verändert werden! Unsere Tests verlassen sich darauf, dass die Signaturen unverändert sind! Tafelübung zu AuD 2/14
Begriffe (2.1) Begriffe Spezifikation Algorithmus terminierender Algorithmus deterministischer Algorithmus Übersetzer/Compiler Tafelübung zu AuD 3/14
Zahlensysteme Codierung Zahlensysteme (2.2a) Polyadisches Zahlensystem: Definition Polyadisches Zahlensystem zur Basis b: a n ist die Ziffer an der n. Stelle von rechts a 0 b 0 + a 1 b 1 + a 2 b 2 +... + a n b n z.b. für die Basis 5 a 0 1 + 5 a 1 + 25 a 2 + 125 a 3 + 625 a 4 +... 134 (5) = 4 + 5 3 + 25 1 = 44 (10) Tafelübung zu AuD 4/14
Zahlensysteme Codierung Zahlensysteme (2.2a) sukzessive Division 42 (10) =? (5) 42 : 5 = 8 R 2 8 : 5 = 1 R 3 1 : 5 = 0 R 1 42 (10) = 132 (5) Tafelübung zu AuD 5/14
Zahlensysteme Codierung Zahlensysteme (2.2a) Binär-, (Oktal-) und Hexadezimalsytem Zusammenhang zwischen 2er-, 8er- und 16er-System: Andere Gruppierung von Ziffern 101011101111 (2) = 1010 }{{} 8+2=10=A 1110 }{{} 8+4+2=14=E 1111 }{{} 8+4+2+1=15=F = AEF (16) = 101 011 101 111 = 5357 (8) Tafelübung zu AuD 6/14
Zahlensysteme Codierung Zahlensysteme (2.2a) Aufgaben Dezimal Binär Hexadezimal 495 1 1110 1111 1EF 159 1001 1111 9F 15 1111 F 170 1010 1010 AA 31 1 1111 1F 12648430 1100 0000 1111 1111 1110 1110 C0FFEE Tafelübung zu AuD 7/14
Zeichen & Zeichenketten Codierung ASCII (2.2b) Codierung von Text Beispiel Problem: PC kann nur mit Zahlen umgehen, nicht mit Buchstaben Abbildung von Zeichen auf Zahlen Verschiedene Methoden, sog. Codierungen American Standard Code for Information Interchange $~> man ascii 48 (16) 61 (16) 108 (10) 6C (16) 111 (10) 21 (16) Hallo! Tafelübung zu AuD 8/14
Informationsgehalt Codierung Informationsgehalt (2.2c) Definition Der Informationsgehalt ( ) I ist definiert als I (p) = log 1 2 p = log 2 (p), wobei p die die Anzahl der codierten Werte ist Für den Taschenrechner: log 2 (x) = log a x log a 2 a Tafelübung zu AuD 9/14
Informationsgehalt Codierung Informationsgehalt (2) (2.2c) Beispiele Informationsgehalt einer Postleitzahl: I = log 2 ( 10 5 ) 16.6096 = 17 Entscheidungsgehalt eines Quadratmillimeters auf einer Fläche von 1500mm x 852mm: I = log 2 (1500 852) = log 2 (1500) + log 2 (852) 20.2854 = 21 Tafelübung zu AuD 10/14
Die String-Klasse (2.3) Strings in Java Java API http://java.sun.com/javase/6/docs/api/java/lang/ String.html immutable Strings sind unveränderlich ( immutable ) verändernde Methoden erzeugen Kopien Hinweise zur Aufgabe Zugriff auf einzelne Zeichen in einem String: charat(int) oder tochararray() Groß- und Kleinschreibung! Tafelübung zu AuD 11/14
Arrays (2.4) Beispiele zu Multidimensionalen Arrays 1 int [] arrinteger = new int [12]; 2 3 int [][] arr2integer = new int [15][]; 4 for ( int i = 0; i < arr2integer. length ; i ++) { 5 arr2integer [ i] = new int [ i + 1]; 6 } 7 8 int [][][] arr3integer = new int [4][4][4]; 9 arr3integer [1][2][3] = 4; Tafelübung zu AuD 12/14
Nachbesprechung von Blatt 1 Geometrie, Dreiecke Tafelübung zu AuD 13/14
Ende Noch Fragen? Tafelübung zu AuD 14/14