Hallo-Welt-Seminar ICPC in a nutshell
|
|
- Frieda Brauer
- vor 7 Jahren
- Abrufe
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 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
MehrSTL-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
MehrEinfü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,
MehrRepetitorium 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
MehrC++ 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
MehrC++ 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
MehrC++ 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)
MehrC++ 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
MehrC++ 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
MehrEinfü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
MehrWo 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
MehrC++ 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
MehrMapra: 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
MehrProgrammieren 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
MehrObjektorientierte 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
MehrEinfü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
MehrDAP2-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
Mehr5. 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
MehrProgrammieren 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
MehrProgramm 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
MehrAlgorithmen & Datenstrukturen Midterm Test 2
Algorithmen & Datenstrukturen Midterm Test 2 Martin Avanzini Thomas Bauereiß Herbert Jordan René Thiemann
MehrHier 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
MehrUlrich 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 =
MehrMapra: 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
MehrArnold 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
MehrInformatik - Ü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
MehrProgrammieren 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
MehrProgrammier-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
MehrInstitut 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; //
MehrProgrammierkurs. 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
MehrMapra: 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
MehrC-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
MehrC-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
MehrProgrammieren 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
Mehr1. Ü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:
MehrC++ - 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... 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
MehrDie 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
MehrInformatik 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
MehrC++ 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++
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Dynamische Datenobjekte Pointer/Zeiger, Verkettete Liste Eigene Typdefinitionen 1 Zeigeroperatoren & und * Ein Zeiger ist die Speicheradresse irgendeines Objektes. Eine
MehrAngewandte 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 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
MehrC++ 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
MehrEinfü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:
MehrMehrdimensionale 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
MehrProgrammierkurs 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
MehrPrü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 Aufgabe 1: Gegeben ist folgender Code: Auto[] array = new Auto[3]; // Alle Autos im Array tunen: for (int i = 1; i
MehrC++ 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
MehrStandard 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) Ü 7 Ringpuffer Christian Eichler, Jürgen Kleinöder Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrStandardbibliotheken. 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
MehrGrundlagen 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
MehrProseminar 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
MehrProgrammier-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
MehrInstitut 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
MehrVorkurs 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
MehrEinstieg 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
MehrInformatik 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
MehrInformatik 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
MehrAlgorithmische 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
MehrC++ 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
MehrInformatik 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...
Mehr2. 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,
MehrProgrammieren - 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
MehrDatenstrukturen 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
MehrI 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
MehrVorkurs 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
MehrMapra: 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
MehrPolymorphismus 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
MehrIntroduction 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
MehrAlgorithmen 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
MehrZentralü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
Mehr16. 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
MehrAlgorithmen 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
MehrAlgorithm 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
Mehr19. 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
MehrAlgorithmen 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
MehrEinfü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
MehrDer 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,
MehrOrganisatorisches. 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
MehrGrundlagen 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
MehrIn 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
Mehr6 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
MehrInformatik 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
MehrDAP2 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
MehrIntroduction 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
MehrObjektorientierte 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
MehrComputergrundkenntnisse 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,
MehrJava 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]...
MehrAbstrakter 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
MehrInformatik 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)))
MehrEinfü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
MehrSchleifen 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.
MehrVariablen 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,
MehrDAP2 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
Mehrint 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