Algorithmen und Datenstrukturen 03

Ähnliche Dokumente
Algorithmen und Datenstrukturen 02

Wie kann man es verhindern das Rad immer wieder erneut erfinden zu müssen?

Programmiertechnik Methoden, Teil 2

JAVA - Zufallszahlen

MATLAB-Tutorium WS18 Nathalie Marion Frieß

Suchen und Sortieren Sortieren. Heaps

Teil II. Datentypen. T. Neckel Einführung in die wissenschaftliche Programmierung IN8008 Wintersemester 2017/

Informatik II Übung, Woche 10

Themen der Übung. Methoden und Wrapperklassen. Vorteile von Methoden. Methoden. Grundlagen

Methoden und Wrapperklassen

Informatik II Übung 2. Pascal Schärli

Perl-Workshop, Teil II

Welche Informatik-Kenntnisse bringen Sie mit?

Kurze Einführung in die Programmiersprache C++ und in Root

2 Eine einfache Programmiersprache

Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Klassenmethoden Teil 2

Martin Unold INFORMATIK. Geoinformatik und Vermessung

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

Programmierpraktikum

2 Eine einfache Programmiersprache

Informatik II Prüfungsvorbereitungskurs

(08 - Einfache Sortierverfahren)

Woche 6. Cedric Tompkin. April 11, Cedric Tompkin Woche 6 April 11, / 29

Selbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer

Klaus Schliep. 16. Februar 2004

Kap 7. Funktionen und Arrays

Objekttypen. Referenzen, Objekte, Gleichheit, Wrapper, Arrays, mehr-dimensionale Arrays, Bildbearbeitung, krumme Arrays

Einführung in die Programmiersprache C

f 1 (n) = log(n) + n 2 n 5 f 2 (n) = n 3 + n 2 f 3 (n) = log(n 2 ) f 4 (n) = n n f 5 (n) = (log(n)) 2

Informatik II Vorlesung am D-BAUG der ETH Zürich

Übungsstunde: Informatik 1 D-MAVT

3.8 Objekttypen und Arrays. Wir werden uns in diesem Kapitel näher mit den Objekttypen in Java beschäftigen.

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Strings in Java. Die String Klasse und Methoden. A. Müller

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1

Wiederholung JAVA. 1. (Vorbereitung)

17. Oktober Ubucon 2010, Universität Göttingen. Eine Einführung in Tcl. Dominik Wagenführ. Einleitung. Grundlagen. Strings.

Die einfachsten Anweisungen

2 Eine einfache Programmiersprache

5. Java Arrays und Strings

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

Algorithmen und Datenstrukturen

Beispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme

Primitive Datentypen, Eingaben, Kontrollstrukturen und Methodendeklaration

Suchen und Sortieren Sortieren. Heaps

Übung Algorithmen und Datenstrukturen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 12/13. Kapitel 3. Grunddatentypen, Ausdrücke und Variable

Arrays (Reihungen) Arrays (Reihungen) in Java: Syntax, Typisierung, Semantik.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

Typdeklarationen. Es gibt in Haskell bereits primitive Typen:

Zeichen. Datentyp char. char ch = 'x'; Page 1. Zeichen braucht man zur Verarbeitung von Texten, Namen, Bezeichnungen. Zeichencodes

Nachtrag: Vergleich der Implementierungen von Stack

Selbststudium OOP6 & ALG1 Auftrag

Objektorientierung II & die Java Klassenbibliothek. Kristian Bergmann und Arthur Lochstampfer

7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen

Gliederung. 5. Compiler. 6. Sortieren und Suchen. 7. Graphen

Informatik II. Woche 15, Giuseppe Accaputo

Nachtragstest in Programmkonstruktion 1. Phase. 1. Multiple-Choice-Aufgaben

Java Datentypen und Variablen

18. Natürliche Suchbäume

Algorithmen und Datenstrukturen 01

public static void replace(stringbuffer b) { for (int i = 0; i < b.length(); i++) { char replacechar; switch( b.charat(i) ) {

Probeklausur zur Vorlesung

Algorithmen und Programmierung III

8. A & D - Heapsort. Werden sehen, wie wir durch geschicktes Organsieren von Daten effiziente Algorithmen entwerfen können.

Die Programmiersprache C Eine Einführung

Aufruf des Compilers in der Kommandozeile und Ausführung des Programms:

C++ Kurs Teil 3. Standard Template Library (STL) Kommunikation mit der shell Hyper Text Markup Language (HTML)

Computerphysik II. Python Einführung. S. Gerlach. WiSe S. Gerlach Computerphysik II

API und Kommentare. Javakurs 2014, 4. Vorlesung. Georg Hieronimus. basierend auf der Vorlage von Theresa Enghardt, Mario Bodemann und Sebastian Dyroff

Fallstudie: Online-Statistik

Informatik I: Einführung in die Programmierung

Institut für Informatik

Programmierkurs. Steffen Müthing. November 16, Interdisciplinary Center for Scientific Computing, Heidelberg University

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

II. Grundlagen der Programmierung. Beispiel: Merge Sort. Beispiel: Merge Sort (Forts. ) Beispiel: Merge Sort (Forts. )

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

8. Ausdrücke, Operatoren (einfache Typen)

7. Arrays. Beim Deklarieren und Initialisieren der Liste bräuchte man oft zueinander sehr ähnlichen Code:

Einführung in R. 17. April Emacs mit Erweiterung ESS (

Programmier-Befehle - Woche 09

Algebraische Spezifikation von Software und Hardware II

Über den Autor 7. Einführung 19

Inhaltsverzeichnis. Inhalt. Bemerkung... 9 Vorwort Programme und Programmiersprachen

13. Java Klassen. Lernziele. Klassen - Technisch. Definition: Klassen

Operatoren und Ausdrücke

2. AuD Tafelübung T-C3

Programmieren in Java

9. Natürliche Suchbäume

3. Grundlegende Sprachkonstruktionen imperativer Programme

Mathematische Computer-Software

Klausur Fachprüfung Wirtschaftsinformatik Dauer: 2 Stunden. Name:

1. Typen und Literale (6 Punkte) 2. Zuweisungen (6 = Punkte)

Wie rechnet ein Rechner?

Der Datentyp String. Stringvariable und -vergleiche

Martin Unold INFORMATIK. Geoinformatik und Vermessung

In C und Java müssen Variablen und Methodenergebnisse durch Typangaben erläutert werden. Welche der folgenden Aussagen sind korrekt und welche nicht:

Transkript:

8. November 2011

Inhaltsverzeichnis 1 Besprechung Blatt 2 Matrix Multiplikation Simple Search 2 Vorbereitung Blatt 3 Fehlersuche LectureHall 3 Die Java Api Was ist die API?

Matrix Multiplikation AdvancedMatrix.java int[][] a =...; // matrix A int[][] b =...; // matrix B int[][] c =...; // result // c = a * b for (int row = 0; row < c.length; row++) for (int col = 0; col < c[0].length; col++) for (int idx = 0; idx < a[0].length; idx++) c[row][col] += a[row][idx] * b[idx][col];

Simple Search SimpleSearch.java if (content.length() > sourcestring.length()) return -2; for (int pos = 0; pos + content.length() < sourcestring.length(); pos++) for (int j = 0; j < content.length(); j++) return -1; // as soon as a character differs, go to the next position if (sourcestring.charat(pos + j)!= content.charat(j)) break; // last character is a match, we are finished here else if (j == content.length() - 1) return pos;

Fehlersuche Fehlersuche: Compile Error:

Fehlersuche Fehlersuche: Compile Error: Während dem kompilieren Runtime Error:

Fehlersuche Fehlersuche: Compile Error: Während dem kompilieren Runtime Error: Bei der Ausführung (Logical Error:

Fehlersuche Fehlersuche: Compile Error: Während dem kompilieren Runtime Error: Bei der Ausführung (Logical Error: Falsches Ergebnis) Verstoß gegen Codierrichtlinien

Fehlersuche Fehlersuche: Compile Error: Während dem kompilieren Runtime Error: Bei der Ausführung (Logical Error: Falsches Ergebnis) Verstoß gegen Codierrichtlinien Anzahl der Punkte Anzahl der Fehler im Code!

LectureHall LectureHall getneighbours gibt die Besetzung der Nachbarschaftsplätze zurück, nicht die Platznummern simpleattendant liefert entweder die am weitest vorne gelegene Sitzplatzgruppe in ausreichender Größe zurück oder, falls es nicht genügend nebeneinander liegende Sitzplätze gibt, der Reihe nach von vorne nach hinten die ersten freien Plätze, die gefunden werden können simpleattendant gibt Array der Sitzplatzkoordinaten zurück result[0][0] == x-koordinate des 1. freien Sitzplatzes result[0][1] == y-koordinate des 1. freien Sitzplatzes result[1][0] == x-koordinate des 2. freien Sitzplatzes...

Was ist die API? Die Java API Application Programming Interface beschreibt alle Methoden der Java Standardbibliothek enthält Hilfsfunktionen für verschiedenste Probleme

Was ist die API? Die Java API Application Programming Interface beschreibt alle Methoden der Java Standardbibliothek enthält Hilfsfunktionen für verschiedenste Probleme Vorteile einer Standardbibliothek: man spart sich Code (!) tauchen diese Funktionen in fremden Code auf, kennt man diese vielleicht bereits und muss sich nicht darin einlesen

Was ist die API? Beispiele verschiedenste Datenstrukturen Methoden für Ein-/Ausgabe (engl. Input/Output, kurz: IO) Dateizugriffe, Bildschirmausgabe Methoden zum Zeichnen von Grafiken und viel mehr :)

Was ist die API? Verwendung der API http://download.oracle.com/javase/6/docs/api/ sortiert nach Packages und Klassen (Vorlesung Abschnitt 6) die Seitennavigation ist gewöhnungsbedürftig besser Google nutzen: java api <Klasse/Funktion> bevorzugt auf Links der Version 6 klicken, meistens ist diese jedoch irrelevant!

Was ist die API? Math - Mathematische Funktionen und Konstanten π (PI), e (E) Betragsfunktion (abs) Wurzel (sqrt), Potenz (pow) Minimum (min), Maximum (max) Runden (round) Trigonometrische Funktionen (sin, cos,...) Logarithmus (log), e-funktion (exp) Zufallszahlen (random)

Was ist die API? Array - Füllen, Sortieren und Kopieren das Array mit einem Wert füllen (fill) den Arrayinhalt sortieren (sort) eine Reihe von Elementen kopieren (copyof)

Was ist die API? Integer - Konvertierungen und Konstanten Extremwerte (MAX VALUE, MIN VALUE) einen String in eine Zahl konvertieren (parseint) existiert für alle primitiven Datentypen (Double, Float,...) String - Zerteilen, Durchsuchen und Ersetzen ein Zeichen auslesen (charat) eine Zeichenkette suchen (contains) die Position einer Zeichenkette suchen (indexof) eine Zeichenkette ersetzen (replace)

Was ist die API? Noch Fragen?