Übungsstunde: Informatik 1 D-MAVT

Size: px
Start display at page:

Download "Übungsstunde: Informatik 1 D-MAVT"

Transcription

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

2 Ablauf Sorting Multidimensionale Arrays und Vektoren Darstellung einer Matrix in einem Array Strings Lindenmayer Systems and Turtle graphics Pointer / Zeiger Übung 7 Vorstellung und Tipps Daniel Bogado Duffner

3 Arrays - Kurzübersicht Arrays sind 0 indexiert (Zählung fängt bei 0 an) Arrays können immer nur Ausdrücke von einem Typ (int, bool, ) speichern int test1[]; geht nicht. Grösse muss bei Compilezeit festliegen! 3

4 Algorithm Bubble Sort

5 Algorithm Bubble Sort int a[] = {6, 1, 3, 2, 1}; for (int i = 4; i >= 0; --i) for (int j = 0; j < i; ++j) if (a[j] > a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } 5

6 Algorithm Bubble Sort int a[] = {6, 1, 3, 2, 1}; for (int i = 4; i >= 0; --i) for (int j = 0; j < i; ++j) if (a[j] > a[j+1]) { int temp = a[j]; a[j] = a[j+1]; a[j+1] = temp; } Note: Do not consider previous maxima

7 Nachtrag letzte Woche Vektoren können nicht zu Beginn unterschiedliche Zahlen zugewiesen bekommen int a[]={1,4,5}; // Als Array geht das std::vector<int> numbers (n, 0); // Als Vektor geht das nicht Daniel Bogado Duffner

8 Mehrdimensionale Arrays/Vektoren Mehrdimensionale Arrays: Mehrdimensionale Vektoren: int array[4][3] for (int i = 0; i < 4; i++) for (int j = 0; j < 3; j++) std::cin >> array[i][j]; int m = 4; int n = 3; std::vector< std::vector<int> > vector (m, std::vector<int>(n)); for (unsigned int i = 0; i < m; i++) for (unsigned int j = 0; j < n; j++) std::cin >> vector[i][j]; Daniel Bogado Duffner

9 Representation of a Matrix in an Array

10 Matrix in an Array Matrix (m x n) i i, j, k start from 0. j Index: k = i n + j k =? Array (length mn) 10

11 Strings Müssen mit #include <string> hinzugefügt werden Funktionieren wie Vektoren (.push_back(),.at() ) Besitzen einen += Operator, mit dem Text angefügt werden kann Können ohne Schleife ausgegeben werden Daniel Bogado Duffner

12 Strings 1 #include <iostream> 2 #include <string> 3 4 int main () { 5 6 std::string text; 7 std::cin >> text; // reads in a text of arbitrary length, for example "Hello" 8 9 text += " world!"; // appends text to the string, in this case changing it to 10 // "Hello world!" std::string text2 = text; // initialization also works with a string variable on 13 // the right hand side, in this case text2 = text std::cout << text2 << "\n"; // outputs whole text stored in text2, here 16 // "Hello world!" 17 return 0; 18 } Daniel Bogado Duffner

13 Strings 1 #include <iostream> 2 #include <string> 3 4 int main () { 5 6 std::string str ("The quick brown fox jumps over the lazy dog."); 7 8 std::cout << str.find("fox") << "\n"; // outputs 16 9 std::cout << str.find("fox", 30) << "\n"; // outputs std::string::npos 10 // (substring not found) 11 str.replace(10, 5, "red"); 12 std::cout << str << "\n"; //outputs "The quick red fox jumps over the lazy dog str.erase(10,4); 15 std::cout << str << "\n"; // outputs "The quick fox jumps over the lazy dog." return 0; 18 } Daniel Bogado Duffner

14 We have the following functions: Strings find (const string& string, int pos = 0), // gibt die Stelle in der das gesuchte Wort beginnt an replace (int pos, int count, const string& string) // ersetzt Wort im Bereich [pos, pos+count) erase (int pos, int count) // löscht den Bereich [pos, pos+count) Daniel Bogado Duffner

15 Lindenmayer Systems

16 Lindenmayer Systems Characterized by three parameters: 1. Alphabet - the allowed symbols 2. Production P - how to replace each symbol 3. Initial word s - the word to start with Example: 1. 1.

17 Lindenmayer Systems Characterized by three parameters: 1. Alphabet - the allowed symbols 2. Production P - how to replace each symbol 3. Initial word s - the word to start with lexamplele: 1. 1.

18 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++

19 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

20 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

21 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

22 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

23 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

24 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

25 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

26 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

27 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

28 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

29 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

30 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

31 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

32 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

33 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

34 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

35 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

36 Lindenmayer Systems How does it look after 3 rounds? s: w : 1 : w 2 w 3 : F F+F+ F+F++F+F++ F+F++F+F+++F+F++F+F+++ 1.

37 Draw Lindenmayer Systems

38 Two Step Procedure Goal: Draw n-th step of Lindenmayer system Done in 2 steps: 1. Obtain n-th step 2. Draw it

39 Step 1 Obtain n-th Word Write and use the following two functions std::string production (const char c) In: symbol e.g. F Out: its production e.g. F+F+

40 Step 1 Obtain n-th Word Write and use the following two functions std::string production (const char c) In: symbol e.g. F Out: its production e.g. F+F+ std::string next_word (std::string& word) In: w (Word of step n) e.g. FF Out: w (Word n of step n+1) e.g. F+F+F+F+ Applies production n+1 to each character in w and concatenates the results. n

41 Step 2 Draw It Idea: view alphabet as turtle commands Example: Alphabet: := { F, +, - } F: turtle::forward() +: turtle::left(90) - : turtle::right(90)

42 Turtle Commands (aus: Skriptaufgabe 5) 42

43 Moving the Turtle C++ Commands Step (drawn): Step (not drawn):turtle::jump(); Rotation left: turtle::left(my_angle); Rotation right: turtle::right(my_angle); Save position: turtle::save(); Load position: turtle::restore(); Color cycling: turtle::colorcycle(); Requires: #include "turtle.cpp" 43

44 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 44

45 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 45

46 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 46

47 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 47

48 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 48

49 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 49

50 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 50

51 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 51

52 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 52

53 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 53

54 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 54

55 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 55

56 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 56

57 Moving the Turtle turtle::save(); turtle::left(45); turtle::jump(); turtle::save(); turtle::right(45); turtle::forward(2); turtle::restore(); turtle::restore(); turtle::right(45); 57

58 Pointer / Zeiger Ähnlich wie Referenzen, aber können auch im Nachhinein verändert werden int i = 5; int j = 7; int& k = i; // k is initialized to reference i k = j; // the value of i is changed to 7 Damit das möglich ist, müssen wir die Speicheradresse unserer Variable kennen Pointer müssen immer einen Typ haben, obwohl sie auf eine Adresse zeigen Pointer müssen die Länge des Ziels kennen (wie viel Bytes) Daniel Bogado Duffner

59 Introduction to Pointers

60 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; 60

61 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; 61

62 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; 62

63 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; x Visualization 63

64 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; x 64

65 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; x 65

66 Pointer Program int a = 5; int* x = &a; char c = 'd'; char* z = &c; x z 66

67 Shifting Pointers

68 Pointer Program ++x; ++z; x z 68

69 Pointer Program ++x; ++z; ++x z 69

70 Pointer Program ++x; ++z; ++x ++z 70

71 Pointer Program ++x; ++z; Warning: We don t know the value at ++x ++z 71

72 Pointer / Zeiger Wie unterscheiden zwischen Adressänderung und Wertänderung? Zwei neue Operatoren: Referenz / Adress Operator & Dereferenzierung oder Wert Operator * Daniel Bogado Duffner

73 Pointer / Zeiger Referenz / Adress Operator & Dereferenzierung oder Wert Operator * int a = 5; int b = 7; int* x = 0; x = &a; std::cout << a << "\n"; // outputs 5 std::cout << *x << "\n"; // outputs 5 too // always initialize empty pointers to zero! // the address of a is written to x; x points to a std::cout << x << "\n"; // outputs 0x28fef8 (address of a) std::cout << &a << "\n"; // outputs 0x28fef8 (address of a) too x = &b; // x now points to b *x = 1; // changes value of b to 1 Daniel Bogado Duffner

74 Pointer und/auf Arrays Pointer und Arrays sind sich ähnlich bzw können ineinander konvertiert werden int arr[] = {7,1,0,2,5}; int* point = arr; std::cout << *point << "\n"; // outputs 7 std::cout << *(point + 3) << "\n"; // outputs 2 // arr gets converted to the address of the // first array element a[0] (arr == &arr[0]) int arr[] = {9,2,4,5,1,2,6}; for (int i = 0; i < 7; ++i) std::cout << arr[i] << "\n"; for (int* i = arr; i < arr + 7; ++i) std::cout << *i << "\n"; Daniel Bogado Duffner

75 Pointers on Arrays

76 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers

77 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers a

78 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr a

79 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr a

80 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr a my_int 80

81 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr a my_int 81

82 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr a my_int 82

83 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr past a my_int 83

84 Pointer Program Output: true int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers Because ptr is "to the left" of past. ptr past a my_int 84

85 Pointer Program "To the left" means: smaller index of element Output: true int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; pointed to // array-to-pointer conv ++ptr; in array // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers Because ptr is "to the left" of past. ptr past a my_int 85

86 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; pointed to // array-to-pointer conv ++ptr; in array // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers Here: Index 3 < Index 5 "To the left" means: smaller index of element Output: true Because ptr is "to the left" of past. ptr past a my_int 86

87 Pointer Program int a[5] = {0, 8, 7, 2, -1}; int* ptr = a; // array-to-pointer conv ++ptr; // shift to the right int my_int = *ptr; // read target ptr += 2; // shift by 2 elements *ptr = 18; // overwrite target int* past = a+5; std::cout << (ptr < past) << "\n"; // compare pointers ptr past a my_int 87

88 Übung 7 - Tipps und Tricks Aufgabe 1: Ziel: Matrix und Vector Operationen (Kreuzprodukt, ) schreiben Tipp: Schreibt für das einlesen und ausgeben der Arrays eine Funktion + Schreibt für jede Operation eine Funktion + Schreibt für jeden Aufruf einer der Aufgaben eine Funktion Aufgabe 2: Ziel: Decoden eines Zeitungsartikels in Binär System Tipp: Stumpf Übersetzung von 8 bit Binärzahl zu Char, Filestream Aufgabe 3 (optional): Ziel: Eine Schöne Zeichnung aus Turtle durch Lindenmayer System Tipp: probiert ein wenig rum (Demo siehe slides), nicht zu viel Zeit darauf verwenden Daniel Bogado Duffner

89 Streams and Files <fstream> Streaming data from/to files (read/write) Almost identical to console I/O Except file streams have to be instantiated and opened by the user program // Instantiate ofstream object "fout" ofstream fout; fout.open("myfile.dat"); fout << var; // writing to file cout << var; // writing to screen 89 M. Gross, ETH Zürich, 2017

90 Step-by-Step Streaming to Files 1. Include header #include <fstream> 2. Create fstream instance ofstream fout; 3. Open file fout.open("mydat"); 4. Transfer data from/to file fout << "Hello!\n"; 5. Close file fout.close(); 90 M. Gross, ETH Zürich, 2017

91 Example: Simple Write and Read #include <iostream> #include <fstream> using namespace std; int main() { ofstream fout; fout.open("mydat"); if(!fout.is_open()) { cerr << "IO error\n"; return 1; } int a = 12345; #include <iostream> #include <fstream> using namespace std; int main() { ifstream fin; fin.open("mydat"); if(!fin.is_open()) { cerr << "IO error\n"; return 1; } int a; fout << a; fout.close(); // Write to file fin >> a; fin.close(); // Read from file } return 0; } return 0; 91 M. Gross, ETH Zürich, 2017

File I/O Christian Schumacher, Info1 D-MAVT 2013

File I/O Christian Schumacher, Info1 D-MAVT 2013 File I/O Christian Schumacher, chschuma@inf.ethz.ch Info1 D-MAVT 2013 Input and Output in C++ Stream objects Formatted output Writing and reading files References General Remarks I/O operations are essential

More information

Connection Guide Link ECU

Connection Guide Link ECU Connection Guide Link ECU Can Bus Connection Atom/Monsun: Pin 28 (Can High) + Pin 29 (CAN Low) Storm (Black)/Fury/Xtreme/Force GDI: Pin B27 (Can2 High) + Pin B28 (CAN2 Low) Kurofune: Pin JST3 (Can High)

More information

Informatik I (D-ITET) Übungsstunde 9, Hossein Shafagh

Informatik I (D-ITET) Übungsstunde 9, Hossein Shafagh Informatik I (D-ITET) Übungsstunde 9, 20.11.2017 Hossein Shafagh shafagh@inf.ethz.ch Self-Assessment III 1) Characters: FILO - 2P for the completely correct answer - 0P otherwise 2) Pointers Self-Assessment

More information

Exercise 3 Logical Operators, Branching, Loops. Informatik I für Mathematiker und Physiker (HS 2015) Yeara Kozlov

Exercise 3 Logical Operators, Branching, Loops. Informatik I für Mathematiker und Physiker (HS 2015) Yeara Kozlov Exercise 3 Logical Operators, Branching, Loops Informatik I für Mathematiker und Physiker (HS 2015) Yeara Kozlov B. Gaertner, ETH Zürich, 2015 Agenda HW #1 feedback Expressions if statements for loop const

More information

13. Arrays II. Strings as Arrays. Texts. Strings: pimped char-arrays. char text[] a =... can be initialized via string literals. char text[] = "bool"

13. Arrays II. Strings as Arrays. Texts. Strings: pimped char-arrays. char text[] a =... can be initialized via string literals. char text[] = bool Strings as Arrays 13. Arrays II Strings, Lindenmayer Systems, Multidimensional Arrays, Vectors of Vectors, Shortest Paths, Arrays and Vectors as Function Arguments can be represented with underlying type

More information

Search Engines Chapter 2 Architecture Felix Naumann

Search Engines Chapter 2 Architecture Felix Naumann Search Engines Chapter 2 Architecture 28.4.2009 Felix Naumann Overview 2 Basic Building Blocks Indexing Text Acquisition iti Text Transformation Index Creation Querying User Interaction Ranking Evaluation

More information

1. Übungsblatt. Vorlesung Embedded System Security SS 2017 Trusted Computing Konzepte. Beispiellösung

1. Übungsblatt. Vorlesung Embedded System Security SS 2017 Trusted Computing Konzepte. Beispiellösung Technische Universität Darmstadt Fachbereich Informatik System Security Lab Prof. Dr.-Ing. Ahmad-Reza Sadeghi Raad Bahmani 1. Übungsblatt Vorlesung Embedded System Security SS 2017 Trusted Computing Konzepte

More information

12. Arrays II. Strings as Arrays. Texts. Strings: pimped char-arrays. char text[] = { b, o, o, l } char text[] = "bool" text.

12. Arrays II. Strings as Arrays. Texts. Strings: pimped char-arrays. char text[] = { b, o, o, l } char text[] = bool text. Strings as Arrays can be represented with underlying type char 12. Arrays II Strings, Lindenmayer Systems, Multidimensional Arrays, Vectors of Vectors, Shortest Paths, Arrays and Vectors as Function Arguments

More information

Übungsblatt 2. Aufgabe 1 (Klassifikationen von Betriebssystemen)

Übungsblatt 2. Aufgabe 1 (Klassifikationen von Betriebssystemen) Übungsblatt 2 Aufgabe 1 (Klassifikationen von Betriebssystemen) 1. Zu jedem Zeitpunkt kann nur ein einziges Programm laufen. Wie ist der passende Fachbegriff für diese Betriebsart? 2. Was versteht man

More information

Modern and Lucid C++ for Professional Programmers. Week 15 Exam Preparation. Department I - C Plus Plus

Modern and Lucid C++ for Professional Programmers. Week 15 Exam Preparation. Department I - C Plus Plus Department I - C Plus Plus Modern and Lucid C++ for Professional Programmers Week 15 Exam Preparation Thomas Corbat / Prof. Peter Sommerlad Rapperswil, 08.01.2019 HS2018 Prüfung 2 Durchführung Mittwoch

More information

10/25/ Recursion. Objectives. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich.

10/25/ Recursion. Objectives. Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich. 11. Recursion Harald Gall, Prof. Dr. Institut für Informatik Universität Zürich http://seal.ifi.uzh.ch/info1! You think you know when you learn, are more sure when you can write, even more when you can

More information

4. Multicast Multicast Principles. Why is Multicast Important for. Multimedia? Definition of Multicast

4. Multicast Multicast Principles. Why is Multicast Important for. Multimedia? Definition of Multicast 4.3 Multicast 4.3.1 Multicast Principles efinition of Multicast Multicast is defined as the transmission of a data stream from one sender to many receivers with packet duplication and forwarding inside

More information

USB. USB Sticks in Design und Qualität

USB. USB Sticks in Design und Qualität USB Sticks in Design und Qualität 148 149 USB Touch Pen touch pen OTG (On-The-Go) USB Stick OTG (On-The-Go) USB Drive USB microsd Karte microsd card Werbefläche advertising space 1, 2, 4, 8, 16, 32 GB

More information

CSc Introduc/on to Compu/ng. Lecture 19 Edgardo Molina Fall 2011 City College of New York

CSc Introduc/on to Compu/ng. Lecture 19 Edgardo Molina Fall 2011 City College of New York CSc 10200 Introduc/on to Compu/ng Lecture 19 Edgardo Molina Fall 2011 City College of New York 18 Standard Device Files Logical file object: Stream that connects a file of logically related data to a program

More information

PHY4321 Summary Notes

PHY4321 Summary Notes PHY4321 Summary Notes The next few pages contain some helpful notes that summarize some of the more useful material from the lecture notes. Be aware, though, that this is not a complete set and doesn t

More information

Exercise 1.1 Hello world

Exercise 1.1 Hello world Exercise 1.1 Hello world The goal of this exercise is to verify that computer and compiler setup are functioning correctly. To verify that your setup runs fine, compile and run the hello world example

More information

CS302 - Data Structures using C++

CS302 - Data Structures using C++ CS302 - Data Structures using C++ Pre-Course: Variables, Basic Types, Control Structures Kostas Alexis Slides inspired by the course Modern C++, Uni Bonn: http://www.ipb.uni-bonn.de/teaching/modern-cpp/

More information

Input and Output. Data Processing Course, I. Hrivnacova, IPN Orsay

Input and Output. Data Processing Course, I. Hrivnacova, IPN Orsay Input and Output Data Processing Course, I. Hrivnacova, IPN Orsay Output to the Screen Input from the Keyboard IO Headers Output to a File Input from a File Formatting I. Hrivnacova @ Data Processing Course

More information

Working with Strings. Lecture 2. Hartmut Kaiser. hkaiser/spring_2015/csc1254.html

Working with Strings. Lecture 2. Hartmut Kaiser.  hkaiser/spring_2015/csc1254.html Working with Strings Lecture 2 Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/spring_2015/csc1254.html Abstract This lecture will look at strings. What are strings? How can we input/output

More information

Writing a Good Program. 7. Stream I/O

Writing a Good Program. 7. Stream I/O Writing a Good Program 1 Input and Output I/O implementation is hardware dependent C++ does not, as a part of the language, define how data are sent out and read into the program The input and output (I/O)

More information

TI-No. 4002TI05.doc PAGE NO. : 1/1. Settings after Installation of the Firmware Version 74

TI-No. 4002TI05.doc PAGE NO. : 1/1. Settings after Installation of the Firmware Version 74 TI-No. 4002TI05.doc PAGE NO. : 1/1 DEVELOP Technical Information MODEL NAME : D 4500/5500iD MODEL CODE : 4002/4003 TI-INFO-NO. : 05 DATE : 13.07.2001 SUBJECT : Firmware MSC/Message/IR Version 74 PERFORMANCE

More information

Informatik II. Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018

Informatik II. Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018 1 Informatik II Übung 5 Andreas Bärtschi, Andreea Ciuprina, Felix Friedrich, Patrick Gruntz, Hermann Lehner, Max Rossmannek, Chris Wendler FS 2018 Heutiges Programm 2 1 Feedback letzte Übung 2 Wiederholung

More information

1 enum class -- scoped and strongly typed enums

1 enum class -- scoped and strongly typed enums enum class -- scoped and strongly typed enums C - enums mit Problemen: konvertierbar nach int exportieren ihre Aufzählungsbezeichner in den umgebenden Bereich (name clashes) schwach typisiert (z.b. keine

More information

AC500. Application Note. Scalable PLC for Individual Automation. AC500-S safety PLC - Overview of changes in Automation Builder 2.1.x and 2.0.

AC500. Application Note. Scalable PLC for Individual Automation. AC500-S safety PLC - Overview of changes in Automation Builder 2.1.x and 2.0. Application Note AC500 Scalable PLC for Individual Automation AC500-S safety PLC - Overview of changes in Automation Builder 2.1.x and 2.0.x ABB Automation Products GmbH Wallstadter Str. 59 D-68526 Ladenburg

More information

Übersicht über die grundlegenden C++-Elemente

Übersicht über die grundlegenden C++-Elemente Übersicht über die grundlegenden C++-Elemente Daniel Stein Software-Praktikum "Muster- und Bilderkennung" SS 2007 Human Language Technology and Pattern Recognition Lehrstuhl für Informatik VI Computer

More information

1. Introduction. What is Computer Science? Informatics Science of Computers. Computer Science Informatics

1. Introduction. What is Computer Science? Informatics Science of Computers. Computer Science Informatics What is Computer Science? 1. Introduction Computer Science: Definition and History, Algorithms, Turing Machine, Higher Level Programming Languages, Tools, The first C++Program and its Syntactic and Semantic

More information

G52CPP C++ Programming Lecture 17

G52CPP C++ Programming Lecture 17 G52CPP C++ Programming Lecture 17 Dr Jason Atkin http://www.cs.nott.ac.uk/~jaa/cpp/ g52cpp.html 1 Last Lecture Exceptions How to throw (return) different error values as exceptions And catch the exceptions

More information

Input/output. Remember std::ostream? std::istream std::ostream. std::ostream cin std::istream. namespace std { class ostream { /*...

Input/output. Remember std::ostream? std::istream std::ostream. std::ostream cin std::istream. namespace std { class ostream { /*... Input/output Remember std::ostream? namespace std { class ostream { /*... */ }; } extern istream cin; extern ostream cout; extern ostream cerr; extern ostream clog; 7 / 24 std::istream std::ostream std

More information

Aufgabe 2. Join-Methoden Differential Snapshots. Ulf Leser Wissensmanagement in der Bioinformatik

Aufgabe 2. Join-Methoden Differential Snapshots. Ulf Leser Wissensmanagement in der Bioinformatik Aufgabe 2 Join-Methoden Differential Snapshots Ulf Leser Wissensmanagement in der Bioinformatik Join Operator JOIN: Most important relational operator Potentially very expensive Required in all practical

More information

Week 3: File I/O and Formatting 3.7 Formatting Output

Week 3: File I/O and Formatting 3.7 Formatting Output Week 3: File I/O and Formatting 3.7 Formatting Output Formatting: the way a value is printed: Gaddis: 3.7, 3.8, 5.11 CS 1428 Fall 2014 Jill Seaman spacing decimal points, fractional values, number of digits

More information

Proxy Pattern (et Relata) (seen from someone still living in the '70, the '80 and, partly, in the '90)

Proxy Pattern (et Relata) (seen from someone still living in the '70, the '80 and, partly, in the '90) Proxy Pattern (et Relata) (seen from someone still living in the '70, the '80 and, partly, in the '90) 1 Proxy Pattern Pattern Name and Classification (Kategorisierung) Intent (Zweck) Motivation/ Forces

More information

Modern C++ for Computer Vision and Image Processing. Igor Bogoslavskyi

Modern C++ for Computer Vision and Image Processing. Igor Bogoslavskyi Modern C++ for Computer Vision and Image Processing Igor Bogoslavskyi Outline Classes Polymorphism I/O Stringstreams CMake find_package 2 Polymorphism From Greek polys, "many, much" and morphē, "form,

More information

CANOpen DS402 at KEBA

CANOpen DS402 at KEBA CANOpen DS402 at KEBA Description author: sue version date: 26.5.2008 actual version: V 1.0 printed: 26.5.08 23:14 filename: d:\projekte\cn\canopen_ds402_driver\canopen-ds402 at keba.doc Index of changes

More information

Exercise 7 References, Arrays, Vectors

Exercise 7 References, Arrays, Vectors Exercise 7 References, Arrays, Vectors Informatik I für Mathematiker und Physiker (HS 2015) Yeara Kozlov Slides courtesy of Kaan Yücer & Endri Dibra B. Gaertner, ETH Zürich, 2015 Agenda HW #5 Feedback

More information

CMPS 221 Sample Final

CMPS 221 Sample Final Name: 1 CMPS 221 Sample Final 1. What is the purpose of having the parameter const int a[] as opposed to int a[] in a function declaration and definition? 2. What is the difference between cin.getline(str,

More information

Usability Engineering

Usability Engineering Usability Engineering A systematic approach to GUI development Martin Stangenberg Stryker Navigation, Freiburg 03.11.2005 World Usability Day, 3rd Nov. 2005 36 h world wide events 61 locations in 23 countries

More information

C++ does not, as a part of the language, define how data are sent out and read into the program

C++ does not, as a part of the language, define how data are sent out and read into the program Input and Output C++ does not, as a part of the language, define how data are sent out and read into the program I/O implementation is hardware dependent The input and output (I/O) are handled by the standard

More information

11. Reference Types. Swap! Reference Types: Definition. Reference Types

11. Reference Types. Swap! Reference Types: Definition. Reference Types Swap! 11. Reference Types Reference Types: Definition and Initialization, Pass By Value, Pass by Reference, Temporary Objects, Constants, Const-References // POST: values of x and y are exchanged void

More information

Installing and Configuring Windows 10 MOC

Installing and Configuring Windows 10 MOC Installing and Configuring Windows 10 MOC 20697-1 In diesem 5-tägigen Seminar lernen Sie die Installation und Konfiguration von Windows-10-Desktops und -Geräten in einer Windows-Server- Domänenumgebung.

More information

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program:

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 1/9/ Review. Here s a simple C++ program: Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams

More information

Neuigkeiten aus dem Oracle-Cloud-Portfolio - Fokus auf Infrastructure-as-a-Service

Neuigkeiten aus dem Oracle-Cloud-Portfolio - Fokus auf Infrastructure-as-a-Service Neuigkeiten aus dem Oracle-Cloud-Portfolio - Fokus auf Infrastructure-as-a-Service Oliver Zandner, Leitender System-Berater Architect for Oracle-Cloud- & -On-Premise-Tech. Oracle Deutschland Copyright

More information

Looping and Counting. Lecture 3 Hartmut Kaiser hkaiser/fall_2012/csc1254.html

Looping and Counting. Lecture 3 Hartmut Kaiser  hkaiser/fall_2012/csc1254.html Looping and Counting Lecture 3 Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/fall_2012/csc1254.html Abstract First we ll discuss types and type safety. Then we will modify the program

More information

Ulrich Stärk

Ulrich Stärk < Ulrich Stärk ulrich.staerk@fu-berlin.de http://www.plat-forms.org 2 Einige Vorurteile Everything in the box is kind of weird and quirky, but maybe not enough to make it completely worthless. PHP: a fractal

More information

Looping and Counting. Lecture 3. Hartmut Kaiser hkaiser/fall_2011/csc1254.html

Looping and Counting. Lecture 3. Hartmut Kaiser  hkaiser/fall_2011/csc1254.html Hartmut Kaiser hkaiser@cct.lsu.edu http://www.cct.lsu.edu/ hkaiser/fall_2011/csc1254.html 2 Abstract First we ll discuss types and type safety. Then we will modify the program we developed last time (Framing

More information

Informatik I (D-ITET) Übungsstunde 6, Hossein Shafagh

Informatik I (D-ITET) Übungsstunde 6, Hossein Shafagh Informatik I (D-ITET) Übungsstunde 6, 30.10.2017 Hossein Shafagh shafagh@inf.ethz.ch Self-Assessment Self-Assessment 1 Typen und Werte int i = 11; unsigned int u = 12; double d = 2.0; int j = 0; double

More information

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program:

Welcome Back. CSCI 262 Data Structures. Hello, Let s Review. Hello, Let s Review. How to Review 8/19/ Review. Here s a simple C++ program: Welcome Back CSCI 262 Data Structures 2 - Review What you learned in CSCI 261 (or equivalent): Variables Types Arrays Expressions Conditionals Branches & Loops Functions Recursion Classes & Objects Streams

More information

ProCANopen Questions & Answers Version Application Note AN-ION

ProCANopen Questions & Answers Version Application Note AN-ION Version 1.3 2011-07-21 Author(s) Restrictions Abstract Juergen Klueser Public Document This Document gives answers on typical questions on ProCANopen application. Table of Contents 1.0 Overview...1 2.0

More information

Strings and Stream I/O

Strings and Stream I/O Strings and Stream I/O C Strings In addition to the string class, C++ also supports old-style C strings In C, strings are stored as null-terminated character arrays str1 char * str1 = "What is your name?

More information

Lecture 5 Files and Streams

Lecture 5 Files and Streams Lecture 5 Files and Streams Introduction C programs can store results & information permanently on disk using file handling functions These functions let you write either text or binary data to a file,

More information

Integration of Ongoing Integers into PostgreSQL

Integration of Ongoing Integers into PostgreSQL Department of Informatics, University of Zürich BSc Thesis Integration of Ongoing Integers into PostgreSQL Timothy Pescatore Matrikelnummer: 14-916-886 Email: timothy.pescatore@uzh.ch September 15, 2018

More information

G52CPP C++ Programming Lecture 14. Dr Jason Atkin

G52CPP C++ Programming Lecture 14. Dr Jason Atkin G52CPP C++ Programming Lecture 14 Dr Jason Atkin 1 Last Lecture Automatically created methods: A default constructor so that objects can be created without defining a constructor A copy constructor used

More information

AvO-Übung 6 Rechnerübung zu Ice (2)

AvO-Übung 6 Rechnerübung zu Ice (2) AvO-Übung 6 Rechnerübung zu Ice (2) Andreas I. Schmied und Jan-Patrick Elsholz Institut für Verteilte Systeme 22. Januar 2008 Aufgabe 1: Namensdienst mit Freeze Map Dateiname:./AvoRegistry.ice 1 module

More information

PIC10B/1 Winter 2014 Exam I Study Guide

PIC10B/1 Winter 2014 Exam I Study Guide PIC10B/1 Winter 2014 Exam I Study Guide Suggested Study Order: 1. Lecture Notes (Lectures 1-8 inclusive) 2. Examples/Homework 3. Textbook The midterm will test 1. Your ability to read a program and understand

More information

Dwg viewer free download vista. Dwg viewer free download vista.zip

Dwg viewer free download vista. Dwg viewer free download vista.zip Dwg viewer free download vista Dwg viewer free download vista.zip free dwg viewer free download - Free DWG Viewer, Free DWG Viewer, DWG Viewer, and many more programsdeep View Free DWG DXF Viewer, free

More information

File Operations. Lecture 16 COP 3014 Spring April 18, 2018

File Operations. Lecture 16 COP 3014 Spring April 18, 2018 File Operations Lecture 16 COP 3014 Spring 2018 April 18, 2018 Input/Ouput to and from files File input and file output is an essential in programming. Most software involves more than keyboard input and

More information

<Intellectual output O6 >

<Intellectual output O6 > Titel: Digital marketing. Activity In the sixth activity, the aim is to develop a curriculum for a one-week course on digital marketing. How to establish an e-store. Description

More information

Read-only Transportable Tablespaces 11g <> 12c Bodo von Neuhaus

Read-only Transportable Tablespaces 11g <> 12c Bodo von Neuhaus Read-only Transportable Tablespaces 11g 12c Bodo von Neuhaus Leitender Systemberater ORACLE Deutschland B.V. & Co. KG Agenda 1 2 3 Transportable Tablespaces Allgemein Unterschiede 11g zu 12c Demo Agenda

More information

SD2IEC evo². Revision E3b

SD2IEC evo². Revision E3b SD2IEC evo² Installation Instructions Revision E3b 16xEight Wir danken für das uns mit dem Kauf dieses Produktes entgegengebrachte Vertrauen! Unser Ziel ist es nicht nur die Anforderungen unserer Kunden

More information

DVI KVM switches DVIMUX 7.5

DVI KVM switches DVIMUX 7.5 DVIMUX 7.5 KVM switches Switches for the effective operation of multiple computers via one workstation G&D IF IT S KVM Das Unternehmen Die Guntermann & Drunck GmbH zählt zu den führenden Herstellern digitaler

More information

Vorlesung Datenstrukturen und Algorithmen Letzte Vorlesung Felix Friedrich, Map/Reduce Sorting Networks Prüfung

Vorlesung Datenstrukturen und Algorithmen Letzte Vorlesung Felix Friedrich, Map/Reduce Sorting Networks Prüfung Vorlesung Datenstrukturen und Algorithmen Letzte Vorlesung 28 Felix Friedrich, 3.5.28 Map/Reduce Sorting Networks Prüfung MAP AND REDUCE AND MAP/REDUCE 2 Summing a Vector Accumulator Divide and conquer

More information

Call a spanning tree T of G end-faithful if the natural map : (T )! (G)! 7!! 0! is 1 1 and onto. Examples: neither need be the case.

Call a spanning tree T of G end-faithful if the natural map : (T )! (G)! 7!! 0! is 1 1 and onto. Examples: neither need be the case. Call a spanning tree T of G end-faithful if the natural map is 1 1 and onto. Examples: neither need be the case. : (T )! (G)! 7!! 0! Which graphs have end-faithful spanning trees? Recall definition and

More information

Designing Database Solutions for Microsoft SQL Server 2012 MOC 20465

Designing Database Solutions for Microsoft SQL Server 2012 MOC 20465 Designing Database Solutions for Microsoft SQL Server 2012 MOC 20465 Dieses Seminar behandelt das Design und die Überwachung von hochperformanten und hochverfügbaren Datenlösungen mit SQL Server 2012.

More information

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable

Basic program The following is a basic program in C++; Basic C++ Source Code Compiler Object Code Linker (with libraries) Executable Basic C++ Overview C++ is a version of the older C programming language. This is a language that is used for a wide variety of applications and which has a mature base of compilers and libraries. C++ is

More information

estos ECSTA for Teles Voice Application Server

estos ECSTA for Teles Voice Application Server estos ECSTA for Teles Voice Application Server 5.0.1.4942 1 Einleitung...4 2 ECSTA for Teles Voice Application Server...5 2.1 General Settings...5 2.2 Advanced Settings...5 2.3 TAPI Lines...5 2.4 Settings...6

More information

Computer Science. 1. Introduction. What is Computer Science? Computer Science vs. Computers

Computer Science. 1. Introduction. What is Computer Science? Computer Science vs. Computers Computer Science Course for Computational Sciences and Engineering at D-MATH of ETH Zurich Felix Friedrich, Malte Schwerhoff 1. Introduction Computer Science: Definition and History, Algorithms, Turing

More information

Assignment 2 Solution

Assignment 2 Solution Assignment 2 Solution Date.h #ifndef DATE_H #define DATE_H #include class Date time_t date; public: Date(); Date(const Date&) = default; Date(time_t); // Date in time_t format Date(const char*);

More information

Installation, Storage and Compute with Windows Server Online-Training Examen 740. Ausbildungsinhalte. ITKservice

Installation, Storage and Compute with Windows Server Online-Training Examen 740. Ausbildungsinhalte. ITKservice Installation, Storage and Compute with Windows Server 2016 Online-Training Examen 740 Ausbildungsinhalte ITKservice EXAM Technische Trainings Microsoft Installation, Storage and Compute with Windows Server

More information

WebTransactions V7.1. Supplement

WebTransactions V7.1. Supplement WebTransactions V7.1 Supplement Edition: December 2006 This manual describes the new functions in WebTransactions V7.1. It is intended to supplement the WebTransactions V7.0 manuals. Comments Suggestions

More information

How to apply with the Beuth online application system

How to apply with the Beuth online application system How to apply with the Beuth online application system 1. Go to https://sv.beuth-hochschule.de/portal/bewerberstart/ and either register or login if you are registered already. Registration is explained

More information

Lecture 3 The character, string data Types Files

Lecture 3 The character, string data Types Files Lecture 3 The character, string data Types Files The smallest integral data type Used for single characters: letters, digits, and special symbols Each character is enclosed in single quotes 'A', 'a', '0',

More information

Anleitung zur Schnellinstallation TEW-684UB 1.01

Anleitung zur Schnellinstallation TEW-684UB 1.01 Anleitung zur Schnellinstallation TEW-684UB 1.01 Table of Contents Deutsch 1 1. Bevor Sie anfangen 1 2. Installation 2 3. Verwendung des drahtlosen Adapters 5 Troubleshooting 7 Wireless Tips 8 Version

More information

8. Negation 8-1. Deductive Databases and Logic Programming. (Winter 2007/2008) Chapter 8: Negation. Motivation, Differences to Logical Negation

8. Negation 8-1. Deductive Databases and Logic Programming. (Winter 2007/2008) Chapter 8: Negation. Motivation, Differences to Logical Negation 8. Negation 8-1 Deductive Databases and Logic Programming (Winter 2007/2008) Chapter 8: Negation Motivation, Differences to Logical Negation Syntax, Supported Models, Clark s Completion Stratification,

More information

AUTOMATISIERUNG DER INFRASTRUKTUR

AUTOMATISIERUNG DER INFRASTRUKTUR AUTOMATISIERUNG DER INFRASTRUKTUR NÄCHSTER HALT: STORAGE! ULRICH HÖLSCHER SYSTEMS ENGINEER 1 ES GIBT EINE MENGE ARBEIT WIE GEHEN WIR ES AN? Cloud Management Systems Automatisierung, IT-Prozesse Cloud Readiness/Transformation

More information

Plan Based Thread Scheduling on HPC Nodes

Plan Based Thread Scheduling on HPC Nodes Master s thesis at the Software Engineering Research Group of the Institute of Computer Science Plan Based Thread Scheduling on HPC Nodes Kelvin Glaß Student ID: 4659865 kelvin.glass@fu-berlin.de First

More information

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts

Strings and Streams. Professor Hugh C. Lauer CS-2303, System Programming Concepts Strings and Streams Professor Hugh C. Lauer CS-2303, System Programming Concepts (Slides include materials from The C Programming Language, 2 nd edition, by Kernighan and Ritchie, Absolute C++, by Walter

More information

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert

Continuous Delivery. für Java Anwendungen. Axel Fontaine Software Development Expert 07.04.2011 Continuous Delivery für Java Anwendungen Axel Fontaine Software Development Expert twitter.com/axelfontaine www.axelfontaine.com business@axelfontaine.com Ceci n est pas une build tool. Ceci

More information

Introduction to Computational Linguistics

Introduction to Computational Linguistics Introduction to Computational Linguistics Frank Richter fr@sfs.uni-tuebingen.de. Seminar für Sprachwissenschaft Eberhard Karls Universität Tübingen Germany Intro to CL WS 2011/12 p.1 Langenscheidt s T1

More information

Consistency, clarity, simplification and continuous maintenance. Release 5

Consistency, clarity, simplification and continuous maintenance. Release 5 Consistency, clarity, simplification and continuous maintenance Developed by the COUNTER Community The COUNTER R5 working group was comprised of librarians, publishers, representatives of ERM systems and

More information

PIC Council Charter. Jürgen Wagner, Friedhelm Krebs. SAP AG Version 1.1 April 26 th, 2004

PIC Council Charter. Jürgen Wagner, Friedhelm Krebs. SAP AG Version 1.1 April 26 th, 2004 PIC Council Charter Jürgen Wagner, Friedhelm Krebs SAP AG Version 1.1 April 26 th, 2004 PIC Council Charter Mission of PIC Council Its mission is to guarantee quality of process integration content by

More information

This chapter introduces the notion of namespace. We also describe how to manage input and output with C++ commands via the terminal or files.

This chapter introduces the notion of namespace. We also describe how to manage input and output with C++ commands via the terminal or files. C++ PROGRAMMING LANGUAGE: NAMESPACE AND MANGEMENT OF INPUT/OUTPUT WITH C++. CAAM 519, CHAPTER 15 This chapter introduces the notion of namespace. We also describe how to manage input and output with C++

More information

Given the C++ declaration statement below, which of the following represents the value of exforsys? e) None of the above. 1K

Given the C++ declaration statement below, which of the following represents the value of exforsys? e) None of the above. 1K Instruction: When specified, you may choose more than one answer; otherwise, choose ONE answer for each question. Choose the answer(s) by circling it/them on the Answer Sheet provided. Questions 1-12 are

More information

CS242 COMPUTER PROGRAMMING

CS242 COMPUTER PROGRAMMING CS242 COMPUTER PROGRAMMING I.Safa a Alawneh Variables Outline 2 Data Type C++ Built-in Data Types o o o o bool Data Type char Data Type int Data Type Floating-Point Data Types Variable Declaration Initializing

More information

The activities described in these upgrade instructions may only be performed by engineers or maintenance/technical staff.

The activities described in these upgrade instructions may only be performed by engineers or maintenance/technical staff. Introduction The upgrade instructions show how to remove the standard power supply and replace it with a hotplug power supply. The following steps only apply to the PRIMERGY 400 and 00 tower servers.!

More information

Rib Design to Increase Stiffness of Housings

Rib Design to Increase Stiffness of Housings Rib Design to Increase Stiffness of Housings R. Helfrich, M. Klein, A. Schünemann INTES GmbH, Stuttgart, Germany www.intes.de; info@intes.de Summary: Crank housings and transmission housings need sufficient

More information

SECTION A (15 MARKS) Answer ALL Questions. Each Question carries ONE Mark. 1 (a) Choose the correct answer: (10 Marks)

SECTION A (15 MARKS) Answer ALL Questions. Each Question carries ONE Mark. 1 (a) Choose the correct answer: (10 Marks) SECTION A (15 MARKS) Answer ALL Questions. Each Question carries ONE Mark. 1 (a) Choose the correct answer: (10 Marks) 1. The function is used to reduce function call a. Overloading b. Inline c. Recursive

More information

Introduction. Lecture 5 Files and Streams FILE * FILE *

Introduction. Lecture 5 Files and Streams FILE * FILE * Introduction Lecture Files and Streams C programs can store results & information permanently on disk using file handling functions These functions let you write either text or binary data to a file, and

More information

Streams. Rupesh Nasre.

Streams. Rupesh Nasre. Streams Rupesh Nasre. OOAIA January 2018 I/O Input stream istream cin Defaults to keyboard / stdin Output stream ostream cout std::string name; std::cout > name; std::cout

More information

Einführung in die Kognitive Ergonomie

Einführung in die Kognitive Ergonomie 185 Vorlesung 10, den 20. Januar 2000 186 185 Vorlesung 10, den 20. Januar 2000 Donnerstag, den 20. Januar 2000 Einführung in die Kognitive Ergonomie Wintersemester 1999/2000 1. Usability Principles (continued)

More information

Developing Microsoft Azure Solutions MOC 20532

Developing Microsoft Azure Solutions MOC 20532 Developing Microsoft Azure Solutions MOC 20532 In dem Kurs 20532A: Developing Microsoft Azure Solutions lernen Sie, wie Sie die Funktionalität einer vorhandenen ASP.NET MVC Anwendung so erweitern, dass

More information

Exercise 9 Pointers, Iterators and Recursion

Exercise 9 Pointers, Iterators and Recursion Exercise 9 Pointers, Iterators and Recursion Informatik I für Mathematiker und Physiker (HS 2015) Yeara Kozlov Slides courtesy of Virag Varga 1 Agenda Passing arrays to functions Iterators const iterators

More information

FXD A new exchange format for fault symptom descriptions

FXD A new exchange format for fault symptom descriptions FXD A new exchange format for fault symptom descriptions Helmut Wellnhofer, Matthias Stampfer, Michael Hedenus, Michael Käsbauer Abstract A new format called FXD (=Fault symptom exchange Description) was

More information

Emerging Technologies Workshops

Emerging Technologies Workshops Emerging Technologies Workshops Programmierung des Netzwerkes ohne Kenntnisse der Console, ein Traum für Nicht-Cisco-Admins? Was sind diese Emerging Technologies? Sind Technologien, die den Status quo

More information

Assignment operator string class c++ Assignment operator string class c++.zip

Assignment operator string class c++ Assignment operator string class c++.zip Assignment operator string class c++ Assignment operator string class c++.zip Outside class definitions; Addition assignment: a += b: The binding of operators in C and C++ is specified (character string)

More information

4 Strings and Streams. Testing.

4 Strings and Streams. Testing. Strings and Streams. Testing. 21 4 Strings and Streams. Testing. Objective: to practice using the standard library string and stream classes. Read: Book: strings, streams, function templates, exceptions.

More information

Datenblatt: True Flat Touch Screens

Datenblatt: True Flat Touch Screens - völlig ebene Frontseite, verhindert Schmutzränder - standardmäßig eine entspiegelte Glasfront - schlankes Gehäusedesign - optionaler projiziert kapazitiver Touchscreen (Projected Capacitive oder PCap)

More information

5. Garbage Collection

5. Garbage Collection Content of Lecture Compilers and Language Processing Tools Summer Term 2011 Prof. Dr. Arnd Poetzsch-Heffter Software Technology Group TU Kaiserslautern c Prof. Dr. Arnd Poetzsch-Heffter 1 1. Introduction

More information

11. Recursion. n (n 1)!, otherwise. Mathematical Recursion. Recursion in Java: Infinite Recursion. 1, if n 1. n! =

11. Recursion. n (n 1)!, otherwise. Mathematical Recursion. Recursion in Java: Infinite Recursion. 1, if n 1. n! = Mathematical Recursion 11. Recursion Mathematical Recursion, Termination, Call Stack, Examples, Recursion vs. Iteration, Lindenmayer Systems Many mathematical functions can be naturally defined recursively.

More information

CS 1428 Review. CS 2308 :: Spring 2016 Molly O Neil

CS 1428 Review. CS 2308 :: Spring 2016 Molly O Neil CS 1428 Review CS 2308 :: Spring 2016 Molly O Neil Structure of a C++ Program Hello world // This program prints a greeting to the screen #include using namespace std; int main() { cout

More information

Deploying & Managing Windows 10 Using Enterprise Services

Deploying & Managing Windows 10 Using Enterprise Services Deploying & Managing Windows 10 Using Enterprise Services Online-Training Examen 697 Ausbildungsinhalte ITKservice EXAM Technische Trainings Microsoft 697-2 Deploying & Managing Windows 10 Using Enterprise

More information

Arrow Citrix Monthly. Update. D i e t m a r K o p f B u s i n e s s D e v e l o p m e n t M a n a g e r -

Arrow Citrix Monthly. Update. D i e t m a r K o p f B u s i n e s s D e v e l o p m e n t M a n a g e r - 20171201 Arrow Citrix Monthly Update D i e t m a r K o p f B u s i n e s s D e v e l o p m e n t M a n a g e r - C i t r i x Agenda Neuigkeiten Wussten Sie schon Announcments Promotions 2 Neuigkeiten XenApp

More information