Algorithmen und Datenstrukturen SS 2005

Slides:



Advertisements
Ähnliche Präsentationen
Klassen - Verkettete Liste -
Advertisements

Forschungszentrum caesar
Hochschule Fulda – FB ET Sommersemester 2010
Zusammenfassung der Vorwoche
Verteilte Software - Java - Prozedurale Programmierung 1
Java: Dynamische Datentypen
FH-Hof Verwaltung von Zeichenketten Richard Göbel.
WHILE - Anweisung.
FOR Anweisung.
DO...WHILE Anweisung.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Tobias Lauer.
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 2 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 9 Claudio Moraga; Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
PKJ 2005/1 Stefan Dissmann Zusammenfassung der Vorwoche Variable stehen für (einen) Wert, der sich im Programmablauf ändern kann. Variablen besitzen einen.
Einführung in die Programmierung Datensammlung
Struktogramme IF-ELSE FOR – Schleife
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 4 Dr. W. Narzt u. Dr. A. Stritzinger.
LS 2 / Informatik Datenstrukturen, Algorithmen und Programmierung 2 (DAP2)
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Parallel Matrix Multiplication
Informatik 1 Übung 5. NACHBESPRECHUNG Übung 5 Korrekturen Ich prüfe keine Syntax – schreibt wenn was nicht kompiliert Lösungen müssen nicht perfekt sein.
Informatik 1 Übung 4.
Abteilung für Telekooperation Übung Softwareentwicklung 1 für Wirtschaftsinformatik Dr. Wieland Schwinger
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
profil des vortragenden gustav pomberger
Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Style Guidelines für Java und .NET
Algorithmen und Datenstrukturen Übungsmodul 10
Algorithmen und Datenstrukturen SS 2005
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen 1 SS 2007 Dr. W. Narzt u. Dr. A. Stritzinger Institut.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 5 Dr. W. Narzt u. Dr. A. Stritzinger.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Permanente Datenspeicherung
Purga - Scriptengine Ein Einblick.
Algorithmen und Datenstrukturen Übungsmodul 8
Algorithmen und Datenstrukturen Übungsmodul 11
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Thomas Hilpold: Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger.
Algorithmen und Datenstrukturen Übungsmodul 1
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen Übungsmodul 2 Dr. W. Narzt u. Dr. A. Stritzinger.
Algorithmen und Datenstrukturen Übungsmodul 3
Datentypen: integer, char, string, boolean
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Algorithmen und Datenstrukturen 1 SS 2002
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Algorithmen und Datenstrukturen 1 SS 2002
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
1 // Laengste Zeile bestimmen // // Liest die Eingabe Zeichen fuer Zeichen, bis // das erscheint. // Die laengste Zeile wird ausgegeben (bei.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
Lernlandkarte OOP (ObjektOrientiertes Programmieren)
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Algorithmen und Datenstrukturen 1 SS 2002
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Programmierkurs JavaUE 4 Anweisungen und ProgrammeDietrich BolesSeite 1 Programmierkurs Java Dr. Dietrich Boles Teil Imperative Programmierung Unterrichtseinheit.
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen 1 SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Programmierpraktikum Java SS 2005 Mag.Thomas Hilpold.
Controller Werkstatt updaten Werkstatt ws = werkstattarray.get(werkstattId); ws.setName(name); ws.setAnsprechpartner(ansprechpartner); ws.setTelefonnummer(telefonnummer);
TRUE und FALSE in C Der Wert 0 steht für FALSE Jeder von 0 verschiedene Wert steht für TRUE FALSE wird als 0 dargestellt TRUE wird als 1 dargestellt.
Datentypen: integer, char, string, boolean
 Präsentation transkript:

Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut für Wirtschaftsinformatik- Software Engineering JKU Linz

Überblick Darstellungsarten Ein und Ausgabe in Jana Übungsbesprechung Übung 2 Präsentation von 2 Übungen; bei der Präsentation kann der Quelltext von mir am Beamer dargestellt werden. Musterlösung oder eine Übung muß verfügbar sein, um Laborbetrieb zu gewährleisten

Darstellungsarten Prosa Ablaufdiagramm Struktogramm Allgemein verständlich; wenig anschaulich; Gefahr von Mehrdeutigkeit, Unstrukturiertheit   Ablaufdiagramm sehr anschaulich; Gefahr von Unstrukturiertheit; Aufwendig zu erstellen Struktogramm anschaulich; Aufwendig zu erstellen Algorithmenbeschreibungssprache anschaulich; flexibel in der Handhabung; präzise oder grob je nach Form; leicht in Programmiersprache übersetzbar Programmiersprache Präziseste und vollständigste Beschreibungsform Alle Variablen und Konstante müssen deklariert sein (sprachabhängig) Alle Anweisungen müssen den syntaktischen Regeln der Sprache entsprechen User: integer erwartet, String eingegeben Device: Hardware Fehler: Printer ausgeschaltet, Festplatte defekt, Web-page kurzfristig nicht erreichbar Physical: Disk full, Mem full Code errors: Eine Methode wird inkorrekt ausgeführt, ungültiger Array index

Ablaufdiagramm Liest durch komma separierte Integers aus einer Datei Problem im Beispiel: Was ist geschehen, wenn –1 zurückgegeben wird File zu ende, Disk defekt, an der Lesestelle steht kein auswertbarer Integer "I23" (Buchstabe I) Vöest; interner Fehler der Java Maschine, Speicher voll

Struktogramm Liest durch komma separierte Integers aus einer Datei liste[i]<>x Liest durch komma separierte Integers aus einer Datei Problem im Beispiel: Was ist geschehen, wenn –1 zurückgegeben wird File zu ende, Disk defekt, an der Lesestelle steht kein auswertbarer Integer "I23" (Buchstabe I) Vöest; interner Fehler der Java Maschine, Speicher voll

Algorithmenbeschreibungssprache jana (java-based abstract notation for algorithms) int search (list l int len int x) { Anweisungen return i } sort ( int[1..n] valueArr boolean increase) { Anweisungen }

Programmiersprache Java int search (int[] values, int x) { boolean found = false; int i = 0; while (!found && i < values.length()) { // check if value is x if (values[i] == x) { found = true; } else { i++; } } if (!found) i = -1; return i }

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) } Beispiel Lesen und Schreiben aller Zeichen bis an das Ende im Eingabestrom.

Zeichen und Zahlen in Jana Ord int ord( char ch) Liefert den Ordinalwert (z.B. ASCII-Code) des Zeichens ch Beispiele Umwandeln eines Zeichens (Ziffer) in eine Zahl. Umwandeln von Klein- in Großbuchstaben. int i char c c = ‘4‘ i = Ord(c) – Ord(‘0‘) char c = ‘g‘ if (‘a‘<= c <=‘z‘) { int offset = Ord(c)-Ord(‘a‘) write(Chr(Ord(‘A‘) +offset)) }

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 }

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.

Dezimal- und Binärdarstellung Algorithmus in Jana 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 x%2 1 bitStr 00 100 0100 00100 100100 1100100 01100100

Schachbrettmuster Frage Erster Entwurf 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 XOXOXOXO OXOXOXOX XOXOXOXO OXOXOXOX

Schachbrettmuster Algorithmus in Jana chessBoard(int n) { for(int row=1.. n) { for(int col=1..n) { if ( (row+col)%2 == 0){ write(‘X‘) } else { write(‘O‘) } }//for writeln() // Zeile fertig }//chessBorad