Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger.

Ähnliche Präsentationen


Präsentation zum Thema: "Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger."—  Präsentation transkript:

1 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz

2 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 2 Ein- und Ausgabe in Jana Lesen Lesen eines einzelnen Zeichens mit read( char ch, bool eof). 2. Ausgangsparameter gibt Auskunft, ob tatsächlich gelesen wurde (eof = end of file). Schreiben Generische Funktion write ( value) für Zeichen, Zahlen,... char ch bool eof read( ch, eof) while (! eof) { write( ch) read( ch, eof) } Beispiel Lesen und Schreiben aller Zeichen bis an das Ende im Eingabestrom.

3 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 3 Zeichen und Zahlen in Jana Ord int ord( char ch) Liefert den Ordinalwert (z.B. ASCII-Code) des Zeichens ch int i char c c = 4 i = Ord(c) – Ord(0) Beispiele Umwandeln eines Zeichens (Ziffer) in eine Zahl. Umwandeln von Klein- in Großbuchstaben. char c = g if (a<= c <=z) { int offset = Ord(c)-Ord(a) write( Chr(Ord(A) +offset)) }

4 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 4 Zeichenketten und Zahlen in Jana Beispiel Umwandeln von Zeichenketten (vorzeichenlose, ganze Zahl darstellend) in entsprechende Zahlen. Zeichenkette 123 Zahl 123. Aufgabe Erkennen von fehlerhaften Zeichenketten (z.B. 12x4). int convert( char[] s) { int value = 0 for(int i=0.. strlen(s)-1){ int digit = Ord(s[i]) – Ord(0) value = value*10 + digit }//for return value }

5 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 5 Dezimal- und Binärdarstellung Frage Wie schaut die Binärdarstellung einer ganzen Zahl aus? Lösungsidee Betrachte nur das letzte Bit der Zahl; letztes Bit ist 1, wenn die Zahl ungerade ist, sonst 0. Stelle das Bit in eine Zeichenkette. Dividiere die Zahl durch 2 und schneide dadurch das letzte Bit ab. Wiederhole den Vorgang solange Zahl > 0.

6 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 6 Dezimal- und Binärdarstellung Algorithmus in Jana Besondere Bedeutung von + char[] bitString( int x) { char[] bitStr = while (x>0) { if ((x%2) == 0) bitStr = 0 + bitStr else bitStr = 1 + bitStr x = x/2 // ganzzahlige Division! } return bitStr }//bitString x 100 50 25 12 6 3 1 0 x%2 0 1 0 1 0 bitStr 0 00 100 0100 00100 100100 1100100 01100100

7 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 7 Schachbrettmuster Frage Gesucht ist ein Algorithmus, der ein schachbrettartiges Muster aus zwei verschiedenen Zeichen ausgibt. Erster Entwurf Schleife über alle Zeilen. Schleife über alle Spalten. Gib Zeichen X aus. Tausche Zeichen X mit Zeichen O aus. XOXOXOXO OXOXOXOX XOXOXOXO OXOXOXOX

8 Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 8 Schachbrettmuster erzeugen Algorithmus in Jana int chessBoard( int n) { for(int row=1.. count) { for(int col=1..count) { if ( (row+col)%2 == 0){ write(X) } else { write(O) } }//for writeln // Zeile fertig }//for }//chessBorad


Herunterladen ppt "Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger."

Ähnliche Präsentationen


Google-Anzeigen