Betriebssystembau (BSB)

Größe: px
Ab Seite anzeigen:

Download "Betriebssystembau (BSB)"

Transkript

1 Betriebssystembau (BSB) 1. Übung Olaf Spinczyk AG Eingebettete Systemsoftware Informatik 12, TU Dortmund

2 Überblick Organisatorisches C++ Crashkurs (Teil 1) CGA-Programmierung und in einer Woche: C++ Crashkurs (Teil 2) Tastatur-Programmierung 16. Okt 2017 Betriebssystembau: 1. Übung 2

3 Betriebssystembau: Übungen 2 SWS Tafel übung (hier :-)) und 2 SWS Rechnerübung Die Tafelübung vermittelt... Grundlagen der PC-Hardware-Architektur Grundwissen zur Bearbeitung der Rechnerübungen C++-Programmierkenntnisse und dient der Abgabe der Aufgaben! Die Rechnerübung dient zum Bearbeiten der Rechneraufgaben ist zum Fragenstellen da Es gibt keine theoretischen Aufgaben! 16. Okt 2017 Betriebssystembau: 1. Übung 3

4 Betriebssystembau: Aufgaben Aufgaben alle 2-3 Wochen, insgesamt 7 Aufgaben Wettbewerb: 7. Aufgabe eine OOStuBS-Anwendung Bearbeitung in Dreiergruppen Anwesenheit zu den Abgabeterminen erforderlich! Abgabe innerhalb der Gruppe soll reihum erfolgen Jeder Gruppenteilnehmer sollte also die Lösung zu jeweils 2 der 6 Aufgaben demonstrieren und erläutern Demonstration auf echter PC-Hardware, nicht im Emulator Bearbeitung der Aufgaben auch zu Hause möglich auf Linux (ggf. VM installieren fertiges VirtualBox-Image auf der BSB-Homepage!) 16. Okt 2017 Betriebssystembau: 1. Übung 4

5 Überblick Organisatorisches C++ Crashkurs (Teil 1) CGA-Programmierung und in einer Woche: C++ Crashkurs (Teil 2) Tastatur-Programmierung 16. Okt 2017 Betriebssystembau: 1. Übung 5

6 Betriebssystembau: Einführung C++ Grundlage für die Rechnerübungen Voraussetzungen: Programmierkenntnisse in einer objektorientierten Sprache (z.b. Java) Wir konzentrieren uns auf die Unterschiede zwischen Java und C++ und die kleinen Eigenheiten, auf die man achten muss, wenn man C++ für Systemprogrammierung einsetzt 16. Okt 2017 Betriebssystembau: 1. Übung 6

7 Literatur Es gibt jede Menge Bücher und Tutorials zu C++ Eine gute Einführung ( 17,95) ist Marko Meyer: C++ programmieren im Klartext Pearson-Verlag, ISBN Kostenlos und gut Folien und Skript von Prof. Ring, Uni Siegen: und außerdem der Kurs Von Java nach C++ von Prof. Müller und Frank Weichert die Basis für diese Folien Okt 2017 Betriebssystembau: 1. Übung 7

8 C++ Wie so üblich: Hello, World in C++ #include <iostream> int main() { std::cout << "Hello, world" << std::endl; return 0; } Java-Version: import whatever.u.like.*; class Test { public static void main(string[] argv) { System.out.println("Hello, world"); } } 16. Okt 2017 Betriebssystembau: 1. Übung 8

9 C++-Konzepte Kontrollstrukturen und Variablentypen in C++ Komplexe Datentypen (structs) Zeiger (Pointer) und Referenzen Überladen von Operatoren Quelltextorganisation Vererbung und Mehrfachvererbung Virtuelle Funktionen 16. Okt 2017 Betriebssystembau: 1. Übung 9

10 Kontrollstrukturen und Variablentypen bedingte Anweisungen, Schleifen, Verbundanweisungen (Blöcke) sind identisch in C++ und Java! In C++ sind globale Funktionen möglich, in Java dagegen müssen Methoden immer innerhalb einer Klasse stehen insbesondere lassen sich in C++ auch normale C- und Assembler- Funktionen aufrufen und man kann C++-Funktionen als von C und Assembler aufrufbar deklarieren mittels extern "C"... eine wichtige globale Funktion ist die main -Funktion :-) 16. Okt 2017 Betriebssystembau: 1. Übung 10

11 Kontrollstrukturen und Variablentypen Arrays (Felder) werden in C++ wie folgt definiert: int a[4]; // oder mit Initialisierung int a[] = { 1, 2, 3 }; Sie liegen nicht notwendigerweise auf dem Heap! auch Stack / Data / BSS Es findet keine Überprüfung der Array-Grenzen statt! Potentiell großes Sicherheitsproblem: Buffer Overflows, bei denen z.b. über die Grenzen von Arrays hinaus Werte (andere Variableninhalte, Rücksprungadressen auf dem Stack etc.) überschrieben werden Variablen haben keine Default-Werte, müssen also immer explizit initialisiert werden. Erfolgt das nicht, generiert der Compiler eine warning (aber keinen error!) Die Speicherverwaltung muss durch den Programmierer erfolgen. Ein Garbage Collector wie in Java ist nicht vorhanden 16. Okt 2017 Betriebssystembau: 1. Übung 11

12 Typwandlung (type casting) In C++ können Typen wie in Java explizit gewandelt werden: (Typ) Ausdruck, z.b.: int a = 3; double b = (double) a / 2; // b==1.5 Eine weitere Möglichkeit, die nur in C++ verfügbar ist: Typ(Ausdruck), z.b.: int a = 3; double b = double(a) / 2; // b== Okt 2017 Betriebssystembau: 1. Übung 12

13 Wertebereiche In C++ existieren vorzeichenbehaftete und nicht vorzeichenbehaftete Typen (char, short, int, long), z.b.: int von -2^31 bis 2^31-1 unsigned int von 0 bis 2^32-1 Bei arithmetischen Operationen erfolgt keine Überprüfung auf Overflow bzw. Underflow! Sicherheitsproblem! Die Wertebereiche sind maschinenabhängig! unsigned int i=0; i = i 1; // i== z.b. kann ein long 32 oder 64 Bit lang sein Mittels typedef lassen sich neue Namen für Datentypen definieren: typedef int Index; Index a = 3; 16. Okt 2017 Betriebssystembau: 1. Übung 13

14 Komplexe Datentypen enums: Aufzählungstypen enum { caps_lock = 4, num_lock = 2, scroll_lock = 1 }; Oft Alternative zu #defines structs: Benutzerdefinierte zusammengesetzte Datentypen struct Rechteck { int xp, yp; int width, height; int color;... }; Verwendung: Rechteck r; r.xp = 100; r.yp = 200; r.width = 20; r.height = 40; 16. Okt 2017 Betriebssystembau: 1. Übung 14

15 Klassen in C++ Eine Klasse in C++ besteht aus Deklaration in Headerdatei (z.b. keyctrl.h) class Keyboard_Controller {... }; und Implementierungsdatei (keyctrl.cc) #include machine/keyctrl.h... Name der.h/.cc-files und Name der Klasse müssen nicht übereinstimmen! 16. Okt 2017 Betriebssystembau: 1. Übung 15

16 Aufbau der Headerdatei Ausschnitt aus keyctrl.h: class Keyboard_Controller { private: unsigned char code; // Attribute unsigned char prefix;... public: Keyboard_Controller (); // Konstruktor ~Keyboard_Controller (); // Destruktor Key key_hit (); // Methoden void reboot (); void set_repeat_rate (int speed, int delay);... }; 16. Okt 2017 Betriebssystembau: 1. Übung 16

17 Aufbau der Headerdatei Beginn der Klassendefinition mit Schlüsselwort class Klassen sind immer public Attribute (Instanz-)Variablen dürfen bei der Deklaration nicht initialisiert werden Konstruktoren und Destrukturen Konstruktoren: Instanziierung von Objekten Destruktoren: Löschen instanziierter Objekte Deklaration von Methoden Klassendefinition wird mit Semikolon beendet! 16. Okt 2017 Betriebssystembau: 1. Übung 17

18 Aufbau der Implementierungsdatei Einbinden der Header-Datei mit #include Durch den Klassennamen und den Bereichsoperator :: wird die Zugehörigkeit zur Klasse gekennzeichnet: #include keyctrl.h Keyboard_Controller::Keyboard_Controller () {... } Keyboard_Controller::~Keyboard_Controller () {} void Keyboard_Controller::reboot () {... } 16. Okt 2017 Betriebssystembau: 1. Übung 18

19 Pointer (Zeiger) Jede Speicherstelle, die einem Objekt (einer Variablen) zugeordnet ist, hat eine eindeutige Adresse Bei der Betriebssystemprogrammierung kann dies auch die Speicherstelle sein, an der ein bestimmtes Gerät Speicher oder Kontrollregister einblendet z.b. der Bildschirmspeicher Ein Pointer ist eine Variable, deren Wert die Speicheradresse einer Variablen, einer Struktur oder eines Objekts ist Pointer sind typisiert, z.b. Typ Zeiger auf int Zeiger-Typen sind durch das Symbol * gekennzeichnet, z.b.: int a; // kein Pointer int *int_zeiger; // Zeiger auf Integer-Variable 16. Okt 2017 Betriebssystembau: 1. Übung 19

20 Pointer (Zeiger) Der Inhalt eines Zeigers ist der Wert, der an einer referenzierten Speicherstelle gespeichert ist Die Größe des Inhalts (in Bytes) ist vom jeweiligen zugeordneten Datentyp abhängig z.b. 1 Byte für char, 2 Byte für short usw. Diese Größen sind in C/C++ architektur- und compilerabhängig, also nicht portabel! 16. Okt 2017 Betriebssystembau: 1. Übung 20

21 Pointer (Zeiger) Es existieren zwei Operatoren zu Pointern: Adressoperator & Liefert die zu einer Variablen gehörende Speicheradresse Dereferenzierungsoperator * Gibt den Wert zurück, der an der Adresse gespeichert ist, auf die die Pointervariable zeigt (den Inhalt) int_zeiger = &a; *int_zeiger = 42; 16. Okt 2017 Betriebssystembau: 1. Übung 21

22 Pointer (Zeiger): Beispiel Anlegen einer Zeigervariablen CGA_START (Zeiger auf char) Umwandlung einer konstanten Adresse in einen Zeiger char *CGA_START = (char *)0xb8000; char *pos; int x=20, y=20; pos = CGA_START + 2*(x + y*80); *pos = 'Q'; Dereferenzierung: Das Zeichen an Position (x, y) wird durch ein 'Q' überschrieben. Zeigerarithmetik: 'pos' zeigt nun auf die Speicherstelle, in der der Zeichencode des Zeichens an Position (x, y) abgelegt ist. 16. Okt 2017 Betriebssystembau: 1. Übung 22

23 Referenzen als Parameter Neben den Zeigern gibt es in C++ auch Referenzen. Diese werden häufig für Funktionsparameter benutzt: int& max(int& a, int& b) { if (a>b) return a; else return b; } Dies entspricht einem call by reference, d.h. es wird eine Referenz auf die entsprechende Variable übergeben und auch zurückgegeben. Der Aufruf erfolgt dann so: int a=5, b=7; max(a,b)++; // erhöht b um 1! 16. Okt 2017 Betriebssystembau: 1. Übung 23

24 Überladen von Operatoren Operatoren funktionieren abhängig vom Datentyp, auf dem sie operieren (in Java nicht realisiert) Beispiel: Operator + für int, float, double-variablen wird die jeweilige Additionsfunktion für den entsprechenden Zahlentyp aufgerufen für String-Objekte werden die beiden Operanden konkateniert In OOStuBS: Operator << für int-werte bewirkt der << -Operator, dass der in der Variablen enthaltene Zahlenwert um n Bits (2. Operand) nach links geschoben wird z.b. ist 2 << 3 == 16 für Ausgabestreams siehe Hello World : cout << "Hello" << endl; Operator >> entsprechend für Eingabe-Streams 16. Okt 2017 Betriebssystembau: 1. Übung 24

25 Überladen von Operatoren Es können nur von der Sprache definierte Operatoren überladen, die Definition neuer Operatoren ist nicht möglich Unterstützt werden dabei unäre Operatoren: + - * & ~! > ->* binäre Operatoren: + - * / % ^ & << >> += -= *= /= %= ^= &= = <<= >>= < <= > >= ==!= &&, [] () new new[] delete delete[] 16. Okt 2017 Betriebssystembau: 1. Übung 25

26 Überladen von Operatoren: Beispiel Addition von ganzen Zahlen zu einem Datum: class tdatum { public: //... void operator+=(int Tage); }; void tdatum::operator+=(int Tage) { // [ Berechnung des Datums ] } Die Addition aktualisiert das Datum und als rechter Operand ist eine ganze Zahl zulässig. So kann das Datum durch einfache Addition um 14 Tage weitergeschoben werden: tdatum heute; heute += 14; 16. Okt 2017 Betriebssystembau: 1. Übung 26

27 Systemprogrammierung in C++ Keine Laufzeitumgebung vorhanden! Man muss alles selber von Hand bauen Damit sind auch keine Objekte dynamisch instanziierbar! kein new und delete möglich woher soll auch die passende Speicherverwaltung dazu kommen? Für Spezialisten das geht auch nicht: Exceptions, Assertions, runtime type information Ein falscher Pointer kann das Ende sein der Rechner hängt und das war's keine segmentation violation, keine core dumps 16. Okt 2017 Betriebssystembau: 1. Übung 27

28 Überblick Organisatorisches C++ Crashkurs (Teil 1) CGA-Programmierung und in einer Woche: C++ Crashkurs (Teil 2) Tastatur-Programmierung 16. Okt 2017 Betriebssystembau: 1. Übung 28

29 Ausgabestream Stringbuffer: put(c), flush() Sinn der Pufferung? Sinnvolle Puffergröße? O_Stream: ähnlich C++-std::ostream Formatierung, Zahlendarstellung verwendet Stringbuffer::put(c) CGA_Stream: flush() IO_Port CGA_Screen Key machine Keyboard_Controller Stringbuffer O_Stream object CGA_Stream 16. Okt 2017 Betriebssystembau: 1. Übung 29 device

30 CGA_Screen (1) wird von CGA_Stream beim flush() verwendet show(x,y,c,attrib) Zeichen c mit Attribut attrib an Position x/y Code aus dem C++-Crashkurs: char *CGA_START = (char *)0xb8000; char *pos; int x = 20, y = 20; pos = CGA_START + 2*(x + y*80); *pos = 'Q'; Was fehlt hier? 16. Okt 2017 Betriebssystembau: 1. Übung 30

31 CGA_Screen (2) 16. Okt 2017 Betriebssystembau: 1. Übung 31

32 CGA_Screen (3) je zwei Bytes im Bildspeicher pro Bildposition! gerade Adressen: ASCII-Code ungerade Adressen: Attributbyte char *CGA_START = (char *)0xb8000; char *pos; int x = 20, y = 20; pos = CGA_START + 2*(x + y*80); *pos = 'Q'; *(pos + 1) = 0x0f; // weiss auf schwarz Was passiert ohne diese zusätzliche Zeile? 16. Okt 2017 Betriebssystembau: 1. Übung 32

33 CGA_Screen (4) setpos/getpos ändern internen Zustand von CGA_Screen aktuelle Position wird in print() benötigt! positionieren den CGA-Cursor allgemein: Zugriff auf PC-Peripherie zwei Adressräume: Speicher-Adressraum, E/A-Adressraum Speicher: direkt über Pointer adressierbar (Graphikspeicher) E/A: über CPU-Befehle in/out (inb/inw/inl; outb/outw/outl) in OOStuBS gekapselt in der Klasse IO_Port manche Geräte verwenden sogar beides (z.b. eben CGA) 16. Okt 2017 Betriebssystembau: 1. Übung 33

34 CGA_Screen (5) speziell CGA: Speicher und E/A in Speicher-Adressraum eingeblendeter Graphikspeicher CGA-Register im E/A-Adressraum mehr Register als E/A-Adressen Multiplexing über Index-/Datenport 16. Okt 2017 Betriebssystembau: 1. Übung 34

35 CGA_Screen (6) print(char *text, int length, unsigned char attrib) baut auf show() und setpos() auf unten angekommen? scrollen! 16. Okt 2017 Betriebssystembau: 1. Übung 35

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 1. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Überblick Organisatorisches

Mehr

Betriebssystembau. 1. Übung. Olaf Spinczyk und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 1. Übung. Olaf Spinczyk und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 1. Übung Olaf Spinczyk und Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os/

Mehr

Software ubiquitärer Systeme 1. Übung

Software ubiquitärer Systeme 1. Übung Software ubiquitärer Systeme 1. Übung http://ess.cs.unidortmund.de/de/teaching/ss2013/sus/index.html Christoph Borchert http://ess.cs.tu-dortmund.de/~chb AG Eingebettete Systemsoftware Informatik 12, TU

Mehr

Software ubiquitärer Systeme 1. Übung

Software ubiquitärer Systeme 1. Übung Software ubiquitärer Systeme 1. Übung http://ess.cs.uni-.de/de/teaching/ss2015/sus Horst Schirmeier http://ess.cs.tu-.de/~hsc AG Eingebettete System Informatik 12, TU Dortmund Überblick Organisatorisches

Mehr

Betriebssystembau. 1. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 1. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 1. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Betriebssystembau:

Mehr

Betriebssystembau: Übungen. Betriebssystembau: Übungen. Betriebssystembau: Einführung C++ Literatur

Betriebssystembau: Übungen. Betriebssystembau: Übungen. Betriebssystembau: Einführung C++ Literatur Betriebssystembau: Übungen 2 SWS Tafel übung (hier :-)) und 2 SWS Rechnerübung Die Tafelübung vermittelt Grundlagen der PC-Hardware-Architektur Grundwissen zur Bearbeitung der Rechnerübungen C++-Programmierkenntnisse

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Inhalt Bis jetzt: Heute: Entwicklungsumgebung

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Zeiger, Arrays und Strings in C und C++

Zeiger, Arrays und Strings in C und C++ Zeiger, Arrays und Strings in C und C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Einführung in C. EDV1-04C-Einführung 1

Einführung in C. EDV1-04C-Einführung 1 Einführung in C 1 Helmut Erlenkötter C Programmieren von Anfang an Rowohlt Taschenbuch Verlag ISBN 3-4993 499-60074-9 19,90 DM http://www.erlenkoetter.de Walter Herglotz Das Einsteigerseminar C++ bhv Verlags

Mehr

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

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

Mehr

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder

Mehr

Einführung Sprachfeatures Hinweise, Tipps und Styleguide Informationen. Einführung in C. Patrick Schulz

Einfü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

Mehr

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)

Betriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2) Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/

Mehr

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

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

Mehr

Vorkurs Informatik WiSe 16/17

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

Mehr

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.

Mehr

Zeiger in C und C++ Zeiger in Java und C/C++

Zeiger in C und C++ Zeiger in Java und C/C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für Referenztypen (Klassen und Arrays) verwendet,

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 6. März 2012 Agenda 1 Operatoren 2 Datentypen Gleitpunkt Zahl Typkonvertierung 3 Strommanipulatoren 4 Bedingungen if-else switch-case

Mehr

C++ Notnagel. Ziel, Inhalt. Programmieren in C++

C++ Notnagel. Ziel, Inhalt. Programmieren in C++ C++ Notnagel Ziel, Inhalt Ich versuche in diesem Dokument noch einmal die Dinge zu erwähnen, die mir als absolut notwendig für den C++ Unterricht und die Prüfungen erscheinen. C++ Notnagel 1 Ziel, Inhalt

Mehr

Algorithmen und Datenstrukturen

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

Mehr

INE1 Arrays, Zeiger, Datenstrukturen

INE1 Arrays, Zeiger, Datenstrukturen INE1 Arrays, Zeiger, Datenstrukturen Arrays Felder von Elementen gleichen Typs Verwenden von Adressen: Zeiger Datenstrukturen mit struct Zeiger auf Datenstrukturen Spezielle Zeiger und komplexe Deklarationen

Mehr

RO-Tutorien 3 / 6 / 12

RO-Tutorien 3 / 6 / 12 RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 2 am 04.05.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Angewandte Mathematik und Programmierung

Angewandte 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

Mehr

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15

Inhalt. 1 Einstieg in die Welt von C Erste Schritte in C 31. Vorwort... 15 Vorwort... 15 1 Einstieg in die Welt von C 17 1.1 Die Sprache C... 17 1.2 Die C-Standardbibliothek... 18 1.3 Die nötigen Werkzeuge für C... 21 1.4 Übersetzen mit der Entwicklungsumgebung... 23 1.5 Übersetzen

Mehr

Crashkurs C++ - Teil 1

Crashkurs C++ - Teil 1 Crashkurs C++ - Teil 1 Intro Speicherverwaltung Variablen, Pointer, Referenzen Felder statische & dynamische Allozierung Birgit Möller & Denis Williams AG Bioinformatik & Mustererkennung Institut für Informatik

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Vorlesungsprüfung Programmiersprache 1

Vorlesungsprüfung Programmiersprache 1 Vorlesungsprüfung Programmiersprache 1 Termin der Prüfung: 1) Di 20.03.2018 16:15 17:00 HSB 3 2) Di 15.05.2018 16:15 17:00 HSB 3 3) Di 12.06.2018 16:15 17:00 HSB 3 Stoffgebiete: 1) Ganzzahltypen: char,

Mehr

7. Übung Informatik II - Objektorientierte Programmierung

7. Übung Informatik II - Objektorientierte Programmierung 7. Übung Informatik II - Objektorientierte Programmierung 29. Mai 2015 Inhalt 1 2 3 Übersicht 1 2 3 Idee Menschen nehmen die Welt in Form von Objekten wahr manche Objekte haben gleiche Eigenschaften, hierüber

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Programmierung mit C Zeiger

Programmierung mit C Zeiger Programmierung mit C Zeiger Zeiger (Pointer)... ist eine Variable, die die Adresse eines Speicherbereichs enthält. Der Speicherbereich kann... kann den Wert einer Variablen enthalten oder... dynamisch

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 2 AM 10.05.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println("Hello World!

C++ vs. Java. Hello world! Java C++ class HelloWorld { static public void main(string args) { System.out.println(Hello World! Hello world! Java class HelloWorld { static public void main(string args) { System.out.println("Hello World!"); } } C #include main() { printf("hello World!\n"); } C++ #include using

Mehr

Zeiger (engl. Pointer)

Zeiger (engl. Pointer) Zeiger (engl. Pointer) Zeiger Ein Zeiger (engl. Pointer) speichert eine Adresse, unter der ein Wert im Speicher des Computers gespeichert werden kann. Eine Variable im Gegensatz speichert einen Wert. Der

Mehr

Herzlich willkommen!

Herzlich willkommen! Programmiertechnik 1 Herzlich willkommen! Dozent: Dipl.-Ing. Jürgen Wemheuer Teil 6: Zusammenfassung und Beispiele Mail: wemheuer@ewla.de Online: http://cpp.ewla.de/ Zusammenfassung (1) 2 1. Programm in

Mehr

Unterlagen. CPP-Uebungen-08/

Unterlagen.  CPP-Uebungen-08/ Unterlagen http://projects.eml.org/bcb/people/ralph/ CPP-Uebungen-08/ http://www.katjawegner.de/lectures.html Kommentare in C++ #include /* Dies ist ein langer Kommentar, der über zwei Zeilen

Mehr

Elementare Datentypen in C++

Elementare Datentypen in C++ Elementare Datentypen in C++ bool signed/unsigned char signed/unsigned short int signed/unsigned int signed/unsigned long int (signed/unsigned long long int) float double long double void enum char Der

Mehr

Informatik. Strukturen und Aufzählungstypen. Vorlesung

Informatik. 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

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration

Mehr

Vorlesung Programmieren

Vorlesung Programmieren Vorlesung Programmieren Speicherverwaltung und Parameterübergabe Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Gültigkeitsbereich von

Mehr

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp

Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden. ffl mitp Peter Prinz Ulla Kirch-Prinz C+ + Lernen und professionell anwenden ffl mitp Inhaltsverzeichnis Einleitung 19 1 Grundlagen 21 Entwicklung und Eigenschaften von C + + 22 Objektorientierte Programmierung

Mehr

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff

Programmieren in C. Speicher anfordern, Unions und Bitfelder. Prof. Dr. Nikolaus Wulff Programmieren in C Speicher anfordern, Unions und Bitfelder Prof. Dr. Nikolaus Wulff Vergleich: Felder und Strukturen Felder müssen Elemente vom selben Typ enthalten. Strukturen können Elemente unterschiedlichen

Mehr

Zeiger: Der Adressoperator &

Zeiger: Der Adressoperator & Zeiger: Der Adressoperator & Variablen werden im Computer im Speicher abgelegt. Nach der Deklaration int a,b,c; double x,y,z; Sieht die Speicherbelegung etwa wie folgt aus: a b c x y z Jede Variable hat

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Hydroinformatik I: Klassen

Hydroinformatik I: Klassen Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 27. November 2015 1/13 Prof.

Mehr

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer) Inhalt Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit mit Zeigern

Mehr

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download

Organisatorisches. Folien (u.a.) gibt's auf der Lva-Homepage zum Download Organisatorisches Folien (u.a.) gibt's auf der Lva-Homepage zum Download Diesen Mi erstes Tutorium (15-17) Ab nächster Woche montags 10-12 (jeweils im Computerraum) 17.10.2017 IT I - VO 3 1 Organisatorisches

Mehr

Vorkurs C++ Programmierung

Vorkurs C++ Programmierung Vorkurs C++ Programmierung Klassen Letzte Stunde Speicherverwaltung automatische Speicherverwaltung auf dem Stack dynamische Speicherverwaltung auf dem Heap new/new[] und delete/delete[] Speicherklassen:

Mehr

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin

Einführung in C. Alexander Batoulis. 5. Mai Fakutltät IV Technische Universität Berlin Fakutltät IV Technische Universität Berlin 5. Mai 2014 Inhaltsverzeichnis 1 2 3 4 5 6 7 Überblick Beispielprogramm in Java Beispielprogramm in C 1 2 3 4 5 6 7 Beispielprogramm in Java Beispielprogramm

Mehr

8. Referenzen und Zeiger

8. Referenzen und Zeiger 8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen

Mehr

Zeiger in C und C++ Zeiger in Java und C/C++

Zeiger in C und C++ Zeiger in Java und C/C++ 1 Zeiger in Java und C/C++ Zeigervariable (kurz: Zeiger, engl.: pointer): eine Variable, die als Wert eine Speicheradresse enthält Java: Zeiger werden implizit für Referenztypen (Klassen und Arrays) verwendet,

Mehr

Repetitorium Informatik (Java)

Repetitorium Informatik (Java) Repetitorium Informatik (Java) Tag 6 Lehrstuhl für Informatik 2 (Programmiersysteme) Übersicht 1 Klassen und Objekte Objektorientierung Begrifflichkeiten Deklaration von Klassen Instanzmethoden/-variablen

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp 03.05.2017 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Knopp 03.05.2017 IDE Integrated Development Environment Wir empfehlen: Qt Creator (Bestandteil

Mehr

Informatik I (D-ITET)

Informatik 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

Mehr

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Einfü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

Mehr

Java Referenzdatentypen genauer betrachtet

Java Referenzdatentypen genauer betrachtet Informatik 1 für Nebenfachstudierende Grundmodul Java Referenzdatentypen genauer betrachtet Kai-Steffen Hielscher Folienversion: 23. Januar 2018 Informatik 7 Rechnernetze und Kommunikationssysteme Referenzdatentypen

Mehr

Implementieren von Klassen

Implementieren von Klassen Implementieren von Klassen Felder, Methoden, Konstanten Dr. Beatrice Amrhein Überblick Felder/Mitglieder (Field, Member, Member-Variable) o Modifizierer Konstanten Methoden o Modifizierer 2 Felder und

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 Folie 1/35 GK C++: IDE, Klassenhierarchien Martin Knopp & Johannes Feldmaier 20.04.2016 IDE Integrated Development Environment

Mehr

Einführung in die Programmierung mit C++

Einführung in die Programmierung mit C++ 1 Seite 1 Einführung in die Programmierung mit C++ Teil III - Objektorientierte Programmierung 9. Klassen und Methoden Was sind Klassen? Seite 2 sprachliches Mittel von C++ um objektorientierte Programmierung

Mehr

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

JAVA 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

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Repetitorium Programmieren I + II

Repetitorium Programmieren I + II Repetitorium Programmieren I + II Stephan Gimbel Johanna Mensik Michael Roth 24. September 2012 Agenda 1 Funktionen Aufbau und Anwendung Call by Value Call by Reference Überladen von Funktionen Default

Mehr

Grundlagen der Informatik 11. Zeiger

Grundlagen 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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

Programmierung und Angewandte Mathematik

Programmierung und Angewandte Mathematik Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Ablauf Was sind Funktionen/Methoden

Mehr

6 ZEIGER UND REFERENZEN - ALLGEMEINES

6 ZEIGER UND REFERENZEN - ALLGEMEINES 6 ZEIGER UND REFERENZEN - ALLGEMEINES Leitideen: Zeiger sind Adressen mit zusätzlicher Typinformation über das dort gespeicherte Objekt. Die Vereinbarungssyntax soll der Ausdruckssyntax entsprechen und

Mehr

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders

Einleitung Typsystem Typisierung Zusammenfassung Literatur. Typisierung. Effiziente Programmierung. Thomas Schnieders Typisierung Effiziente Programmierung Thomas Schnieders Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg 2018-04-26 Thomas Schnieders Typisierung 1

Mehr

2 Programmieren in Java I noch ohne Nachbearbeitung

2 Programmieren in Java I noch ohne Nachbearbeitung 1 2 Programmieren in Java I noch ohne Nachbearbeitung 2.1 Was sind Programme? Eingabe = Verarbeitung = Ausgabe Die Eingabe kann sein Konstanten im Quelltext; Kommandozeilenparameter oder interaktive Eingabe

Mehr

Grundkurs C++ IDE Klassenhierarchien

Grundkurs C++ IDE Klassenhierarchien Grundkurs C++ IDE Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 Folie 1/34 GK C++: IDE, Klassenhierarchien Martin Gottwald und Stefan Röhrl 8 Mai 2019 IDE - Integrated Development Environment

Mehr

Programmieren in Java

Programmieren in Java Ein Projekt 2 Wiederholung: new-operator Werte nicht-primitiver Datentypen müssen mit new erzeugt werden Es gibt keine Möglichkeit primitive Daten mit new zu erzeugen Beispiele int[] myarray = new int[]

Mehr

Einführung in die Programmiersprache C

Einfü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

Mehr

Objektorientierte Programmierung

Objektorientierte Programmierung C++ Objektorientierte Programmierung Erweiterung von selbstdefinierten Datentypen (struct) zu Klasse. Eine Klasse besteht dann aus - Attributen (Untertypen wie struct) und zusätzlich - aus Methoden (Funktionen

Mehr

Hydroinformatik I: Klassen

Hydroinformatik I: Klassen Hydroinformatik I: Klassen Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 11. November 2016 1/20 Prof.

Mehr

C++ - Objektorientierte Programmierung Polymorphie

C++ - Objektorientierte Programmierung Polymorphie C++ - Objektorientierte Programmierung Polymorphie hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen C++ - Objektorientierte Programmierung 21.06.16 Seite 1 Polymorphie

Mehr

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5

Informatik 1 ( ) D-MAVT F2010. Schleifen, Felder. Yves Brise Übungsstunde 5 Informatik 1 (251-0832-00) D-MAVT F2010 Schleifen, Felder Nachbesprechung Blatt 3 Aufgabe 1 ASCII... A > a Vorsicht: Lösen Sie sich von intuitiven Schlussfolgerungen. A ist nicht grösser als a, denn in

Mehr

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache Dr. Beatrice Amrhein Überblick Speicherverwaltung: Stack und Heap Ein- und Ausgabe über die Console Variablen und Operatoren Parameter

Mehr

Algorithmen zur Datenanalyse in C++

Algorithmen zur Datenanalyse in C++ Algorithmen zur Datenanalyse in C++ Hartmut Stadie 16.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 39 Einführung Datentypen Operatoren Anweisungssyntax Algorithmen zur Datenanalyse in

Mehr

F Zeiger, Felder und Strukturen in C

F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F Zeiger, Felder und Strukturen in C F.1 Zeiger(-Variablen) 1 Einordnung Konstante: Bezeichnung für einen Wert a 0110 0001 Variable: Bezeichnung eines Datenobjekts

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

Grundlagen der OO- Programmierung in C#

Grundlagen der OO- Programmierung in C# Grundlagen der OO- Programmierung in C# Technische Grundlagen 1 Dr. Beatrice Amrhein Überblick Visual Studio: Editor und Debugging Die Datentypen Methoden in C# Die Speicherverwaltung 2 Visual Studio 3

Mehr

Einführung in die Programmierung

Einführung in die Programmierung Einführung in die Programmierung by André Karge Übung - Operatoren, Methoden, Primitives 25. Oktober 2018 Einführung in die Programmierung WS18/19 André Karge 1/29 Notizen Standard Linux Befehle: http://images.linoxide.com/linux-cheat-sheet.pdf

Mehr

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 2. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 2. Teil 18. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik

OOP und Angewandte Mathematik. Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik Eine Einführung in die Anwendung objektorientierter Konzepte in der angewandten Mathematik WS 2011/12 Inhalt Test-Besprechung! Ziele verdeutlichen Große Bild von OOP Wiederholung: Einbettung als Technik

Mehr

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java Ludwig-Maximilians-Universität München München, 20.11.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Ü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

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

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

Mehr

Zeiger und dynamischer Speicher

Zeiger und dynamischer Speicher Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Zuletzt aktualisiert: 09.12.2013, 07:49 Uhr

Mehr

10.4 Konstante Objekte

10.4 Konstante Objekte 10.4 Konstante Objekte Genau wie bei einfachen Datentypen (int,double,...) kann man auch Objekte als const deklarieren. Eine solche Deklaration bedeutet, daß alle Attribute so behandelt werden, als wären

Mehr

Programmieren I. Kapitel 12. Referenzen

Programmieren I. Kapitel 12. Referenzen Programmieren I Kapitel 12. Referenzen Kapitel 12: Referenzen Ziel: Die Wahrheit über Objekte Lebensdauer Speicherverwaltung Parameterübergabemechanismen in Methoden Gleichheiten, Kopien Arrays Speicherbereinigung

Mehr