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

Slides:



Advertisements
Ähnliche Präsentationen
der Universität Oldenburg
Advertisements

Suche in Texten (Stringsuche )
der Universität Oldenburg
Java: Dynamische Datentypen
ARRAY oder FELD oder VEKTOR
Konstruktoren.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (02 – Funktionenklassen) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
Algorithmen und Datenstrukturen
Informatik II, SS 2008 Algorithmen und Datenstrukturen Vorlesung 4 Prof. Dr. Thomas Ottmann Algorithmen & Datenstrukturen, Institut für Informatik Fakultät.
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (03 – Verschiedene Algorithmen für dasselbe Problem) Prof. Dr. Th. Ottmann.
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 7 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
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Zusammenfassung Vorwoche
DVG Ablaufsteuerung
DVG Methoden 1 Methoden. 2 int dezi = Integer.parseInt(args[0]); boolean vz = (dezi>=0); dezi = Math.abs(dezi); String Bin = ""; do { } while.
DVG Klassen und Objekte
3D Programmierung Version 12 - Highscores. Die vom Spieler erzielte Punktzahl wird mit 5 vorgegebenen Punktzahlen verglichen und, falls nötig, in die.
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)
Übungen zum Vortrag „Backtracking mit Heuristiken“
Rekursion mit Listen: Quicksort
Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fachbereich.
Einführung in die Programmierung
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.
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.
Christian Mansky Design - Fallstudien Christian Mansky
Algorithmen und Datenstrukturen Übungsmodul 6
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 SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Permanente Datenspeicherung
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 SS 2005
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
CuP - Java Neunte Vorlesung Entspricht Kapitel 4.2 und 5 des Skriptums
Agenda für heute, 12. Mai, 2005 ProzedurenProzeduren Funktionsprozeduren Prozedurparameter Lokale und globale Variablen Datentypen: Ordinaltypen.
BMEVIEEA100 Grundlagen der Programmierung
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.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
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.
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.
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Einführung in die Programmierung
Einführung in die Programmierung
Implementieren von Klassen
Einführung in die Programmierung
 Präsentation transkript:

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

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 2 Algorithmen mit Gedächtnis Begriff e … Eingangsgrößen a … Ausgangsgrößen normaler Algorithmus a = ƒ(e) Die Ausgangsgrößen sind eine Funktion der Eingangsgrößen Frühere Aufrufe haben keinerlei Auswirkungen auf spätere Algorithmus mit Gedächtnis weitere Größe s (innerer Zustand) a = ƒ(e, s n ) s n+1 = g(e, s n ) Frühere Aufrufe des Algorithmus wirken sich auf spätere aus

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 3 Algorithmen mit Gedächtnis Realisierungsformen (1) Externe Zustandsgrößen (globale Variable) Zustandsgrößen nicht verborgen, werden außerhalb initialisiert, können aber auch außerhalb verändert werden int sum = 0 // auch für weitere Algorithmen sichtbar addValue( int v) { sum = sum + v write("Aktuelle Summe = ") writeln(sum) } Spezialform: Modul (modul-globale Variable, nicht nach außen sichtbar)

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 4 Algorithmen mit Gedächtnis Realisierungsformen (2) Zustandsgrößen als Parameter Der Algorithmus hat kein Gedächtnis! Daten werden bei jedem Aufruf mitgegeben - nicht verborgen (unsicher) addValue( int v int sum) { sum = sum + v write("Aktuelle Summe = ") writeln(sum) }

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 5 Algorithmen mit Gedächtnis Realisierungsformen (3) Statisch initialisierte Größen (static) Nur bei Sprachen, die statische Größen und Initialisierung erlauben (C, C++, Java) addValue( int v) { static int sum = 0 // nur in addValue sichtbar sum = sum + v write("Aktuelle Summe = ") writeln(sum) }

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 6 Algorithmen mit Gedächtnis Anwendungsbeispiele Pseudozufallszahlen gepufferte Eingabe von Datei allgemein: Algorithmen, bei denen nicht alle Werte auf einmal kommen t Durchschnittsbildung t Messwerte t Eingabestrom t Automaten (Zustände bleiben erhalten)

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 7 Algorithmen mit Gedächtnis Beispiel Schreiben Sie einen Algorithmus mit Gedächtnis, der als Eingangsparameter einen aktuellen Messwert für einen Luftschadstoff erwartet und bei jedem 10. Aufruf den aktuellen Mittelwert für alle bisherigen Messwerte und das bisher aufgetretene Maximum ausdruckt. Verwendung: addSample(0.123) addSample(0.23) addSample(0.421) addSample(0.232).... //nach 10. Aufruf: Maximum = 7.21 Durchschnitt = //nach

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 8 Algorithmen mit Gedächtnis addSample( float val) { static float max = 0 static float avg = 0 static int numOfVal = 0 if (val > maxVal) { maxVal = val } avg = (avg * numOfVal + val) / (numOfVal + 1) numOfVal ++ if (numOfVal % 10 == 0) { write("Maximaler Wert = "); writeln(max) write("Durschnitt = "); writeln(avg) }

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 9 Algorithmen mit Gedächtnis Beispiel l Bei der Eingabe eines Passworts hat man drei Versuche, das richtige und gültige Passwort einzugeben. Das Passwort wird in einer globalen Variablen passwd gespeichert und mittels der Funktion setPasswd( word) jeweils gesetzt oder geändert. l Schreiben Sie einen Algorithmus, der zur Überprüfung des eingegebenen Passworts dient. Der Algorithmus checkPasswd( word) liefert true, wenn das Passwort richtig ist und false, wenn es falsch ist. Nach der dritten inkorrekten Angabe eines Passworts wird jeglicher weitere Versuch checkPasswd aufzurufen sofort mit false beendet. Ein korrekter Versuch setzt alle Zählvariablen wieder auf den Initialzustand zurück. Als Einschränkung soll ein Passwort aus genau 6 Zeichen bestehen.

Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 10 Algorithmen mit Gedächtnis char passwd[1:6] boolean checkPasswd( char word[1:6]) { static int count = 0 int i count = count + 1 if (count > 3) { return false } i = 1 while ((i <= 6) && (word[i] == passwd[i])) { i= i+1 } if (I == 7) { count = 0 return true } else { return false } Anmerkung: Was passiert, wenn man 3x bereits falsch eingegeben hat? (Rücksetzen möglich?)