Algorithmen zur Datenanalyse in C++



Ähnliche Dokumente
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:

Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)

Algorithmen zur Datenanalyse in C++

Klausur in Programmieren

Algorithmen zur Datenanalyse in C++

Einführung in die C++ Programmierung für Ingenieure

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

Einführung in die Programmierung

Einführung in die Programmierung (EPR)

Unterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur

Informatik Repetitorium SS Volker Jaedicke

Deklarationen in C. Prof. Dr. Margarita Esponda

Pass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl

Vorkurs C++ Programmierung

C-Probeklausur (Informatik 1; Umfang: C, Teil 1; SS07)

1. Übung zu "Numerik partieller Differentialgleichungen"

Rechnerorganisation Tutorium Nr. 1

Programmieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff

C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 16

Projektverwaltung Problem Lösung: Modulare Programmierung

Zusammenfassung des Handzettels für Programmieren in C

Zählen von Objekten einer bestimmten Klasse

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Delegatesund Ereignisse

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Klausur in Programmieren

Modellierung und Programmierung

Klausur C++ #1 Jahr: 2001; Dozent: Dipl.Ing. Sorber

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Informatik I (D-MAVT)

Angewandte Mathematik und Programmierung

Einführung in die Programmierung

Objektbasierte Entwicklung

Programmieren in C. Rekursive Funktionen. Prof. Dr. Nikolaus Wulff

Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Programmieren II Klassen. Zur Erinnerung.

Numerische Methoden und Algorithmen in der Physik

Einführung in die Programmiersprache C

Objektorientierte Programmierung mit C++ Vector und List

Modellierung und Programmierung 1

Programmentwicklung mit C++ (unter Unix/Linux)

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

C++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen

Name: Klausur Programmierkonzepte SS 2011

Unterlagen. CPP-Uebungen-08/

Funktionale Programmierung mit Haskell

Kapitel 7: Rekursion. Inhalt. Rekursion: Technik Rekursion vs. Iteration

C++-Zusammenfassung. H. Schaudt. August 18, 2005

Tutorium Rechnerorganisation

Einführung in wxwidgets & wxdev-c++

Fakultät Angewandte Informatik Lehrprofessur für Informatik

Modul 122 VBA Scribt.docx

12. Vererbung. Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)

2. Semester, 2. Prüfung, Lösung

1 Vom Problem zum Programm

Einführung in die C-Programmierung

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

KV Software Engineering Übungsaufgaben SS 2005

Einfache Arrays. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Inhalt. 4.7 Funktionen

Die Programmiersprache C

Programmierkurs Java

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Einführung in die Programmierung

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 18

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

Methoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only

Fortgeschrittene C++-Programmierung

Klausur in Programmieren

Kontrollstrukturen und Funktionen in C

Eine Einführung in C-Funktionen

MPI-Programmierung unter Windows mit MPICH2. Installieren von MPICH2, Übersetzen, Ausführen und Debuggen von MPI-Programmen. Christian Terboven

Klausur zu Objektorientierter Softwareentwicklung in C++ 4. Februar 2003 (WS 2002/2003) Beispiellösung

Der Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, , Ingo Josopait

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek

Klausur Programmieren in C Sommersemester 2007 Dipl. Biol. Franz Schenk 13. April 2007, Uhr Bearbeitungszeit: 105 Minuten

Die Programmiersprache C99: Zusammenfassung

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Übungspaket 31 Entwicklung eines einfachen Kellerspeiches (Stacks)

Fallunterscheidung: if-statement

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Einführung in die Programmierung

Lösungsvorschlag zum Übungsblatt 1 zur Vorlesung Informatik II / WS2001/02

Testen mit JUnit. Motivation

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

5. Unterprogrammtechnik/Module

C/C++-Programmierung

Programmierung in C. Grundlagen. Stefan Kallerhoff

Übungen zu C++ Kapitel 1

Numerische Methoden und Algorithmen in der Physik

Transkript:

Algorithmen zur Datenanalyse in C++ Hartmut Stadie 23.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 16

Einführung Algorithmen zur Datenanalyse in C++ Hartmut Stadie 2/ 16

Übersicht Einführung Informationen Algorithmen zur Datenanalyse in C++ Hartmut Stadie 3/ 16

Informationen Ablauf: Vorlesung: montags 16:00 Hörsaal III Übung: im Anschluss an die Vorlesung in 9/302 und 9/305 Material: Stroustrup: The C++ Programming Language, 3rd edition http://www.mathematik.uni-marburg.de/ cpp/ Press et al: Numerical Recipes, 3rd edition http://wwwiexp.desy.de/studium/lehre/cplusplus/ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 4/ 16

Übersicht Einführung Deklaration Variablengeltungsbereich Argumente Rückgabewert Überladene Default-Argument Hauptprogramm: main Beispiel Algorithmen zur Datenanalyse in C++ Hartmut Stadie 5/ 16

Deklaration double sqrt(double); //Definition double sqrt(double x) {... return ergebnis; ; Algorithmen zur Datenanalyse in C++ Hartmut Stadie 6/ 16

Variablengeltungsbereich #include <iostream> int i; int main(const int argc, const char **argv) { { int i; static int j; std::cout << i << ", " << j << \n ;//134514688, 0 i = 3; std::cout << i << \n ;//3 { int i = i; std::cout << i << \n ;//10240032 std::cout << ::i << \n ;//0 std::cout << i << \n ;3 std::cout << i << \n ;0 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 7/ 16

Funktionsargumente normal als Kopie: Argumentvariable wird nicht verändert! Anders bei Referenz void f(int a, int& b) { a++; b++;... int c = 0,d = 0; f(c,d);//c=0, d=1 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 8/ 16

Rückgabewert Wenn Funktion mit Typ deklariert, muss return einen Wert zurückgeben! int f1() {;//falsch void f2() {;//ok int f3() { return;//falsch int f4() {return 1;//richtig void f5() { return;//richtig void f6() { return 4;//falsch int& fr() { int i = 9; return i;//falsch Algorithmen zur Datenanalyse in C++ Hartmut Stadie 9/ 16

Überladene überladen: gleicher Name, unterschiedliche Argumenttypen void print(long); void print(double); int main() { const long l =9; print(l); print(0.346); print(4l); print(0.3f);//float->double print(3);//int -> long oder int ->double??? Algorithmen zur Datenanalyse in C++ Hartmut Stadie 10/ 16

Umwandlungsregeln Regeln: exakt oder trivial z.b. T const T Promotionen (ganzzahlige Promotionen oder float double) z.b. bool int, char int, short int,(+ unsigned) float double Standardkonversionen z.b. int double, double int, double long double, int unsigned int... Algorithmen zur Datenanalyse in C++ Hartmut Stadie 11/ 16

Default-Argument void f(int a = 9); { f(7); f();//f(9) Algorithmen zur Datenanalyse in C++ Hartmut Stadie 12/ 16

Hauptprogramm: main int main(int argc, char* argv[]) {... Algorithmen zur Datenanalyse in C++ Hartmut Stadie 13/ 16

Beispiel: Euklidischer Alorithmus Aufgabe: Finde größten gemeinsamen Teiler(ggT) zweier ganzer Zahlen Euklidischer Algorithmus: Wikipedia: Beispiel: ggt von 6 und 27 EUCLID(a,b) 1 solange b ungleich 0 2 h -> a mod b 3 a -> b 4 b -> h 5 return a Algorithmen zur Datenanalyse in C++ Hartmut Stadie 14/ 16

Beispiel: Euklidischer Alorithmus Aufgabe: Finde größten gemeinsamen Teiler(ggT) zweier ganzer Zahlen Euklidischer Algorithmus: Wikipedia: EUCLID(a,b) 1 solange b ungleich 0 2 h -> a mod b 3 a -> b 4 b -> h 5 return a Beispiel: ggt von 6 und 27 a b h 6 27 6 27 6 3 6 3 0 3 0 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 14/ 16

Euklidischer Algorithmus EUCLID(a,b) 1 solange b ungleich 0 2 h -> a mod b 3 a -> b 4 b -> h 5 return a Beispiel: ggt von 6 und 27 int ggt(int a, int b) { while(b!= 0) { int h = a % b; a = b; b = h; return a; a b 6 27 27 6 6 3 3 0 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 15/ 16

Rekursion als rekursive Funktion: int ggt(int a, int b) { if(b == 0) return a; return ggt(b, a % b); Beispiel: ggt von 6 und 27 a b 6 27 27 6 6 3 3 0 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16/ 16