Hallo-Welt-Seminar ICPC in a nutshell

Größe: px
Ab Seite anzeigen:

Download "Hallo-Welt-Seminar ICPC in a nutshell"

Transkript

1 Hallo-Welt-Seminar ICPC in a nutshell Tobias Polzer 11. April 2016 Tobias Polzer ICPC in a nutshell 11. April / 24

2 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe 4 Teamstrategien 5 Trainingsmöglichkeiten Tobias Polzer ICPC in a nutshell 11. April / 24

3 C++ - Intro Tipps zum ICPC Verwendung von Vektoren oder statischen Arrays (kein malloc/new/free/delete) Tobias Polzer ICPC in a nutshell 11. April / 24

4 C++ - Intro Tipps zum ICPC Verwendung von Vektoren oder statischen Arrays (kein malloc/new/free/delete) Verwendung des headers, um kürzeren Code zu produzieren (insbesondere all, ll, FOR) Tobias Polzer ICPC in a nutshell 11. April / 24

5 C++ - Intro Tipps zum ICPC Verwendung von Vektoren oder statischen Arrays (kein malloc/new/free/delete) Verwendung des headers, um kürzeren Code zu produzieren (insbesondere all, ll, FOR) Verwendung implementierter STL-Methoden Tobias Polzer ICPC in a nutshell 11. April / 24

6 C++ - Intro kompilieren von datei.cpp mit $ e x p o r t CXXFLAGS= Wall Wextra O g s t d=c++11 $ make d a t e i #(nach jeder Modifikation von datei.cpp) Testen von datei.cpp mit dem Sampleinput in datei.in und Sampleoutput in datei.out: $. / d a t e i < d a t e i. i n d i f f us d a t e i. out Tobias Polzer ICPC in a nutshell 11. April / 24

7 C++ Intro - STL Container Nützliche STL Container: vector, list, dequeue, (unordered )(multi)set, (unordered )(multi)map Referenz unter: en.cppreference.com/w/cpp Tobias Polzer ICPC in a nutshell 11. April / 24

8 C++ Intro - STL Container pair<?,?> bzw. tuple<...> Erzeugung: pair<int, int> a = make pair(3, 7); tuple<bool, double, double> b = make tuple(true, 1e-7,.1); Tobias Polzer ICPC in a nutshell 11. April / 24

9 C++ Intro - STL Container pair<?,?> bzw. tuple<...> Erzeugung: pair<int, int> a = make pair(3, 7); tuple<bool, double, double> b = make tuple(true, 1e-7,.1); Zugriff: a.first = a.second + get<0>(b); double x, y; tie(ignore, x, y) = b; a.first = get<a.first>(b); Tobias Polzer ICPC in a nutshell 11. April / 24

10 C++ Intro - Einlesen / Auslesen p a i r <i n t, i n t > gettwo ( ) { i n t a, b ; c i n >> a >> b ; cout << J u s t read << a << and << b << e n d l ; r e t u r n mp( a, b ) ; } Falls zu langsam: ios base::sync with stdio(false) \n statt endl C Methoden natürlich auch verwendbar (printf, scanf, etc) Tobias Polzer ICPC in a nutshell 11. April / 24

11 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) Tobias Polzer ICPC in a nutshell 11. April / 24

12 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) (stable )sort / nth element Tobias Polzer ICPC in a nutshell 11. April / 24

13 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) (stable )sort / nth element lower/upper bound / equal range Tobias Polzer ICPC in a nutshell 11. April / 24

14 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) (stable )sort / nth element lower/upper bound / equal range set intersection/union/difference Tobias Polzer ICPC in a nutshell 11. April / 24

15 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) (stable )sort / nth element lower/upper bound / equal range set intersection/union/difference all/any/none of / count / find Tobias Polzer ICPC in a nutshell 11. April / 24

16 C++ - Intro - STL Header verwenden! FORIT / FOR / for(auto x :...) (stable )sort / nth element lower/upper bound / equal range set intersection/union/difference all/any/none of / count / find search Tobias Polzer ICPC in a nutshell 11. April / 24

17 C++ - Intro - STL is sorted Tobias Polzer ICPC in a nutshell 11. April / 24

18 C++ - Intro - STL is sorted unique Tobias Polzer ICPC in a nutshell 11. April / 24

19 C++ - Intro - STL is sorted unique next/prev/is permutation Tobias Polzer ICPC in a nutshell 11. April / 24

20 C++ - Intro - STL is sorted unique next/prev/is permutation copy / fill / iota Tobias Polzer ICPC in a nutshell 11. April / 24

21 C++ - Intro - STL is sorted unique next/prev/is permutation copy / fill / iota rotate / reverse Tobias Polzer ICPC in a nutshell 11. April / 24

22 C++ - Intro - STL is sorted unique next/prev/is permutation copy / fill / iota rotate / reverse (min/max) element / max({a, b, c, d}) Tobias Polzer ICPC in a nutshell 11. April / 24

23 C++ - Intro - STL is sorted unique next/prev/is permutation copy / fill / iota rotate / reverse (min/max) element / max({a, b, c, d}) swap Tobias Polzer ICPC in a nutshell 11. April / 24

24 C++11 Lambdaausdrücke Nützlich z.b. als Vergleichsfunktion für sort i n t a = 3 ; auto f 1 = [ = ] ( i n t b ) { r e t u r n a+b ; } ; auto f 2 = [ & ] ( i n t b ) { r e t u r n a+b ; } ; // auto f 3 = [ ] ( ) { r e t u r n a ; } > c o m p i l e e r r o r a = 1 0 ; cout << f 1 ( 1 ) << << f 2 ( 1 ) << e n d l ; erzeugt: 4 11 Tobias Polzer ICPC in a nutshell 11. April / 24

25 C++11 auto auto i = 3 ; // i n t auto j = 3LL ; // l o n g l o n g Tobias Polzer ICPC in a nutshell 11. April / 24

26 C++11 auto auto i = 3 ; // i n t auto j = 3LL ; // l o n g l o n g v e c t o r <i n t > v ; c o n s t auto v2 = v ; // c o n s t v e c t o r <i n t > auto i t = b e g i n ( v ) ; // v e c t o r <i n t >:: i t e r a t o r auto i t 2 = b e g i n ( v2 ) ; // v e c t o r <i n t >:: c o n s t i t e r a t o r Tobias Polzer ICPC in a nutshell 11. April / 24

27 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe 4 Teamstrategien 5 Trainingsmöglichkeiten Tobias Polzer ICPC in a nutshell 11. April / 24

28 Inputgrößen und Komplexitäten Betrachte Algorithmus mit Laufzeit O(f (I)), wobei I die Gesamtheit der Inputgrößen darstellt. Tobias Polzer ICPC in a nutshell 11. April / 24

29 Inputgrößen und Komplexitäten Betrachte Algorithmus mit Laufzeit O(f (I)), wobei I die Gesamtheit der Inputgrößen darstellt. Grober Richtwert: f (I max ) 10 6 bei mehreren Testcases im Input f (I max ) 10 8 bei nur einem Testcase im Input Tobias Polzer ICPC in a nutshell 11. April / 24

30 Inputgrößen und Komplexitäten Betrachte Algorithmus mit Laufzeit O(f (I)), wobei I die Gesamtheit der Inputgrößen darstellt. Grober Richtwert: f (I max ) 10 6 bei mehreren Testcases im Input f (I max ) 10 8 bei nur einem Testcase im Input Auf folgendes muss zusätzlich geachtet werden. Komplexität verwendeter Operationen Tobias Polzer ICPC in a nutshell 11. April / 24

31 Inputgrößen und Komplexitäten Betrachte Algorithmus mit Laufzeit O(f (I)), wobei I die Gesamtheit der Inputgrößen darstellt. Grober Richtwert: f (I max ) 10 6 bei mehreren Testcases im Input f (I max ) 10 8 bei nur einem Testcase im Input Auf folgendes muss zusätzlich geachtet werden. Komplexität verwendeter Operationen Funktionen die von STL-Funktionen verwendet werden (z.b. Vergleichsoperator bei sort) Tobias Polzer ICPC in a nutshell 11. April / 24

32 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe 4 Teamstrategien 5 Trainingsmöglichkeiten Tobias Polzer ICPC in a nutshell 11. April / 24

33 ICPC - Wettbewerbe Local Contests: Wintercontest FUN! GCPC - Vorausscheidung zur Findung der Uni-Teams Tobias Polzer ICPC in a nutshell 11. April / 24

34 ICPC - Wettbewerbe Local Contests: Wintercontest FUN! GCPC - Vorausscheidung zur Findung der Uni-Teams Regional Contests: regionale Ausscheidungen unsere Region: NWERC ( in Bath, UK) Tobias Polzer ICPC in a nutshell 11. April / 24

35 ICPC - Wettbewerbe Local Contests: Wintercontest FUN! GCPC - Vorausscheidung zur Findung der Uni-Teams Regional Contests: regionale Ausscheidungen unsere Region: NWERC ( in Bath, UK) World Finals - Weltmeisterschaft: nächstes Jahr in Amritapuri, Indien (vermutlich) FAU hat 2003, 2010, 2011 und 2015 teilgenommen Tobias Polzer ICPC in a nutshell 11. April / 24

36 ICPC - Wettbewerbe fünf Stunden Zeit ein Computer drei Personen je Team acht bis dreizehn Aufgaben Rangliste nach gelösten Aufgaben und benötigter Zeit Tobias Polzer ICPC in a nutshell 11. April / 24

37 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe 4 Teamstrategien 5 Trainingsmöglichkeiten Tobias Polzer ICPC in a nutshell 11. April / 24

38 Teamstrategien Problem: fünf Stunden sind schneller vorbei als man denkt effiziente Ressourcennutzung notwendig! Koordination der Zeiten an Tastatur / Bildschirm sehr wichtig! Tobias Polzer ICPC in a nutshell 11. April / 24

39 Teamstrategien Voraussetzungen für gute Koordination: gute Selbsteinschätzung Tobias Polzer ICPC in a nutshell 11. April / 24

40 Teamstrategien Voraussetzungen für gute Koordination: gute Selbsteinschätzung gute Einschätzung der Teamkollegen Tobias Polzer ICPC in a nutshell 11. April / 24

41 Teamstrategien Voraussetzungen für gute Koordination: gute Selbsteinschätzung gute Einschätzung der Teamkollegen Kooperationsfähigkeit Tobias Polzer ICPC in a nutshell 11. April / 24

42 Teamstrategien nicht sofort auf das erstbeste Problem stürzen Tobias Polzer ICPC in a nutshell 11. April / 24

43 Teamstrategien nicht sofort auf das erstbeste Problem stürzen bei Unsicherheiten kann Paarprogrammierung sinnvoll sein Tobias Polzer ICPC in a nutshell 11. April / 24

44 Teamstrategien nicht sofort auf das erstbeste Problem stürzen bei Unsicherheiten kann Paarprogrammierung sinnvoll sein Programme bereits auf Papier coden Tobias Polzer ICPC in a nutshell 11. April / 24

45 Teamstrategien nicht sofort auf das erstbeste Problem stürzen bei Unsicherheiten kann Paarprogrammierung sinnvoll sein Programme bereits auf Papier coden Computer nur zum Tippen nicht zum Denken Tobias Polzer ICPC in a nutshell 11. April / 24

46 Teamstrategien nicht sofort auf das erstbeste Problem stürzen bei Unsicherheiten kann Paarprogrammierung sinnvoll sein Programme bereits auf Papier coden Computer nur zum Tippen nicht zum Denken nicht zu viele Aufgaben anfangen Tobias Polzer ICPC in a nutshell 11. April / 24

47 Teamstrategien - kein AC bei SEGFAULT: AddressSanitizer, UndefinedBehaviorSanitizer (-fsanitize=address,undefined) Falls Fehler in STL auftritt: davor ungültigen Iterator verwendet? (-D GLIBCXX DEBUG) Falls Variablen komische Werte haben: ungültiger Index in einem lokalen Array? valgrind Tobias Polzer ICPC in a nutshell 11. April / 24

48 Teamstrategien - kein AC bei SEGFAULT: AddressSanitizer, UndefinedBehaviorSanitizer (-fsanitize=address,undefined) Falls Fehler in STL auftritt: davor ungültigen Iterator verwendet? (-D GLIBCXX DEBUG) Falls Variablen komische Werte haben: ungültiger Index in einem lokalen Array? valgrind zusätzliche Testcases generieren Randfälle prüfen Tobias Polzer ICPC in a nutshell 11. April / 24

49 Teamstrategien - kein AC bei SEGFAULT: AddressSanitizer, UndefinedBehaviorSanitizer (-fsanitize=address,undefined) Falls Fehler in STL auftritt: davor ungültigen Iterator verwendet? (-D GLIBCXX DEBUG) Falls Variablen komische Werte haben: ungültiger Index in einem lokalen Array? valgrind zusätzliche Testcases generieren Randfälle prüfen auf Überläufe oder Rundungsprobleme prüfen Tobias Polzer ICPC in a nutshell 11. April / 24

50 Teamstrategien - kein AC bei SEGFAULT: AddressSanitizer, UndefinedBehaviorSanitizer (-fsanitize=address,undefined) Falls Fehler in STL auftritt: davor ungültigen Iterator verwendet? (-D GLIBCXX DEBUG) Falls Variablen komische Werte haben: ungültiger Index in einem lokalen Array? valgrind zusätzliche Testcases generieren Randfälle prüfen auf Überläufe oder Rundungsprobleme prüfen Laufzeit prüfen bzw. Endlosschleifen lokalisieren Tobias Polzer ICPC in a nutshell 11. April / 24

51 Beispielproblem Ein ungerichteter Graph soll in zwei Farben (schwarz und grau) gefärbt werden, so dass je zwei benachbarte Knoten nicht die gleiche Farbe haben. Tobias Polzer ICPC in a nutshell 11. April / 24

52 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe 4 Teamstrategien 5 Trainingsmöglichkeiten Tobias Polzer ICPC in a nutshell 11. April / 24

53 Trainingsmöglichkeiten Google Code Jam code.google.com/codejam FAU Onlinejudge icpc.cs.fau.de/oj Topcoder Codeforces ACM-ICPC Live Archive icpcarchive.ecs.baylor.edu UVa Codechef Tobias Polzer ICPC in a nutshell 11. April / 24

Hallo-Welt-Seminar ICPC in a nutshell

Hallo-Welt-Seminar ICPC in a nutshell Hallo-Welt-Seminar ICPC in a nutshell Alexander Raß 25.4.2012 Alexander Raß Hallo-Welt-SeminarICPC in a nutshell 25.4.2012 1 / 22 Überblick 1 C++ - Intro 2 Inputgrößen und Komplexitäten 3 ICPC - Wettbewerbe

Mehr

STL-Container und Laufzeit

STL-Container und Laufzeit STL-Container und Laufzeit Eine Übersicht Höhere Programmierung / C++ Yannick Kaiser, LMU 1 C++11 Array konstanter Länge, die bei der Initalisierung angegeben werden muss STL-Kapselung für klassische

Mehr

Einführung in die STL

Einführung in die STL Einführung in die STL Fimberger Lucia lfimberg@cosy.sbg.ac.at Nidetzky Marion mnidetzk@cosy.sbg.ac.at Was ist die STL? Abkürzung für Standard Template Library Eine generische Bibliothek Ist kaum objektorientiert,

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatorüberladung 2 Pointer Zeigervariable 3 CopyConstructor 4 Listen 5 Array String 6 STL Container

Mehr

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14

C++ Teil 6. Sven Groß. 27. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 14 C++ Teil 6 Sven Groß 27. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 27. Mai 2016 1 / 14 Themen der letzten Vorlesung Musterlösung A2 Wdh.: Zeiger und Felder Kopieren von Feldern Dynamische Speicherverwaltung

Mehr

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18

C++ Teil 5. Sven Groß. 13. Mai Sven Groß (IGPM, RWTH Aachen) C++ Teil Mai / 18 C++ Teil 5 Sven Groß 13. Mai 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 13. Mai 2016 1 / 18 Themen der letzten Vorlesung Funktionen Funktionsüberladung, Signatur Rekursion const-deklaration Referenzen

Mehr

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13

C++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13 C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)

Mehr

C++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16

C++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16 C++ Teil 7 Sven Groß 3. Juni 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni 2016 1 / 16 Themen der letzten Vorlesung dynamische Speicherverwaltung (Wdh.) Cast bei Zeigern STL-Vektoren + Live Programming

Mehr

C++ Teil 7. Sven Groß. 26. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 18

C++ Teil 7. Sven Groß. 26. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 18 C++ Teil 7 Sven Groß IGPM, RWTH Aachen 26. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 26. Nov 2014 1 / 18 Themen der letzten Vorlesung Referenzen Zeiger Felder dynamische Speicherverwaltung Sven

Mehr

Einführung in die STL

Einführung in die STL 1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung

Mehr

Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte

Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte Wo und wie lange leben Objekte? globale Objekte lokale Objekte dynamische Objekte entstehen durch... globale Objektvereinbarung: T o; blocklokale Objektvereinbarung: {.. T o;.. durch expliziten Aufruf

Mehr

C++ Teil 8. Sven Groß. 5. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 8 5. Dez / 16

C++ Teil 8. Sven Groß. 5. Dez IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 8 5. Dez / 16 C++ Teil 8 Sven Groß IGPM, RWTH Aachen 5. Dez 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 8 5. Dez 2014 1 / 16 Themen der letzten Vorlesung Casts bei Zeigern dynamische Speicherverwaltung Vektoren Typedefs

Mehr

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6.

Mapra: C++ Teil 4. Felix Gruber. 6. Mai IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mapra: C++ Teil 4 Felix Gruber IGPM, RWTH Aachen 6. Mai 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 4 6. Mai 2015 1 / 22 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien

Mehr

Programmieren im Team

Programmieren im Team 12. Juli 2005 1 Einführung 2 3 4 Der ACM ICPC ACM ICPC Der International Collegiate Programming Contest (ICPC) wird von der Association for Computing Machinery (ACM) seit 1977 veranstaltet. Er ist einer

Mehr

Objektorientierte Programmierung II

Objektorientierte Programmierung II Objektorientierte Programmierung II OOP I Erlaubt Entwicklers, im Problemraum zu denken und zu arbeiten. Das Problem wird in eine Menge von Objekten zerlegt. Objekte wirken aufeinander, um das Problem

Mehr

Einführung in die STL anhand eines ausgewählten Beispiels

Einführung in die STL anhand eines ausgewählten Beispiels Einführung in die STL anhand eines ausgewählten Beispiels Frank M. Thiesing http://home.t-online.de/home/ frank.thiesing/stl/stl-folien.pdf Inhalt Überblick über die C++ STL Container Iteratoren Algorithmen

Mehr

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

DAP2-Programmierpraktikum Einführung in C++ (Teil 2) DAP2-Programmierpraktikum Einführung in C++ (Teil 2) Carsten Gutwenger 18. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Dynamischer Speicher Klassen und

Mehr

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren

5. Behälter und Iteratoren. Programmieren in C++ Überblick. 5.1 Einleitung. Programmieren in C++ Überblick: 5. Behälter und Iteratoren Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Programmieren in C++ Überblick

Programmieren in C++ Überblick Programmieren in C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr.

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Suchen. Lineare Suche. Such-Algorithmen. Sommersemester Dr. Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 0 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Fortgeschrittene Datenstrukturen Such-Algorithmen

Mehr

Algorithmen & Datenstrukturen Midterm Test 2

Algorithmen & Datenstrukturen Midterm Test 2 Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann

Mehr

Hier wird die Verwendung der Standard Template Library (kurz STL) kurz beschrieben. Inhalt 1.Verwendung der STL Grundlagen...

Hier wird die Verwendung der Standard Template Library (kurz STL) kurz beschrieben. Inhalt 1.Verwendung der STL Grundlagen... STL Die C++ Bibliothek ist eine Sammlung von standardisierten Klassen und Containern. Zu beachten ist, dass nicht jede C++ Implementierung den ganzen Umfang der Standardbibliothek realisiert hat. Hier

Mehr

Ulrich Stein

Ulrich Stein Von C nach MATLAB Einführung in MATLAB für Personen mit C-Kenntnissen Datentypen ähnlich in C und MATLAB, dort aber automatische Typzuweisung möglich double a = 2; Arrays a = double( 2 ); aber auch a =

Mehr

Mapra: C++ Teil 2. Felix Gruber, Sven Groß. 2. Mai 2017 IGPM. Felix Gruber, Sven Groß (IGPM) Mapra: C++ Teil 2 2. Mai / 11

Mapra: C++ Teil 2. Felix Gruber, Sven Groß. 2. Mai 2017 IGPM. Felix Gruber, Sven Groß (IGPM) Mapra: C++ Teil 2 2. Mai / 11 Mapra: C++ Teil 2 Felix Gruber, Sven Groß IGPM 2. Mai 2017 Felix Gruber, Sven Groß (IGPM) Mapra: C++ Teil 2 2. Mai 2017 1 / 11 Themen vom letzten Mal Kontrollstrukturen Funktionen const Referenzen Zeiger

Mehr

Arnold Willemer. Einstieg in C++ Galileo Press

Arnold Willemer. Einstieg in C++ Galileo Press Arnold Willemer Einstieg in C++ Galileo Press Vorwort 13 1.1 Programmieren 17 1.1.1 Start eines Programms 17 1.1.2 Eintippen, übersetzen, ausführen 18 1.1.3 Der Algorithmus 20 1.1.4 Die Sprache C++ 21

Mehr

Informatik - Übungsstunde

Informatik - Übungsstunde Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik

Mehr

Programmieren 2 C++ Überblick

Programmieren 2 C++ Überblick Programmieren 2 C++ Überblick 1. Einführung und Überblick 2. Klassen und Objekte: Datenkapselung 3. Erzeugung und Vernichtung von Objekten 4. Ad-hoc Polymorphismus 6. Templates und generische Programmierung

Mehr

Programmier-Befehle - Woche 09

Programmier-Befehle - Woche 09 Zeiger und Iteratoren Zeiger (generell) Adresse eines Objekts im Speicher Wichtige Befehle: Definition: int* ptr = address of type int; (ohne Startwert: int* ptr = 0;) Zugriff auf Zeiger: ptr = otr ptr

Mehr

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 3. Markus Reschke Java 3 Markus Reschke 08.10.2014 Kommentare Kommentare nützlich zum späteren Verständnis Zwei Arten Einzeiliger Kommentar bis zum Zeilenende mit // Mehrzeiliger Kommentar mit /*Text*/ 1 double x = 5; //

Mehr

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

Programmierkurs. Steffen Müthing. November 16, Interdisciplinary Center for Scientific Computing, Heidelberg University Programmierkurs Steffen Müthing Interdisciplinary Center for Scientific Computing, Heidelberg University November 16, 2018 Standardbibliothek Datenstrukturen Algorithmen Variablen und Referenzen Aufrufkonventionen

Mehr

Mapra: C++ Teil 4. Felix Gruber, Michael Rom. 24. Mai 2016 IGPM. Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 4 24.

Mapra: C++ Teil 4. Felix Gruber, Michael Rom. 24. Mai 2016 IGPM. Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 4 24. Mapra: C++ Teil 4 Felix Gruber, Michael Rom IGPM 24. Mai 2016 Felix Gruber, Michael Rom (IGPM) Mapra: C++ Teil 4 24. Mai 2016 1 / 25 Themen vom letzten Mal Kompilieren mit Makefiles Ein-/Ausgabe über Dateien

Mehr

C-Arrays vs. C++-Container

C-Arrays vs. C++-Container C-Arrays vs. C++-Container In C verwendet man (mangels Alternativen) sehr häufig das C-Array (= Feld): im Speicher hintereinander abgelegte Elemente vom gleichen Typ. Arrays haben einen Basistyp (Typ des

Mehr

C-Arrays vs. C++-Container

C-Arrays vs. C++-Container C-Arrays vs. C++-Container In C verwendet man (mangels Alternativen) sehr häufig das C-Array (= Feld): im Speicher hintereinander abgelegte Elemente vom gleichen Typ. Arrays haben einen Basistyp (Typ des

Mehr

Programmieren in C/C++ und MATLAB

Programmieren in C/C++ und MATLAB Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 5-1 Übung Schreiben Sie ein Programm, das die Zahl π durch π = 4 4 4 4 4 4 + + +... 3 5 7 9 11

Mehr

1. Übung zu "Numerik partieller Differentialgleichungen"

1. Übung zu Numerik partieller Differentialgleichungen 1. Übung zu "Numerik partieller Differentialgleichungen" Simon Gawlok, Eva Treiber Engineering Mathematics and Computing Lab 22. Oktober 2014 1 / 15 1 Organisatorisches 2 3 4 2 / 15 Organisatorisches Ort:

Mehr

C++ - Einführung in die Programmiersprache Standard Templates. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Standard Templates. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Standard Templates Leibniz Universität IT Services Anja Aue C++ - Standardbibliothek Standardisierte Sammlung von häufig vorkommenden Funktionen und Klassen.

Mehr

... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71

... Vorwort Einstieg in die Programmierung Ablaufsteuerung... 71 ... Vorwort... 13 1... Einstieg in die Programmierung... 15 1.1... Programmieren... 15 1.1.1... Start eines Programms... 15 1.1.2... Eintippen, übersetzen, ausführen... 16 1.1.3... Der Algorithmus... 18

Mehr

Die C++ Standard Template Library Andreas Obrist

Die C++ Standard Template Library Andreas Obrist Die C++ Standard Template Library 24. 06. 2004 Andreas Obrist Was dürft Ihr erwarten? 1. Teil Das Wichtigste in Kürze über die Standard Template Library 2. Teil Praktische Beispiele Was dürft Ihr nicht

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15

C++ Teil 6. Sven Groß. 23. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 15 C++ Teil 6 Sven Groß 23. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 6 23. Nov 2015 1 / 15 Themen der letzten Vorlesung const-deklaration Referenzen Zeiger Felder Sven Groß (IGPM, RWTH Aachen) C++

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine

Mehr

Angewandte Kryptografie Praktikum 1

Angewandte Kryptografie Praktikum 1 Angewandte Kryptografie Praktikum 1 Thema: Affine Chiffre Wintersemester 2016/2017 Prof. Dr. Christoph Karg Hochschule Aalen Ziel dieses Praktikums ist die Implementierung der affinen Chiffre und einem

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 25.04.2018 1 Ablauf Self-Assessment Pointer Iterators

Mehr

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11

C++ Teil 12. Sven Groß. 18. Jan Sven Groß (IGPM, RWTH Aachen) C++ Teil Jan / 11 C++ Teil 12 Sven Groß 18. Jan 2016 Sven Groß (IGPM, RWTH Aachen) C++ Teil 12 18. Jan 2016 1 / 11 Themen der letzten Vorlesung Wiederholung aller bisherigen Themen: Datentypen und Variablen Operatoren Kontrollstrukturen

Mehr

Einführung in die Nutzung der C++ - Standard - Bibliothek

Einführung in die Nutzung der C++ - Standard - Bibliothek Einführung in die Nutzung der C++ - Standard - Bibliothek Literatur: (Amme) - Ammeraal, L.: STL for C++-Programmers; Chichester: Wiley, 1997 (Brey) - Breymann, U.: Die C++ Standard Template Library; München:

Mehr

Mehrdimensionale Arrays

Mehrdimensionale Arrays Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil X Michael Roth (h_da) Informatik (CT) WS 2012/2013

Mehr

Programmierkurs C++ Templates & STL (1/2)

Programmierkurs C++ Templates & STL (1/2) Programmierkurs C++ Templates & STL (1/2) Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck https://www.itm.uni-luebeck.de/people/fischer #2 Templates Die wichtigsten objekt-orientierten

Mehr

Prüfung Algorithmen und Datenstrukturen I

Prüfung Algorithmen und Datenstrukturen I Hochschule für angewandte Wissenschaften München Fakultät für Informatik und Mathematik Studiengruppe IF 3 B Wintersemester 2014/15 Prüfung Algorithmen und Datenstrukturen I Datum : 20.01.2015, 10:30 Uhr

Mehr

ÜBUNGS-BLOCK 7 LÖSUNGEN

ÜBUNGS-BLOCK 7 LÖSUNGEN ÜBUNGS-BLOCK 7 LÖSUNGEN Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i

Mehr

C++ Standard Template Library Ausgewählte Kapitel aus Softwaretechnologie

C++ Standard Template Library Ausgewählte Kapitel aus Softwaretechnologie C++ Standard Template Library Ausgewählte Kapitel aus Softwaretechnologie Robert Fritz roggi@sbox.tugraz.at C++ Standard Template Library (STL) p.1/41 Inhalt Einführung Generisches Programmieren Aufbau

Mehr

Standard Template Library

Standard Template Library Standard Template Library Ralph Thesen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Seminar: Technische Numerik Dezember 2009 Überblick 1 Einleitung 2 Templates 3 STL

Mehr

Übungen zu Systemprogrammierung 2 (SP2)

Übungen zu Systemprogrammierung 2 (SP2) Übungen zu Systemprogrammierung 2 (SP2) Ü 7 Ringpuffer Christian Eichler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg

Mehr

Standardbibliotheken. Datentyp bool. Eingaben 2/2. Eingaben 1/2. In C gibt es keinen logischen Datentyp

Standardbibliotheken. Datentyp bool. Eingaben 2/2. Eingaben 1/2. In C gibt es keinen logischen Datentyp Datentyp bool Standardbibliotheken Ein- und Ausgabe Vektoren Container In C gibt es keinen logischen Datentyp Abhilfe schafft Interpretation 0 == false 1 == true Das könnte so aussehen: #define false 0

Mehr

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

Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum

Mehr

Proseminar Effiziente Algorithmen. Prof. Dr. Christian Scheideler WS 2014

Proseminar Effiziente Algorithmen. Prof. Dr. Christian Scheideler WS 2014 Proseminar Effiziente Algorithmen Kapitel 1: Einführung Prof. Dr. Christian Scheideler WS 2014 ACM International Collegiate Programming Contest Hochschulinterner Wettbewerb Regionale Wettbewerbe Weltfinale

Mehr

Programmier-Befehle - Woche 9

Programmier-Befehle - Woche 9 Zeiger und Iteratoren Zeiger (auf Array) Iterieren über ein Array Diese Befehle gelten zusätzlich zu denen unter Zeiger (generell) (siehe Summary 8), falls Zeiger auf einem Array verwendet werden. Wichtige

Mehr

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Schleifen und Arrays Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 06.10.2016 Technische Universität Braunschweig, IPS Überblick Kommentare Typen Kontrollstrukturen Arrays 06.10.2016 Dr. Werner

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Felder, mehrdimensional Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Überblick: mehrdimensionale Felder 2 Vereinbarung

Mehr

Informatik 1 ( ) D-MAVT F2010. STL, Algorithmen, Kürzeste Wege. Yves Brise Übungsstunde 11

Informatik 1 ( ) D-MAVT F2010. STL, Algorithmen, Kürzeste Wege. Yves Brise Übungsstunde 11 Informatik 1 (251-0832-00) D-MAVT F2010 STL, Algorithmen, Kürzeste Wege Testat Neun Serien sind durch! Auf die Korrektur von Serie 9 (oder per Email) steht die individuelle Testatinfo. Diejenigen, die

Mehr

Informatik II. Woche 15, Giuseppe Accaputo

Informatik II. Woche 15, Giuseppe Accaputo Informatik II Woche 15, 13.04.2017 Giuseppe Accaputo g@accaputo.ch 1 Themenübersicht Repetition: Pass by Value & Referenzen allgemein Repetition: Asymptotische Komplexität Live-Programmierung Aufgabe 7.1

Mehr

Algorithmische Mathematik I

Algorithmische Mathematik I Algorithmische Mathematik I Wintersemester 2011 / 2012 Prof. Dr. Sven Beuchler Peter Zaspel Übungsblatt zur Wiederholung Teil 1. Abgabe am -. Aufgabe 1. a) Was ist eine B-adische Darstellung mit fixer

Mehr

C++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16

C++ Teil 5. Sven Groß. 8. Mai IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai / 16 C++ Teil 5 Sven Groß IGPM, RWTH Aachen 8. Mai 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 8. Mai 2015 1 / 16 Themen der letzten Vorlesung Live Programming zu A2 Gleitkommazahlen Rundungsfehler Auswirkung

Mehr

Informatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich

Informatik II. Übungsstunde 6. Distributed Systems Group, ETH Zürich Informatik II Übungsstunde 6 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich Ablauf Besprechung der Vorlesung Uebungsbezogene Themen: Statisches & Dynamisches Type Checking Zeit zum Programmieren...

Mehr

2. AuD Tafelübung T-C3

2. AuD Tafelübung T-C3 2. AuD Tafelübung T-C3 Simon Ruderich 3. November 2010 Organisatorisches Bearbeitung der Praxisaufgaben Bereits vorhandene Klassen, Methoden, Variablen,... dürfen nicht verändert werden! Eigene Klassen,

Mehr

Programmieren - C++ Templates

Programmieren - C++ Templates Programmieren - C++ Templates Reiner Nitsch 8471 reiner.nitsch@h-da.de Was sind Funktionstemplates? C++ unterscheidet zwischen Funktionstemplates (dieses Kapitel) und Klassentemplates (später). Funktionstemplates

Mehr

Datenstrukturen und Algorithmen. Vorlesung 8

Datenstrukturen und Algorithmen. Vorlesung 8 Datenstrukturen und Algorithmen Vorlesung 8 Inhaltsverzeichnis Vorige Woche: ADT Stack ADT Queue Heute betrachten wir: ADT Deque ADT Prioritätsschlange Binomial-Heap Schriftliche Prüfung Informationen

Mehr

I N F O R M A T I K UNIVERSITÄT LINZ. SWE1 / Übung 9. Schrittweise Verfeinerung

I N F O R M A T I K UNIVERSITÄT LINZ. SWE1 / Übung 9. Schrittweise Verfeinerung Schrittweise Verfeinerung Wiederholung Was ist Programmieren? Lösungsidee Algorithmische Lösung Programm programmieren Problemstellung Lösung in der Form eines korrekten Programm Testplan Testfälle Testprogramm

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29.

Mapra: C++ Teil 3. Felix Gruber. 29. April IGPM, RWTH Aachen. Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. Mapra: C++ Teil 3 Felix Gruber IGPM, RWTH Aachen 29. April 2015 Felix Gruber (IGPM, RWTH Aachen) Mapra: C++ Teil 3 29. April 2015 1 / 11 Themen vom letzten Mal Debuggen mit gdb Zusammengesetzte Datentypen

Mehr

Polymorphismus 44. Function.hpp. #include <string>

Polymorphismus 44. Function.hpp. #include <string> Polymorphismus 44 #include Function.hpp class Function { public: virtual ~Function() {}; virtual const std::string& get_name() const = 0; virtual double execute(double x) const = 0; }; // class

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B3.1 Einführung. B3.2 Verkettete Liste. B3.3 Bäume Algorithmen und Datenstrukturen 22. März 2018 B3. Verkettete Listen und Bäume Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume B3.1 Einführung Marcel Lüthi and Gabriele Röger B3.2 Verkettete

Mehr

Zentralübung Grundlagen der Programmierung

Zentralübung Grundlagen der Programmierung Zentralübung Grundlagen der Programmierung Bastian Cramer Standardbelegungen für Variablen lokale Variablen müssen initialisiert werden! Ansonsten gilt: 2 Aufgabe 1: while Schleife Quersumme einer beliebigen

Mehr

16. Dynamische Datenstrukturen

16. Dynamische Datenstrukturen Datenstrukturen 6. Dynamische Datenstrukturen Eine Datenstruktur organisiert Daten so in einem Computer, dass man sie effizient nutzen kann. Verkettete Listen, Abstrakte Datentypen Stapel, Warteschlange

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen B3. Verkettete Listen und Bäume Marcel Lüthi and Gabriele Röger Universität Basel 22. März 2018 Einführung Abstrakter Datentyp / Datenstruktur Abstrakter Datentyp Eine Menge

Mehr

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR

Algorithm Engineering. Alexander Kröller, Abteilung Algorithmik, IBR #7 Terminchaos Nächste Vorlesungen: 27. 5. Vertretung durch Prof. Fekete 3. 6. Exkursionswoche 10. 6. Vertretung durch N.N. 17. 6. back to normal... Experiment Durchlaufe zwei gleichgrosse Arrays: Sortierte

Mehr

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen STL Container: Übersicht

Mehr

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

Algorithmen und Datenstrukturen. Algorithmen und Datenstrukturen. B6.1 Einführung. B6.2 Symboltabellen. B6.3 Einfache Implementationen Algorithmen und Datenstrukturen 03. April 2019 B6. Symboltabellen a Algorithmen und Datenstrukturen B6. Symboltabellen 1 Marcel Lüthi and Gabriele Röger Universität Basel 03. April 2019 a Folien basieren

Mehr

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen

Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1. Kapitel 11. Listen. Listen Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 1 Kapitel 11 Einführung in die Informatik: Programmierung und Software-Entwicklung, WS 11/12 2 Ziele Implementierungen für

Mehr

Der Gnu-C++-Compiler allerdings lässt den oben beschriebenen Code durchgehen. Das ist allerdings nicht Standardkonform und sollte deswegen vermieden

Der Gnu-C++-Compiler allerdings lässt den oben beschriebenen Code durchgehen. Das ist allerdings nicht Standardkonform und sollte deswegen vermieden 1 Der Gnu-C++-Compiler allerdings lässt den oben beschriebenen Code durchgehen. Das ist allerdings nicht Standardkonform und sollte deswegen vermieden werden. 2 Der Speicher wird auf einem besonderen Speicherbereich,

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Grundlagen der Objektorientierten Programmierung - Statische Arrays

Grundlagen der Objektorientierten Programmierung - Statische Arrays Statische Arrays Ein Array ist ein Behälter für Datenelemente desselben Typs. Arrays können beliebig viele Dimensionen haben. Die Standardform ist das eindimensionale Array, das man sich in Zeilenform

Mehr

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch

In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch Kapitel Matrizen in C++ In der Computersprache C ist die Standardmethode zur Behandlung von Matrizen durch 1 const int n=10; 3 double a[n][n]; gegeben. Allerdings gibt es bei dieser Methode eine Reihe

Mehr

6 Algorithmen und Datenstrukturen

6 Algorithmen und Datenstrukturen 84 tion in der Lage sein, aus einem Bereich solcher Buchwerte nur die Titel auszuwählen. Das folgende Beispiel veranschaulicht die Verwendung dieser Funktion: struct book int id; std::string title; std::string

Mehr

Informatik II Übung 11. Pascal Schärli

Informatik II Übung 11. Pascal Schärli Informatik II Übung 11 pascscha@student.ethz.ch Was gibts heute? Warm-Up Nachbesprechung Serie 10 Best-Of Vorlesung: Laufzeitkomplexität Vorbesprechung Serie 11 2 Warm - Up Warm - Up Anzahl Rechenschritte

Mehr

DAP2 Praktikum Blatt 2

DAP2 Praktikum Blatt 2 Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 2 Ausgabe: 28. April Abgabe: 13. 15. Mai Langaufgabe 2.1

Mehr

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Objektorientierte Anwendungsentwicklung

Objektorientierte Anwendungsentwicklung Name, Vorname Matrikelnummer Klausur zur Vorlesung Objektorientierte Anwendungsentwicklung Krefeld, 16. März 2012 Hinweise: Schreiben Sie Ihren Namen und Ihre Matrikelnummer auf dieses Deckblatt. Die Aufgabenstellung

Mehr

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2

Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Computergrundkenntnisse und Programmieren, WS 07/08, Übung 11: Klassen der Standardbibliothek 2 Neben vector ist list die zweite wichtige Containerklasse. Um unsere Kenntnisse von Containerklassen zu erweitern,

Mehr

Java Einführung Collections

Java Einführung Collections Java Einführung Collections Inhalt dieser Einheit Behälterklassen, die in der Java API bereitgestellt werden Wiederholung Array Collections (Vector, List, Set) Map 2 Wiederholung Array a[0] a[1] a[2] a[3]...

Mehr

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken.

Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Abstrakte Datentypen und Datenstrukturen/ Einfache Beispiele Abstrakter Datentyp (ADT): Besteht aus einer Menge von Objekten, sowie Operationen, die auf diesen Objekten wirken. Datenstruktur (DS): Realisierung

Mehr

Informatik II - Übung 03

Informatik II - Übung 03 Informatik II - Übung 03 Katja Wolff katja.wolff@inf.ethz.ch 15.03.2014 Besprechung Übungsblatt 2 Informatik II - Übung 03 15.03.2017 2 U2.A1 S Klammerdarstellung und eingerückter Form R P V S(R(H(K)),P(A(N,O),Q,T),V(J,F(G)))

Mehr

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich

Einführung in die Programmierung I. 2.4 Felder. Thomas R. Gross. Department Informatik ETH Zürich 252-0027 Einführung in die Programmierung I 2.4 Felder Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.4 Felder (Vektoren, "array"s) 2.5 Verschachtelte Schleifen 2.6 "if" Anweisungen 2.7

Mehr

Schleifen in C/C++/Java

Schleifen in C/C++/Java Schleifen in C/C++/Java Alle 3 Sprachen stellen mindestens die folgenden 3 Schleifenkonstruktionen zur Verfügung. In C gibt es auch keine weiteren, C++, Java und C# haben noch weitere nützliche Varianten.

Mehr

Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung

Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Variablen in C++ Einfache Variablen Strukturen Arrays und Zeichenketten Zeiger und Referenzen Parameter Dynamische Speicherverwaltung Einfache Variablen Typen int, long, short, unsigned bool char float,

Mehr

DAP2 Praktikum Blatt 3

DAP2 Praktikum Blatt 3 Fakultät für Informatik Lehrstuhl 11 / Algorithm Engineering Prof. Dr. Petra Mutzel, Carsten Gutwenger Sommersemester 2009 DAP2 Praktikum Blatt 3 Ausgabe: 5. Mai Abgabe: 6. 8. Mai Bei diesem Übungsblatt

Mehr

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit

Mehr