Informatik 1 Letzte Übung.

Slides:



Advertisements
Ähnliche Präsentationen
Ziele von EINI I + II Einführen in „Informatik“
Advertisements

Imperative Programmierung
der Universität Oldenburg
Konzepte objektorientierter Systeme
Seminar: "Einführung in C/C++" Einführung in die Programmiersprache C/C++ Donnerstag Andreas Döring SS 2004.
der Universität Oldenburg
der Universität Oldenburg
Datenstrukturen Look-Up Tabellen, Zufallszahlen, Listen, Speichermanagement und Dateiverwaltung.
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Referenzen und Zeichenketten
Datentyp- umwandlung. Literale sind: Bezeichner mit einem festen Wert wie z.B:
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
Universität Dortmund, Lehrstuhl Informatik 1 EINI II Einführung in die Informatik für Naturwissenschaftler und Ingenieure.
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Diskrete Mathematik I Vorlesung Listen-
Abstrakter Datentyp in C++ I - Klasse -
C++ Standardbibliothek
1 C++ Standardbibliothek Breymann_Folien Die C++ Standardbibliothek (standard library) stellt ein erweiterbares Rahmenwerk mit folgenden Komponenten zur.
DVG Klassen und Objekte
Einführung in die Programmierung Datensammlung
Einführung in die Programmierung Anweisungen und Datentypen
Grundkonzepte Java - Klassendefinition
Einführung in die Programmierung
Informatik 1 Übung 2.
Einführung in die Programmierung
Informatik 1 Übung 8. NACHBESPRECHUNG Übung 8 Rekursion Existiert Weg von A nach B?
Einführung in die Programmierung
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.
EPROG Tutorium Einheit 4 Klassen und Objekte. Wiederholung Schleifen do... while while for break/continue Strings String char Methoden für Strings Arrays.
Einführung in die Programmierung Wintersemester 2009/10 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
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 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 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 Programmierung Wintersemester 2009/10 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
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
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 Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät.
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 Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmierung
Einführung in die Programmiersprache C 4
Dynamische Datentypen
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Aufruf einer Methode eines Objektes vom Typ „Bruch“
Purga - Scriptengine Ein Einblick.
Arrays / Felder Themen: Arrays / Felder / Vektoren Was soll das eigentlich? Erstellen von Arrays Arrays auslesen. Wie sie verwaltet werden.
Brüche-Quartett Klasse 6-8 Spieler 4-6. Brüche-Quartett A1 Brüche-Quartett A2 Brüche-Quartett A3 Brüche-Quartett A4 Brüche-Quartett B1 Brüche-Quartett.
Java-Kurs - 8. Übung Besprechung der Hausaufgabe.
Repetitorium PG : Standard Template Library FH-Darmstadt, FB Informatik.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Übersicht Nachtrag zu Ausdrücken
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
1 // Heap als ADT // JW: V1.0 // Vorlage gemaess EED-Quelltext // #include #include // für double pow (double d, int i) #include // fuer INT_MIN.
Java-Kurs - 6. Übung Besprechung der Hausaufgabe
Mag. Thomas Hilpold, Universität Linz, Institut für Wirtschaftsinformatik – Software Engineering 1 Algorithmen und Datenstrukturen 1 SS 2002 Mag.Thomas.
Namensräume (namespaces). verwendet man umfangreiche eigene und fremde Bibliotheken (Sammlungen von Funktionen) so ist die Wahrscheinlichkeit groß, daß.
Einführung in die Programmierung Wintersemester 2015/16 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Die STL. Schreiben und Lesen von Dateien  Einbinden von  Lesen und Schreiben über stream-Objekte Streams führen Transformationen zwischen Programmobjekten.
Java Programme nur ein bisschen objektorientiert.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
Tutorium Software-Engineering SS14 Florian Manghofer.
THOMAS HANNEFORTH C++ IN DER CL II. GRUNDLEGENDE THEMEN Objektkonstruktion/ Objektdestruktion/ Zuweisung Objekte, Zeiger und Referenzen Wert und Referenzaufruf.
Pointer. * und &  Bei der Definition int var1; ○ // „normale“ Variable int *var2; ○ // Zeiger auf einen Integer int *var2 = NULL; ○ // … incl. Initialisierung.
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
Implementieren von Klassen
 Präsentation transkript:

Informatik 1 Letzte Übung

STL WIEDERHOLUNG

STL Standard Type Library Datentypen und Algorithmen Sehr umfangreich, Hilfe benutzen Alle im namespace std #include <vector> std::vector<int> v; #include <vector> using std::vector; vector<int> v; #include <vector> using namespace std; vector<int> v;

STL Container Container Alle Container sind template-Klassen Name Typ vector Array mit dynamischer Grösse list Verkettete Liste map Assoziatives Array set Menge list<int> v1; // Liste von Zahlen list<string> v2; // Liste von Zeichenketten

STL Container Elemente einfügen und löschen Weitere Operationen siehe Dokumentation vector<int> v; // Leerer Vektor: {} v.push_back(1); // Ein Element: {1} v.push_back(2); // Zwei Elemente: {1,2} v.push_back(3); // Drei Elemente: {1,2,3} v.pop_back(); // Zwei Elemente: {1,2}

STL Container Iteratoren Alle Elemente auflisten Ein Iterator "zeigt" auf ein Element im Container Allgemeines Konzept für alle Container-Typen Alle Elemente auflisten vector<MyType> v; vector<MyType>::iterator it; for(it = v.begin(); it != v.end(); ++it) { MyType& element = *it; // "element" ist hier eine Referenz auf das aktuelle Element }

STL Container Vektor Map std::vector<int> v; v.resize(10); // Grösse ändern v[1] = 1; // Zugriff mit Klammern-Syntax std::map<string, int> m; m["eins"] = 1; // Einfügen mit Klammern-Syntax int i; // Zugriff ist leider kompliziert std::map<string, int>::const_iterator it; it = m.find("eins"); if (it != m.end()) i = *it;

Alle Themen WIEDERHOLUNG

Grunddatentypen Typ vom Ausdruck? Wert der Variablen? int i1 = 1.0 * 2 + 5; int i2 = 9 / 2 * 2.0f; float f1 = 10 * 2 - 5; float f2 = 1.0f + 4; float f3 = 5 / float(2); float f4 = (float)1 + 5 / 2; double d1 = 1.0f + 4; bool b1 = true || !true && true; bool b2 = 3 / 2 > 1; char c1 = '0' + 3;

Zeiger, Referenzen Wert vom Ausdruck? int x[10] = {1,2,3,4,5,6,7,8,9,10}; int y = 2; int z = 3; int* p = &y; int& r = y; int** pp = &p; struct s { int a; }; s s1; s1.a = 10; s* ps = &s1; int i1 = x[1]; int i2 = *(x+1); int i3 = x[x[x[1]]]; int i4 = *(x + 2 * x[1]); int i5 = *y + p; int i6 = r + **pp; p = &z; int i7 = r + **pp; pp = &(x + 1); int i8 = r + **pp; int i9 = (*ps).a; int i10 = ps->a;

Funktionen Aufruf erlaubt? Was kann der Aufruf verändern? void f1(int i, int j); void f2(int* i, int& j); void f3(int const* i, const int* j); int i, j; int k[10]; f1(1, 2); f1(1.5f, 'c'); f1(&i, &j); f2(i, j); f2(&i, j); f3(&i, &j); f3(k[1], k[2]); f3(k+1, k);

Klassen class MyClass { public: MyClass(); // Leerer Konstruktor ~MyClass(); // Destruktor MyClass(int x, int y); // Konstruktor mit Parametern MyClass(const MyClass& rhs); // Kopier-Konstruktor MyClass& operator= (const MyClass& rhs); // Zuweisungs-Operator MyClass operator+(const MyClass& rhs); // mathematischer Operator void doSomething(); // Methode int getSomething() const; // Methode private: int mX; // Member-Variable int mY; // Member-Variable };

2010 Alte Prüfung

Prüfung 2010