Informatik für Mathematiker und Physiker Woche 7. David Sommer
|
|
- Kai Lenz
- vor 5 Jahren
- Abrufe
Transkript
1 Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober
2 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober
3 Übungen Hat alles geklappt? David Sommer 30. Oktober
4 Exercise 5.5: Fixing Functions What are the problems (if any) with the following functions? Fix them and find appropriate pre- and post conditions. // PRE : x is not zero // POST : returns the inverse of x bool is_even ( unsigned int i) { if ( i % 2 == 0) return true ; // POST : returns either the inverse of x, or zero if x is zero double invert ( double x) { double result ; if (x!= 0) result = 1 / x; return result ; David Sommer 30. Oktober
5 Repetition Floats Consider F (β, p, e min, e max ) with β = 2, p = 3, e min = 4, e max = 4. Compute the following expressions as the parentheses suggest. Remember: Use the normalized floating point representation for all intermediate results! ( ) decimal binary ( ) + 10 decimal binary 10????? + 0.5????? =????? + 0.5????? =??????? 0.5????? + 0.5????? =????? + 10????? =??????? David Sommer 30. Oktober
6 Repetition Floats - Solution ( ) ( ) + 10 decimal binary decimal binary = = = = Vorsicht beim Addieren unterschiedlich grosser Fliesskommazahlen. David Sommer 30. Oktober
7 References I Ähnliche Bedeutung wie Referenz oder Alias Kann nur auf ein bereits existierendes objekt zeigen int a = 3; int & b = a; b = 2; std :: cout << a; // 2 David Sommer 30. Oktober
8 References II Wird oft auch als zusätzlichen return value für Funktionen gebraucht Beispiel: int foo ( int i) {... i wird kopiert beim ausführen von foo ( pass by value ) Was wenn die Funktion i verändern sollte? int foo ( int &i) {... Es wird eine Referenz von i übergeben (i wird nicht kopiert) pass by reference David Sommer 30. Oktober
9 References Funktionen - Beispiel // PRE : zwei Punkte p1(x1, y1) und p2(x2,y2) // POST : die Steigung m und Offset q der Geraden durch p1 und p2 // Falls x1 == x2 oder y1 == y2 return -1 // Sonst return 0; int gerade ( int x1, int y1, int x2, int y2, double & m, double & q) { if( x1 == x2 y1 == y2) return -1; m = (y2 - y1) / double (x2 - x1 ); q = y1 - m * x1; return 0; David Sommer 30. Oktober
10 References Funktionen - Vorteile Was für Vorteile hat pass by reference? Mehr return values Input variablen müssen nicht kopiert werden. Beispiel: Ein Eintrag aus einen gigantischen Vektor lesen void read_ i ( Vector & v, unsigned int i); Der Vektor muss nicht kopiert werden! Einige Objekte können nicht kopiert werden: std :: ostream o = std :: cout ; // Error std :: ostream & o = std :: cout ; // This works! David Sommer 30. Oktober
11 References Funktionen - Return Reference Referenzen können auch zur ckgegeben werden!beispiel: int & increment ( int & m) { return ++m; int main () { int n = 3; increment ( increment (n )); std :: cout << n << std :: endl ; // outputs 5 return 0; David Sommer 30. Oktober
12 Exercise 2
13 Exercise 2 (a) What is the output of the program for the following variant of foo? int foo (int& a, int b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 15
14 Exercise 2 (a) What is the output of the program for the following variant of foo? int foo (int& a, int b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 16
15 Exercise 2 (b) What is the output of the program for the following variant of foo? int foo (int a, int b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 17
16 Exercise 2 (b) What is the output of the program for the following variant of foo? int foo (int a, int b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 18
17 Exercise 2 (c) What is the output of the program for the following variant of foo? int foo (int a, int& b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 19
18 Exercise 2 (c) What is the output of the program for the following variant of foo? int foo (int a, int& b) { a += b; return a; int main() { int a = 0; int b = 1; for (int i=0; i<5; ++i) { b = foo (a, b); std::cout << b << " "; return 0; (From: Exam Summer 2015, Exercise 9) 20
19 Vectors Statische Liste (Arrays) Länge der Liste zur compilezeit bekannt Die Länge kann sich nicht verändern Dynamische Liste (Vektor) Kann vollkommen dynamisch verlängert werded Warum würde jemand überhaupt statische Listen brauchen? Geschwindigkeit David Sommer 30. Oktober
20 Vectors Instanzierung # include <vector > std :: vector < int > vec ; // empty vector with type int std :: vector < int > vec ( 0); // empty vector with type int std :: vector <int > vec (3); // {0, 0, 0 std :: vector <int > vec = {1, 2, 3; // {1, 2, 3 std :: vector <int > vec (5, 2); // {2, 2, 2, 2, 2 David Sommer 30. Oktober
21 Vectors Access and Modify Elements Wichtig: index [0, length) Access: std :: cout << vec.at (0) << std :: endl ; // with range - check std :: cout << vec [0] << std :: endl ; // w/o range - check Modify: vec [0] = 3; vec. push_ back ( 3); // add new element to the back vec. insert ( vec. begin (), 3); // add element to the start vec. insert ( vec. begin () + i, 3); // insert element at i David Sommer 30. Oktober
22 Vectors Loops Wichtig: index [0, length) Normaler Loop for ( int i = 0; i < vec. size (); i ++) std :: cout << vec [i] << std :: endl ; For-each for ( int entry : vec ) std :: cout << entry << std :: endl ; David Sommer 30. Oktober
23 Vectors Loops For-each Achtung: For-each loops können nicht verwendet werden um Einträge zu manipulieren: std :: vector <int > vec (2, 0); for ( int i : vec ) i = 10; // i is copied - > vec is not modified for ( int i : vec ) std :: cout <<i<< std :: endl ; // outputs 0 David Sommer 30. Oktober
24 Vectors: C++ Reference Jetzt auch auf Deutsch! David Sommer 30. Oktober
25 Vectors Exercise Write a program that reads a number n(n <= 10) followed by a sequence of n numbers and outputs the sequence in reverse order. Please put the code that reverses the sequence in a seperate function. Example Input: Example Output: Reversing Vector on expert.ethz.ch David Sommer 30. Oktober
26 Vectors Exercise Solution // POST : swap the values of i and j void swap ( int & i, int & j) { const int tmp = i; i = j; j = tmp ; // PRE : length length of the vector sequence. // POST : Reverses the sequence void reverse (std :: vector <int >& sequence, unsigned int length ) { int front = 0; int back = length -1; while ( front < back ) { swap ( sequence [ front ], sequence [back ]); ++ front ; -- back ; int main () { unsigned int length ; std :: vector <int > sequence (10); // Step 1: Read input. std :: cin >> length ; assert ( length <= 10); for ( unsigned int i = 0; i < length ; ++i) { std :: cin >> sequence [i]; // Step 2: Reverse sequence ; reverse ( sequence, length ); // Step 3: Output for ( unsigned int i = 0; i < length ; ++i) { std :: cout << sequence [i] << " "; std :: cout << std :: endl ; return 0; David Sommer 30. Oktober
27 Characters Wie speichert C++ Charaktere? ASCII ASCII = American Standard Code for Information Interchange Für euch Mathematiker: Injektive Abbildung [0, 255) Chars Wichtig: Unterschied zwischen A und "A"? A ist ein einzelner char (0 x41) "A" ist ein string (Folge von chars) und Nullterminiert (0 x41 0 x00) " ABc " ist 0 x41 0 x42 0 x63 0 x00 Beispiel: A = 65, B = 66,..., a = 97, b = 98,... int a = a ; // 0 x (32 - Bit <-> 4- Byte ) char a = a ; // 0 x61 ( 8- Bit <-> 1- Byte ) ASCII Tabelle: David Sommer 30. Oktober
28 Characters - Convert to UPPERCASE Write a program that reads a sequence of characters delimited by the new-line character and then outputs the sequence with all lower-case letters changed to UPPER-CASE letters. Please put the code that converts the entire sequence to upper-case and a single character to upper-case into separate functions (you should have at least three functions). Hint: variables of type char can be treated as numbers. Example Input: helloworld Example Output: HELLOWORLD1 David Sommer 30. Oktober
29 Characters - Convert to UPPERCASE Solution int main () { // Say to std :: cin not to ignore whitespace. std :: cin >> std :: noskipws ; // POST : Converts the letter to upper case. void char_to_upper ( char & letter ) { if ( a <= letter && letter <= z ) { letter -= a - A ; // a > A // POST : Converts all letters to upper - case. void to_upper (std :: vector <char >& letters ) { for ( unsigned int i = 0; i < letters.size (); ++i) { char_to_upper ( letters [i ]); std :: vector <char > letters ; char ch; // Step 1: Read input. do { std :: cin >> ch; letters. push_back (ch ); while (ch!= \n ); // Step 2: Convert to upper - case. to_upper ( letters ); // Step 3: Output. for ( unsigned int i = 0; i < letters.size (); ++ i) { std :: cout << letters [i]; David Sommer 30. Oktober
30 Fragen? David Sommer 30. Oktober
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
MehrInformatik für Mathematiker und Physiker Woche 6. David Sommer
Informatik für Mathematiker und Physiker Woche 6 David Sommer David Sommer October 31, 2017 1 Heute: 1. Rückblick Übungen Woche 5 2. Libraries 3. Referenzen 4. Step-Wise Refinement David Sommer October
MehrWoche 6. Cedric Tompkin. April 11, Cedric Tompkin Woche 6 April 11, / 29
Woche 6 Cedric Tompkin April 11, 2018 Cedric Tompkin Woche 6 April 11, 2018 1 / 29 Figure: Mehr Comics Cedric Tompkin Woche 6 April 11, 2018 2 / 29 Learning Objectives Dir kennst Return-by-value und Return-by-reference.
MehrInformatik für Mathematiker und Physiker Woche 2. David Sommer
Informatik für Mathematiker und Physiker Woche 2 David Sommer David Sommer 25. September 2018 1 Heute: 1. Self-Assessment 2. Feedback C++ Tutorial 3. Modulo Operator 4. Exercise: Last Three Digits 5. Binary
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
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 21.03.2018 1 Ablauf Quiz und Recap Floating Point
MehrProgrammier-Befehle - Woche 08
Datentypen Vektoren (mehrdim.) eines bestimmten Typs Erfordert: #include Wichtige Befehle: Definition: std::vector my vec (n rows, std::vector(n cols, init value)) Zugriff:
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
MehrProgrammier-Befehle - Woche 10
Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten
MehrPascal Schärli
Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix
Mehra < &a[2] a < &a[2] Wert/Value: true
Geben Sie für jeden der drei Ausdrücke auf der rechten Seite jeweils C++- Typ und Wert an. Das Array a sei deklariert und initialisiert wie folgt. double a[] = 2.33, 0.25, 2.33, 1.0; For each of the 3
MehrInformatik 1 Kurzprüfung 2 LÖSUNG
Informatik 1 Kurzprüfung 2 LÖSUNG Herbstsemester 2013 Dr. Feli Friedrich 4.12.2013 Name, Vorname:............................................................................ Legi-Nummer:..............................................................................
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
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
MehrGrundlagen der Informatik 6. Arrays I
6. Arrays I Motivation Array (konstante Länge) Speicherbereich Eingabe von Arrays Grundlagen der Informatik (Alex Rempel) 1 Motivation Beispiel: Bildschirmpixel zeichnen Auflösung 800x600, d.h. insgesamt
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
MehrInformatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 12-23.05.2018 Lernziele Klassen Dynamic Memory Jonas Lauener (ETH Zürich) Informatik - Übung Woche 12 2 / 20 Structs
MehrExercise 6. Compound Types and Control Flow. Informatik I für D-MAVT. M. Gross, ETH Zürich, 2017
Exercise 6 Compound Types and Control Flow Daniel Bogado Duffner Slides auf: Informatik I für D-MAVT bodaniel@student.ethz.ch n.ethz.ch/~bodaniel Agenda Recap/Quiz Structures Unions Enumerations Loops
MehrInformatik für Mathematiker und Physiker Woche 5. David Sommer
Informatik für Mathematiker und Physiker Woche 5 David Sommer David Sommer October 24, 2017 1 Heute: 1. Self-Assesment II 2. Rückblick Übungen Woche 4 3. # include " tests.h" 4. Fliesskommazahlen (in all
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
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 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
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrInformatik I (D-ITET)
//009 Informatik I (D-ITET) Übungsstunde 8, 6..009 simonmayer@student.ethz.ch ETH Zürich Besprechung/Vertiefung der Vorlesung [..009] ArrayStack Ausgezeichnet Einige haben s etwas kompliziert gemacht clear()
MehrAufgabenblatt 11 Musterlösung
Programmierkurs Aufgabenblatt 11 Dr. Ole Klein, Dr. Steffen Müthing Abgabe 09. Februar 2018 IWR, Universität Heidelberg ipk-exercises:2017-ws-89-g0001213 Hinweise zur Klausur: Aufgabenblatt 11 Die Klausur
MehrAufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:
Test 1 in Programmkonstruktion 59 / 100 Punkte 1. Multiple-Choice-Aufgaben 20 / 30 Punkte Bitte wählen Sie alle zutreffenden Antwortmöglichkeiten aus. Es können beliebig viele Antwortmöglichkeiten zutreffen,
MehrGrundlagen der Informatik 5. Kontrollstrukturen II
5. Kontrollstrukturen II Schleifen Sprünge Grundlagen der Informatik (Alex Rempel) 1 Schleifen Schleifen allgemein und in C++ Schleifen (Loops) ermöglichen die Realisierung sich wiederholender Aufgaben
MehrD-BAUG Informatik I. Exercise session: week 1 HS 2018
1 D-BAUG Informatik I Exercise session: week 1 HS 2018 Java Tutorials 2 Questions? expert.ethz.ch 3 Common questions and issues. expert.ethz.ch 4 Need help with expert? Mixed expressions Type Conversions
MehrCentrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger. Musterlösung 9
Centrum für Informations- und Sprachverarbeitung SoSe 2018: Höhere Programmierung mit C++ Andreas Krieger Musterlösung 9 // Header - Datei CisWstring. hpp # ifndef CISWSTRING_ HPP_ # define CISWSTRING_
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrMagic Figures. We note that in the example magic square the numbers 1 9 are used. All three rows (columns) have equal sum, called the magic number.
Magic Figures Introduction: This lesson builds on ideas from Magic Squares. Students are introduced to a wider collection of Magic Figures and consider constraints on the Magic Number associated with such
MehrInformatik I (D-ITET)
Informatik I (D-ITET) Übungsstunde 2, 5.10.2009 ETH Zürich? Übungsgruppenwechsel? Abgabe der Übungen... Bis Mo, 24:00 Theorie: Programme: per mail oder auf Papier.cpp Datei per mail Bin euch noch Demos
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
MehrProbeklausur. Musterlösung
Programmierkurs Probeklausur Dr. Steffen Müthing Abgabe 08. Februar 2019 IWR, Universität Heidelberg ipk-exercises:2018-ws-55-gc187ae0 Allgemeine Hinweise: Probeklausur Dieses Übungsblatt wird nicht bewertet.
MehrJAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)
JAVA BASICS 2. Primitive Datentypen 1. Warum Java? weit verbreitet einfach und (relativ) sicher keine Pointer (?) keine gotos kein Präprozessor keine globalen Variablen garbage collection objekt-orientiert
MehrInformatik I D-ITET Self-Assessment II,
Informatik I D-ITET Self-Assessment II, 24.10.2016 Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrC/C++-Programmierung
1 C/C++-Programmierung Verhalten, static, namespace, Operatorüberladung, ADL, Referenzen Sebastian Hack Christoph Mallon (hack mallon)@cs.uni-sb.de Fachbereich Informatik Universität des Saarlandes Wintersemester
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.
MehrExercise 3. Data Types and Variables. Daniel Bogado Duffner - n.ethz.ch/~bodaniel. Informatik I für D-MAVT
Exercise 3 Data Types and Variables Daniel Bogado Duffner - bodaniel@student.ethz.ch n.ethz.ch/~bodaniel Informatik I für D-MAVT Agenda Quiz Feedback Übung 2/Recap Variables Declaration and assignment
MehrVGM. VGM information. HAMBURG SÜD VGM WEB PORTAL USER GUIDE June 2016
Overview The Hamburg Süd VGM Web portal is an application that enables you to submit VGM information directly to Hamburg Süd via our e-portal Web page. You can choose to enter VGM information directly,
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
MehrInformatik Prüfung Lösung B. Gärtner
Informatik 252-0847-00 Prüfung 22. 1. 2018 Lösung B. Gärtner Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrÜbersetzen des Quelltexts in ausführbaren Maschinen-Code Translation of source code into executable machine code
Informatik II D-BAUG Self-Assessment, 2. März 2017 Lösung Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrVGM. VGM information. HAMBURG SÜD VGM WEB PORTAL - USER GUIDE June 2016
Overview The Hamburg Süd VGM-Portal is an application which enables to submit VGM information directly to Hamburg Süd via our e-portal web page. You can choose to insert VGM information directly, or download
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
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
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der
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
MehrWeather forecast in Accra
Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature in Fahrenheit Temperature in Celsius 2 Converting Celsius to Fahrenheit f = 9 5 c + 32 tempc = 21
MehrC++ atomics, Boost.Lookfree, Hazard-Pointers und die Thread-Hölle
C++ atomics, Boost.Lookfree, Hazard-Pointers und die Thread-Hölle Aachen, den 14. Januar 2016 Max Neunhöffer www.arangodb.com Unser Problem heute Es war einmal... eine multi-threaded Applikation, mit einer
MehrPrüfung Informatik D-MATH/D-PHYS :00 11:00
Prüfung Informatik D-MATH/D-PHYS 25. 1. 2013 09:00 11:00 Dr. Bernd Gartner Kandidat/in: Name:... Vorname:... Stud.-Nr.:... Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen
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,
MehrWir erinnern uns... #include <iostream> #include <vector>
165 6. C++ vertieft (I) Kurzwiederholung: Vektoren, Zeiger und Iteratoren Bereichsbasiertes for, Schlüsselwort auto, eine Klasse für Vektoren, Subskript-Operator, Move-Konstruktion, Iterator. Wir erinnern
Mehrvariadic templates Templates mit variabler Argumentanzahl?
Templates mit variabler Argumentanzahl? bislang in C++98 nicht direkt möglich, stattdessen (geniale Idee von A. Alexandrescu): Typlisten template struct Typelist {!typedef T Head;!typedef
Mehr16. Structs und Klassen I. Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen
491 16. Structs und Klassen I Rationale Zahlen, Struct-Definition, Operator-Überladung, Datenkapselung, Klassen-Typen Rechnen mit rationalen Zahlen 492 Rationale Zahlen (Q) sind von der Form n d mit n
MehrStreams, Kodierung und Funktionen. C++ Übung am 12. Mai 2016
Streams, Kodierung und Funktionen C++ Übung am 12. Mai 2016 Wiederholung: Streams #include // Input-Output-Stream std::cout std::cin std::cerr // Standardausgabe // Standardeingabe // Standardfehlerausgabe
Mehrint main(){ int main(){ Das wollen wir doch genau verstehen! std::vector<int> v(10,0); // Vector of length 10
Wir erinnern uns #include #include 6. C++ vertieft (I) Kurzwiederholung: Vektoren, Zeiger und Iteratoren Bereichsbasiertes for, Schlüsselwort auto, eine Klasse für Vektoren, Subskript-Operator,
MehrKonstruktor/Destruktor
1/23 Konstruktor/Destruktor Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/23 Outline 1 2 3/23 Inhaltsverzeichnis 1 2
MehrRepetitorium Programmieren I + II
Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case
MehrData Structures. Christian Schumacher, Info1 D-MAVT Linked Lists Queues Stacks Exercise
Data Structures Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Linked Lists Queues Stacks Exercise Slides: http://graphics.ethz.ch/~chschuma/info1_13/ Motivation Want to represent lists of
MehrGrundlagen der Informatik 8. Funktionen I
8. Funktionen I Motivation Grundlagen Parameterübergabe Struktogramme Grundlagen der Informatik (Alex Rempel) 1 Motivation Funktionen sind Mittel der Programmstrukturierung Modularisierung Aufteilung in
MehrÜben von DDL und DML. Ergebnis:
SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen
MehrInformatik Prüfung Lösung B. Gärtner
Informatik 252-0847-00 Prüfung 6. 8. 2018 Lösung B. Gärtner Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrInformatik. Strukturen und Aufzählungstypen. Vorlesung
Informatik Vorlesung 06 Strukturen und Aufzählungstypen 03. Dezember 2018 WiSe 2018 FB Ing - SB Umwelttechnik und Dienstleistung - Informatik Thomas Hoch 1 Datentypen Die bisher benutzten Datentypen waren
MehrSchriftlicher Test (120 Minuten) VU Einführung ins Programmieren für TM. 25. Jänner 2016
Familienname: Vorname: Matrikelnummer: Aufgabe 1 (3 Punkte): Aufgabe 2 (4 Punkte): Aufgabe 3 (2 Punkte): Aufgabe 4 (2 Punkte): Aufgabe 5 (2 Punkte): Aufgabe 6 (1 Punkte): Aufgabe 7 (3 Punkte): Aufgabe
MehrInformatik II Übung 5
Informatik II Übung 5 Gruppe 2 Carina Fuss cfuss@student.ethz.ch 28.3.2018 Carina Fuss 28.3.2018 1 Übung 5 Administratives/Tipps zu Eclipse Nachbesprechung Übung 4 kurze Demo zu Stacks Java Pakete Call
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
Mehr15. Rekursion 2. Motivation: Taschenrechner. Naiver Versuch (ohne Klammern) Analyse des Problems (15 7 3) = Eingabe * 3 = Ergebnis 15
Motivation: Taschenrechner 15. Rekursion 2 Bau eines Taschenrechners, Formale Grammatiken, Extended Backus Naur Form (EBNF), Parsen von Ausdrücken Ziel: Bau eines Kommandozeilenrechners Beispiel Eingabe:
MehrDas folgende Kleingedruckte finden Sie auch auf einer "scharfen" Prüfung. 1. Dauer der Prüfung: 20 Minuten. Exam duration: 20 minutes.
Informatik Self-Assessment III Name, Vorname:............................................................. Legi-Nummer:............................................................. Diese Selbsteinschätzung
MehrInformatik Prüfung Lösung B. Gärtner
Informatik 252-0847-00 Prüfung 27. 1. 2017 Lösung B. Gärtner Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrC++ Kurs Teil 3. Standard Template Library (STL) Kommunikation mit der shell Hyper Text Markup Language (HTML)
C++ Kurs Teil 3 Standard Template Library (STL) Übersicht vector algorithm: sort, for_each map Kommunikation mit der shell Hyper Text Markup Language (HTML) O. Ronneberger: C++ Kurs Teil 3 Seite 1
Mehr9. Funktionen Teil II
9. Funktionen Teil II Prof. Dr. Markus Gross Informatik I für D-ITET (WS 03/04)!Inline Funktionen!Referenz-Variablen!Pass by Reference!Funktionsüberladung!Templates Copyright: M. Gross, ETHZ, 2003 2 Inline
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C 2 Arrays und Pointer Alexander Sczyrba Robert Homann Georg Sauthoff Universität Bielefeld, Technische Fakultät statische Arrays Deklaration (eindimensional): /* 40
MehrC++11. neu in C++11: range-based for. Objektorientierte Programmierung mit C++ Ersetzung durch: 1. Elementares C++ int array[] = { 1, 2, 3, 4, 5 };
neu in C++11: range-based for int array[] = { 1, 2, 3, 4, 5 ; for (int x : array) // value x *= 2; C++11 for (int& x : array) // reference x *= 2; Ersetzung durch: { auto && range = range-init; for ( auto
MehrAbgeleitete Datentypen
Abgeleitete Datentypen Prof. Dr. Markus Gross Informatik I für D-MAVT (FS 2014) Felder (Arrays) Zeichenketten (Strings) Strukturen (Structs) union, enum & typedef Arrays Ein Array ist ein Datentyp, der
MehrEinführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz
Patrick Schulz patrick.schulz@paec-media.de 29.04.2013 1 Einführung Einführung 2 3 4 Quellen 1 Einführung Einführung 2 3 4 Quellen Hello World in Java Einführung 1 public class hello_ world 2 { 3 public
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
MehrAlgorithmen und Datenstrukturen 01
25. Oktober 2011 Inhaltsverzeichnis 1 Organisatorisches Über mich Wichtige Links 2 Besprechung Blatt 0 Übungsablauf und Abgabesystem 3 Vorbereitung Blatt 1 Pseudocode Primitive Datentypen Übersicht über
MehrAlgorithms & Datastructures Midterm Test 1
Algorithms & Datastructures Midterm Test 1 Wolfgang Pausch Heiko Studt René Thiemann Tomas Vitvar
MehrInformatik Prüfung Lösung B. Gärtner
Informatik 252-0847-00 Prüfung 12. 8. 2016 Lösung B. Gärtner Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrUse of the LPM (Load Program Memory)
Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the
MehrStruktur des MicroJava-Compilers
Struktur des MicroJava-Compilers Compiler Parser.mj Scanner Code- Generator.obj Symboltabelle UE zu Übersetzerbau Lexikalische Analyse 1 Grammatik ohne Scanner Expr = Term { "+" Term }. Term = Factor {
MehrEXCEL VBA Cheat Sheet
Variable Declaration Dim As Array Declaration (Unidimensional) Dim () As Dim ( To ) As
MehrInformatik Prüfung B. Gärtner
Informatik 252-0847-00 Prüfung 10. 8. 2017 B. Gärtner Name, Vorname:............................................................. Legi-Nummer:.............................................................
MehrInformatik 1 ( ) D-MAVT F2011. Pointer, Structs. Yves Brise Übungsstunde 6
Informatik 1 (251-0832-00) D-MAVT F2011 Pointer, Structs Organisatorisches Übungsstunde 20110413 Da ich abwesend bin, bitte Gruppe von David Tschirky besuchen. Mittwoch, 20110413, 13:15-15:00 Uhr, VAW
MehrInformatik D-MATH/D-PHYS Self-Assessment II,
Informatik D-MATH/D-PHYS Self-Assessment II, 24.10.2017 Name, Vorname:............................................................. Legi-Nummer:................... Übungsgruppe:................... Diese
MehrGrundlagen der Informatik 11. Zeiger
11. Zeiger Motivation Zeiger und Adressen Zeiger und Funktionen Zeiger und Arrays Dynamische Objekte Grundlagen der Informatik (Alex Rempel) 1 Motivation Dynamische Speicherverwaltung Oft müssen große
MehrAccelerating Information Technology Innovation
Accelerating Information Technology Innovation http://aiti.mit.edu Ghana Summer 2011 Lecture 05 Functions Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature
MehrÜbung 3: VHDL Darstellungen (Blockdiagramme)
Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrExercise (Part II) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1
Exercise (Part II) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All
MehrÜbung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil
MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches
Mehr