C++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek
|
|
- Luisa Heintze
- vor 8 Jahren
- Abrufe
Transkript
1 C++ - Funktionen und mehr Kerstin Gößner und Ralf Wondratschek
2 Übersicht Deklaration, Definition und Initialisierung Variablen- und Konstantendeklaration Funktionsaufrufe und rückgabewerte Technische Grundlage eines Funktionsaufrufs Headerdateien Gültigkeitsbereiche (Scopes) Namensbereiche Using-Deklaration Main-Funktion C++ - Funktionen und mehr 2
3 Deklaration, Definition und Initialisierung C++ - Funktionen und mehr 3
4 Funktion Unter einer Funktion versteht man ein Unterprogramm, das eine bestimmte Aufgabe erfüllt. Eine Funktion ist eine Ansammlung von Anweisungen, der ein Name gegeben wird und die jederzeit im Programm über diesen Namen aufgerufen und ausgeführt werden kann. Eine Funktion ist praktisch ein Unterprogramm, das Daten verarbeitet und einen Wert zurückgibt. C++ - Funktionen und mehr 4
5 Prozedur Was ist mit Prozeduren? Sind vorhanden, jedoch keine strenge Unterscheidung zu einer Funktion. Es gibt keine explizite Trennung. C++ - Funktionen und mehr 5
6 Problem?! void a() { //... b(); //... void b() { //... c(); //... void c() { //... a(); //... void b() { //... c(); //... void c() { //... a(); //... void a() { //... b(); //... void c() { //... a(); //... void a() { //... b(); //... void b() { //... c(); //... C++ - Funktionen und mehr 6
7 Deklaration Eine Deklaration ist eine Anweisung, die einem Namen einen Gültigkeitsbereich einführt und einen Typ für das benannte Element und optional einen Initialisierer angibt. Variablen: <extern> [Typ][Name]<Initialisierer> ; Funktionen: [Rückgabetyp][Name] ( <Liste formaler Argumente>); C++ - Funktionen und mehr 7
8 Deklaration - Beispiele Variablen: int i; static int j = 0; extern double k; Funktionen: double foo(); double foo(double a, double b); double foo(const int& a); C++ - Funktionen und mehr 8
9 Deklaration - Fortsetzung Leicht erklärt: Eine Deklaration gibt dem Compiler an, dass es etwas gibt! In Headerdateien zu finden Schnittstellen, die an anderer Stelle definiert sind Fehlerhaftes Beispiel: int main() { cout << fib(number) << endl; C++ - Funktionen und mehr 9
10 Definition Eine Definition ist eine Deklaration, die das Element vollständig spezifiziert. Sie gibt an, worauf sich ein Name konkret bezieht. Für Definitionen wird Speicher reserviert. Keine doppelten Definitionen, mehrfache konsistente Deklarationen sind dagegen möglich. Variablen: [Typ][Name]<Initialisierer> ; Funktionen: [Rückgabetyp][Name] ( <Liste formaler Argumente>) { <Anweisungen> C++ - Funktionen und mehr 10
11 Initialisierung Eine Initialisierung ist implizit eine Definition. Durch eine Initialisierung wird eine Variable mit einem bestimmten Wert vorbelegt. Beispiel: int i = 5; Vorsicht: extern int i = 5; Dabei handelt es sich um eine Initialisierung, dennoch muss i an anderer Stelle definiert werden, da hier i keinen Speicher zugewiesen bekommt. C++ - Funktionen und mehr 11
12 Gegenüberstellung - Beispiele Deklaration: Definition: Initialisierung: extern int i; int i; int i = 5; void foo(); void foo(){ C++ - Funktionen und mehr 12
13 Variablen- und Konstantendeklaration C++ - Funktionen und mehr 13
14 Konstantendeklaration Erweitert normale Variablendeklaration mit dem Schlüsselwort const. const [Typ][Name]<Initialisierer> ; Beispiel: const int i = 5; C++ - Funktionen und mehr 14
15 Spätes Initialisieren Möglichst vermeiden, doch manchmal unumgänglich. Warnung vor Spaghetti-Code! bool isrunning = true; //... int value; if (isrunning) { value = 9; else { value = 7; C++ - Funktionen und mehr 15
16 Standardinitialisierung Standardkonstruktor bei String, Vector Beispiel: == string s = ""; string s; Vorsicht bei eingebauten Typen, z.b. int und double: Global automatisch mit 0 initialisiert Lokal und als Klassenmember jedoch nicht C++ - Funktionen und mehr 16
17 Funktionsaufrufe und -rückgabewerte C++ - Funktionen und mehr 17
18 Funktionsaufrufe und -rückgabewerte Deklaration: [Rückgabetyp][Name] ( <Liste formaler Argumente> ); Definition: [Rückgabetyp][Name] ( <Liste formaler Argumente> ) { <Anweisungen> C++ - Funktionen und mehr 18
19 Rückgabewerte Wenn eine Funktion mit einem Rückgabewert deklariert wurde, braucht der Funktionrumpf stets eine return Anweisung. Die Rückgabe muss dem Rückgabetyp entsprechen. Vorsicht bei Verschachtelungen, Rückgabe nicht vergessen! Kein Rückgabetyp mit Schlüsselwort void. C++ - Funktionen und mehr 19
20 Rückgabewerte - Beispiele void checkrunning(bool isrunning){ if (isrunning) { return; else { std::cout << "is not running" << std::endl; int getrandomnumber() { return 4; C++ - Funktionen und mehr 20
21 Ausdrucksstarke Namen selbstkommentierend Konventionen einhalten A foo(double a) { //... return k; Circle getcircle (double radius) { //... return circle; C++ - Funktionen und mehr 21
22 C++ - Funktionen und mehr 22
23 Liste formaler Argumente auch als Parameter bezeichnet Unterschiede bei Deklaration möglich: int fibonacci(int number); int fibonacci(int); Für Compiler kein Unterschied C++ - Funktionen und mehr 23
24 Parameter weglassen? int find1 (string text, int value, int hint) { int position = 0; //... return position; int find2 (string text, int value, int) { int position = 0; //... return position; find1(" ", 9, 5); // Aufruf korrekt find2(" ", 9, 5); // Aufruf nicht korrekt C++ - Funktionen und mehr 24
25 Überladen von Funktionen int find (string text, int value) { int position = 0; //... return position; int find (string text, int value, int hint) { int position = 0; //... return position; find(" ", 9); // Aufruf obere Funktion find(" ", 9, 5); // Aufruf untere Funktion Zuordnung der Funktion anhand deren Signatur. Signatur besteht aus dem Namen und den Parametern, jedoch nicht dem Rückgabetyp! C++ - Funktionen und mehr 25
26 C++ - Funktionen und mehr 26
27 C++ - Funktionen und mehr 27
28 Pass-by-value Kopie der Variable wird übergeben Parameter entsprechen lokalen Variablen Einfach und effizient für kleine Werte int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 28
29 Pass-by-reference Übergibt Referenz statt Kopie des Objekts Wird signalisiert durch kaufmännisches Und (&) Ändern von Objekten erlaubt Sinnvoll zum Beispiel bei Initialisierungsmethoden, zum Sortieren etc. Aliase möglich int i = 5; int& k = i; i++; k++; std::cout << i << " == " << k << std::endl; //7 == 7 C++ - Funktionen und mehr 29
30 Pass-by-const-reference Übergibt Referenz des Objektes, jedoch wird das Objekt nie verändert Sinnvoll zum Beispiel zum Ausgeben eines Vektors void makebinary(const int value, string& result) { if (value == 1) { result.insert(0, "1"); else { if (value % 2 == 1) { result.insert(0, "1"); else { result.insert(0, "0"); makebinary(value / 2, result); C++ - Funktionen und mehr 30
31 Was verwenden? 1.) Pass-by-value bei nur sehr kleinen Objekten verwenden. 2.) Stets pass-by-const-reference für große Objekte, die nicht verändert werden müssen, verwenden 3.) Lieber Ergebnisse zurückgeben statt Referenzobjekte zu verändern. 4.) Pass-by-reference nur im Notfall verwenden. C++ - Funktionen und mehr 31
32 Argumentüberprüfung und -umwandlung Übergeben eines Arguments bedeutet implizit Initialisieren der Parameter mit den übergebenen Argumenten. Typumwandlungen sind möglich, aber mit Vorsicht zu genießen! bool ispositive (const int value) { return value >= 0; int main() { cout << ispositive(-0.9) << endl; //1 C++ - Funktionen und mehr 32
33 Technische Grundlage eines Funktionsaufrufs C++ - Funktionen und mehr 33
34 Implementierung von Funktionsaufrufen Bei einem Funktionsaufruf wird eine Datenstruktur eingerichtet. Function activation record beinhaltet: Parameter / lokale Variablen Implementierungsdetails - Kosten für Aktivierung nicht von Größe abhängig. - Datensätze voneinander unabhängig (sonst Probleme bei Rekursion) - Stack wächst und schrumpft nach dem LIFO Prinzip Beispiel Auruf von: fib(3); C++ - Funktionen und mehr 34
35 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 35
36 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 2 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 36
37 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 2 Implementierungsdetails value := 1 int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); Implementierungsdetails C++ - Funktionen und mehr 37
38 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 2 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 38
39 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 2 Implementierungsdetails value := 0 int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); Implementierungsdetails C++ - Funktionen und mehr 39
40 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 2 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 40
41 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 41
42 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails value := 1 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 42
43 Implementierung von Funktionsaufrufen value := 3 Implementierungsdetails int fib(int value) { if (value == 0) { return 0; else if (value == 1) { return 1; else { return fib(value - 1) + fib(value - 2); C++ - Funktionen und mehr 43
44 Headerdateien C++ - Funktionen und mehr 44
45 Headerdateien Wichtiges Mittel zur Verwaltung von Deklarationen und Definitionen Benutzung von fremden Implementierungen wie sqrt() oder cout möglich Arbeitsersparnis Übernehmen von bereits implementierten Elementen C++ - Funktionen und mehr 45
46 Was genau ist ein Header? Ein Header ist eine Datei mit einer Zusammenfassung vieler Deklarationen. Endung: [filename].h Zugehörige Definitionen befinden sich in anderen Dateien mit.cpp Endung. Einfügen von Headerdateien in den Quelltext mit Hilfe von #include Beispiel: #include <stdlib.h> C++ - Funktionen und mehr 46
47 #include Eine #include [filename.h] Anweisung entspricht dem Kopieren von Textzeilen aus der Datei filename.h. Bearbeitung von #include Zeilen vor allen anderen Schritten ist Zwang sog. Präprozessor-Direktive Einfügen von #include in Dateien mit Definitionen und Dateien mit Verwendung der Deklarationen. C++ - Funktionen und mehr 47
48 #include - Beispiel std_lib_facilities.h enthält Deklarationen von Elementen der Standardbibliothek (cout, vector, sqrt(), ) #include "std_lib_facilities.h"; using namespace std; int main() { double a = sqrt(4); cout << a; //Ausabe: 2 using namespace std; int main() { double a = sqrt(4); cout << a; //error C3861: "sqrt": Bezeichner wurde nicht gefunden //error C2065: 'cout': nichtdeklarierter Bezeichner C++ - Funktionen und mehr 48
49 Gültigkeitsbereiche (Scopes) C++ - Funktionen und mehr 49
50 Gültigkeitsbereiche (scopes) Scope = bestimmter Abschnitt in Programmcode Wurden Namen im Scope deklariert, sind diese bis Ende des Scopes gültig ( in scope ). Namen aus einem Gültigkeitsbereich sind auch in seinen eingeschlossenen Scopes sichtbar. Globaler Gültigkeitsbereich steht über allen anderen C++ - Funktionen und mehr 50
51 Gültigkeitsbereiche - Beispiel #include <iostream> using namespace std; void g() { int x = 4; int y = x * x; cout << y << " "; void h() { int y = 0; cout << y << " "; //g(): y ist nur in g() gültig (genauso für h()) int main() { g(); h(); //Ausgabe: 16 0 C++ - Funktionen und mehr 51
52 Arten von Scopes 1. Globaler Gültigkeitsbereich liegt außerhalb jedes anderen Scopes 2. Namensbereich 3. Klassenbereich 4. Lokaler Gültigkeitsbereich 5. Anweisungsbereich C++ - Funktionen und mehr 52
53 Namensbereich explizit benannter Scope liegt innerhalb des globalen Scopes oder anderem Namensbereich namespace Namespace1 { namespace Namespace2 { void f() { cout << "Hallo!"; void main() { f(); // error C3861: "f": Bezeichner wurde nicht gefunden. C++ - Funktionen und mehr 53
54 Namensbereich Richtiger Aufruf eines im Namensbereich definierten Elementes namespace Namespace1 { namespace Namespace2 { void f() { cout << "Hallo!"; void main() { Namespace1::Namespace2::f(); //Ausgabe: Hallo! C++ - Funktionen und mehr 54
55 Klassenbereich Gültigkeit nur innerhalb einer Klasse class MyClass1 { public: void f() { cout << "Hallo!"; ; class MyClass2 { public: void f() { cout << "Hallo!"; ; //beide Methosen können den gleichen Namen haben, da //sie in unterschiedlichen Klassen definiert sind C++ - Funktionen und mehr 55
56 Lokaler Gültigkeitsbereich Gültig in Bereich zwischen {-Klammern eines Blocks oder einer Funktion void main() { bool a = true; if (a) { int x = 4; cout << x; else { int x = 5; cout << x; x = x + 1; cout << x; // error C2065: 'x': nichtdeklarierter Bezeichner C++ - Funktionen und mehr 56
57 Lokaler Gültigkeitsbereich Beheben des Problems void main() { int x; bool a = true; if (a) { x = 4; cout << x << '\t ; else { x = 5; cout << x << '\t ; x = x+1; cout << x << '\t ; //Ausgabe: 4 5 C++ - Funktionen und mehr 57
58 Anweisungsbereich Deklaration im Kopf der for-schleife Gültig nur innerhalb der for-schleife for (int i = 1; i < 10; i++) { cout << "i: " << i << " \t"; i = 4; // error C2065: 'i': nichtdeklarierter Bezeichner C++ - Funktionen und mehr 58
59 Aufgabe von Scopes Namen lokal halten, damit Kollisionen vermieden werden. void f() { int x = 4; cout << x << "\t"; void g() { int x = 4; ++x; cout << x << "\t"; f(); //lokale Deklaration //Ausgabe: int x = 4; void f() { cout << x << "\t"; void g() { ++x; cout << x << "\t"; f(); //globale Deklaration //Ausgabe: Problem bei globaler Deklaration: x wird verändert schwierig zu warten schnell unvorhergesehene Ergebnisse C++ - Funktionen und mehr 59
60 Regeln Namen so lokal wie möglich halten! Keine Kollision mit gleichnamigen Elementen anderer Programmierer Je länger der Gültigkeitsbereich, desto aussagekräftiger der Name! Beispiel: i nicht als globalen Namen verwenden (Bedeutung unklar), allerdings als Zählvariable für Schleifen ist i sinnvoll. So wenig globale Variablen wie möglich benutzen Programme werden deutlich übersichtlicher Achtung! Namen von Blöcken / Anweisungen können Gültigkeit verlieren ( go out of scope ) C++ - Funktionen und mehr 60
61 Verschachtelung C++ -Konstrukte, die Scopes definieren, sind selbst in Scopes eingeschlossen 1. Funktionen innerhalb von Klassen (Memberfunktionen) 2. Klassen in Klassen (Memberklassen, eingebettete Klassen ) 3. Klassen innerhalb von Funktionen (lokale Klasse) 4. Funktionen innerhalb von Funktionen (lokale Funktionen, eingebettete Funktionen ) 5. Blöcke innerhalb von Funktionen oder anderen Blöcken (verschachtelte Blöcke) nicht zu vermeiden C++ - Funktionen und mehr 61
62 Memberfunktionen häufigster Fall class myclass{ public: void f() { //do something void g() { //do something else ; //beide Funktionen in Klasse //definiert class myclass{ public: void f(); void g() { //do something else ; void myclass::f() { //do something //eine Funktion in Klasse //definiert, eine in Klasse //deklariert und außerhalb //definiert C++ - Funktionen und mehr 62
63 Memberklassen nur für Implementierung komplizierter Klassen hilfreich class MyClass { class MyMemberClass { class AnotherMemberClass { //... //... //... C++ - Funktionen und mehr 63
64 Lokale Klasse Vermeiden! Unübersichtlich, Funktionen werden zu lang void f() { //... class MyClass { //... ; //... class MyClass2 { //... ; //... C++ - Funktionen und mehr 64
65 Eingebettete Funktionen nicht erlaubt in C++, Zurückweisung durch Compiler void f() { //... void g() { //... //... // error C2601: 'g': Lokale Funktionsdefinitionen sind // unzulässig C++ - Funktionen und mehr 65
66 Namensbereiche C++ - Funktionen und mehr 66
67 Namensbereiche C++ bietet ein Sprachelement zur Definition von Scopes an: namespace Eine namespace ist eine Gruppierung von Deklarationen. Zusammenfassen von Klassen, Funktionen, Daten und Typen zu einem benannten Teil eines Programms C++ - Funktionen und mehr 67
68 Namensbereiche - Beispiel namespace Grapics { struct Color {/*...*/; struct Shape {/*..*/; struct Line:Shape {/*...*/; struct Funtion:Shape {/*...*/; struct Text:Shape {/*...*/; //... int gui_mai() {/*...*/; //die Elemente sind alle im Namensbereich Graphics definiert C++ - Funktionen und mehr 68
69 Namensbereiche Problem: Verwendung von globalen Namensbereich Kollision bei Gleichbenennung zweier Klassen Verwendung von namespace (Bibliothek) keine Kollision bei gleichen Namen in unterschiedlichen Bibliotheken Vollqualifizierter Name: [name_of_namespace]::[name_of_member] C++ - Funktionen und mehr 69
70 Beispiel von Seite 54//55 namespace Namespace1 { namespace Namespace2 { void f() { cout << "Hallo!"; void main() { f(); // error C3861: "f": // Bezeichner wurde nicht // gefunden. namespace Namespace1 { namespace Namespace2 { void f() { cout << "Hallo!"; void main() { Namespace1::Namespace2::f(); //Ausgabe: Hallo! C++ - Funktionen und mehr 70
71 Using-Deklaration C++ - Funktionen und mehr 71
72 Using-Deklaration Schreiben von vollqualifizierten Namen dauert bei häufiger Verwendung lange. Festlegung: using [name_of_namespace]::[name_of_member] bedeutet immer name_of_member Beispiel: std::string name; using std::string; //string bedeutet nun immer std::string string name2; C++ - Funktionen und mehr 72
73 Using-Direktive using-deklaration nicht ausreichend bei vielen Elementen im namespace Verwendung von using-direktive Deklaration aus namespace wird immer benutzt, wenn keine Deklaration im aktuellen Scope existiert Befehl: using namespace [name_of_namespace]; Beispiel: using namespace std; C++ - Funktionen und mehr 73
74 Using-Direktive Verwendung möglichst nur bei Namensbereichen wie std (weitverbreitet) sonst Gefahr von Unübersichtlichkeit Using-Deklaration übersichtlicher, da expliziter Schlechte Angewohnheit: using-direktive in Headerdatei (kein Umgehen möglich) Empfehlung: using namespace std; in std_lib_facilities platzieren (Schreibarbeit) C++ - Funktionen und mehr 74
75 Main-Funktion C++ - Funktionen und mehr 75
76 Main-Funktion Main = normale Funktion mit dem Privileg, dass sie als Erstes ausgeführt wird Parameterüber- und Rückgabe möglich Aufruf von main ist gleichzusetzen mit Start von Programm Funktionsparameter müssen von außen übergeben werden Programmstart in Shell: hinter dem Programmnamen angegebene Parameter werden als Funktionsparameter übernommen Programmstart von grafischer Oberfläche: mit der Wahl von verschiedenen Einstellungen können Funktionsparameter erzeugt werden C++ - Funktionen und mehr 76
77 Parameter der Main-Funktion Unterschiedliche Anzahl von zu übergebenden Parametern an die Main-Funktion ist möglich Funktionskopf: void main(int argc, char **argv) argc Integer, Anzahl der übergebenen Parameter 1. Parameter ist Programmname selbst, auch wenn sonst keine weiteren Parameter existieren argc >= 1 argv Zeiger auf einen char-zeiger char **argv gleichbedeutend mit char *argv[] (Zeiger auf ein Feld von char- Zeigern ist gleichbedeutend einem Zeiger auf ein Element) C++ - Funktionen und mehr 77
78 Rückgabewerte der Main-Funktion Main ist auch in der Lage, Parameter zurück zu geben int main(int argc, char **argv) Normalerweise ist Rückgabewert unwichtig, Ausnahme: Benutzen einer Batch-Datei Batch-Datei = Textdatei, in der hintereinander alle Befehle stehen, die abgearbeitet werden sollen In Batch-Datei kann auf Rückgabe des Programms reagiert werden Rückgabe von 0: erfolgreiches Beenden Rückgabe von Wert!= 0: Fehler, Abbruch der Batch-Datei in den meisten Fällen Mit return muss der Wert zurückgegeben werden C++ - Funktionen und mehr 78
79 Quellen Einführung in die Programmierung mit C++ - Bjarne Stroustrup C++ Programmierung André Willms Internetquellen (Zuletzt geprüft am Uhr): Programmierung/_Weitere_Grundelemente/_Prozeduren_und_Funktionen C++ - Funktionen und mehr 79
C++ - Funktionen und mehr -
C++ - Funktionen und mehr - Friedrich-Schiller-Universität Jena Kerstin Gößner und Ralf Wondratschek Prof. Dr. habil. Wolfram Amme Dipl.-Inf. Thomas Heinze Inhaltsverzeichnis 1 Einleitung 3 2 Deklaration,
MehrUnterprogramme. Funktionen. Bedeutung von Funktionen in C++ Definition einer Funktion. Definition einer Prozedur
Unterprogramme Unterprogramme sind abgekapselte Programmfragmente, welche es erlauben, bestimmte Aufgaben in wiederverwendbarer Art umzusetzen. Man unterscheidet zwischen Unterprogrammen mit Rückgabewert
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2008/09 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund - mit / ohne Parameter - mit / ohne Rückgabewerte
MehrFunktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Gute Lösung:
Funktionen Häufig müssen bestimmte Operationen in einem Programm mehrmals ausgeführt werden. Schlechte Lösung: Der Sourcecode wird an den entsprechenden Stellen im Programm wiederholt Programm wird lang
MehrVorkurs 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:
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 18
Kapitel 3 Datentypen und Variablen Seite 1 von 18 Datentypen - Einführung - Für jede Variable muss ein Datentyp festgelegt werden. - Hierdurch werden die Wertemenge und die verwendbaren Operatoren festgelegt.
MehrGrundlagen. Kapitel 1
Grundlagen Dieses Kapitel umfasst grundlegende Fragen und Aufgaben zur Erstellung von C++-Programmen. Hierzu zählen auch das Inkludieren von Header-Dateien Eine Header-Datei beinhaltet Informationen, die
Mehr2. Semester, 2. Prüfung, Lösung
2. Semester, 2. Prüfung, Lösung Name Die gesamte Prüfung bezieht sich auf die Programmierung in C++! Prüfungsdauer: 90 Minuten Mit Kugelschreiber oder Tinte schreiben Lösungen können direkt auf die Aufgabenblätter
MehrGrundlagen von Python
Einführung in Python Grundlagen von Python Felix Döring, Felix Wittwer November 17, 2015 Scriptcharakter Programmierparadigmen Imperatives Programmieren Das Scoping Problem Objektorientiertes Programmieren
MehrC++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet
C++ Grundlagen ++ bedeutet Erweiterung zum Ansi C Standard Hier wird eine Funktion eingeleitet Aufbau: In dieser Datei stehen die Befehle, die gestartet werden, wenn das Programm gestartet wird Int main()
MehrJava Kurs für Anfänger Einheit 5 Methoden
Java Kurs für Anfänger Einheit 5 Methoden Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 22. Juni 2009 Inhaltsverzeichnis Methoden
MehrEinführung in die Programmierung (EPR)
Goethe-Center for Scientific Computing (G-CSC) Goethe-Universität Frankfurt am Main Einführung in die Programmierung (EPR) (Übung, Wintersemester 2014/2015) Dr. S. Reiter, M. Rupp, Dr. A. Vogel, Dr. K.
MehrII. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:
Technische Informatik für Ingenieure (TIfI) WS 2005/2006, Vorlesung 9 II. Grundlagen der Programmierung Ekkart Kindler Funktionen und Prozeduren Datenstrukturen 9. Datenstrukturen Daten zusammenfassen
MehrMethoden. von Objekten definiert werden, Methoden,, Zugriffsmethoden und Read-Only
Methoden Wie Konstruktoren und Destruktoren zum Auf- und Abbau von Objekten definiert werden, Wie inline-methoden Methoden,, Zugriffsmethoden und Read-Only Only- Methoden einzusetzen sind, Der this-pointer
MehrPass by Value Pass by Reference Defaults, Overloading, variable Parameteranzahl
Funktionen Zusammenfassung von Befehlssequenzen als aufrufbare/wiederverwendbare Funktionen in einem Programmblock mit festgelegter Schnittstelle (Signatur) Derartige prozedurale Programmierung erlaubt
Mehr5 DATEN. 5.1. Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu
Daten Makro + VBA effektiv 5 DATEN 5.1. Variablen Variablen können beliebige Werte zugewiesen und im Gegensatz zu Konstanten jederzeit im Programm verändert werden. Als Variablen können beliebige Zeichenketten
MehrProgrammieren in C. Macros, Funktionen und modulare Programmstruktur. Prof. Dr. Nikolaus Wulff
Programmieren in C Macros, Funktionen und modulare Programmstruktur Prof. Dr. Nikolaus Wulff Der C Präprozessor Vor einem Compile Lauf werden alle Präprozessor Kommandos/Makros ausgewertet. Diese sind
MehrProgrammieren in Java
Programmieren in Java objektorientierte Programmierung 2 2 Zusammenhang Klasse-Datei In jeder *.java Datei kann es genau eine public-klasse geben wobei Klassen- und Dateiname übereinstimmen. Es können
MehrDer Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = 0.51129 Euro ergeben.
Aufgabe 1.30 : Schreibe ein Programm DM_in_Euro.java zur Umrechnung eines DM-Betrags in Euro unter Verwendung einer Konstanten für den Umrechnungsfaktor. Das Programm soll den DM-Betrag als Parameter verarbeiten.
MehrObjektorientierte Programmierung
Objektorientierte Programmierung 1 Geschichte Dahl, Nygaard: Simula 67 (Algol 60 + Objektorientierung) Kay et al.: Smalltalk (erste rein-objektorientierte Sprache) Object Pascal, Objective C, C++ (wiederum
MehrObjektbasierte Entwicklung
Embedded Software Objektbasierte Entwicklung Objektorientierung in C? Prof. Dr. Nikolaus Wulff Objektbasiert entwickeln Ohne C++ wird meist C im alten Stil programmiert. => Ein endlose while-schleife mit
MehrEine Einführung in C-Funktionen
Eine Einführung in C-Funktionen CGK-Proseminar 2014 Philip Gawehn 04.07.2014, Hamburg Inhaltsverzeichnis 1 Einleitung 2 2 Grundlagen 2 2.1 Der Aufbau einer Funktion....................... 2 2.2 Schlüsselwörter.............................
MehrEinführung in die C++ Programmierung für Ingenieure
Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF
MehrKlausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.
Klausur Informatik Programmierung, 17.09.2012 Seite 1 von 8 Klausurteilnehmer Name: Matrikelnummer: Wichtige Hinweise Es sind keinerlei Hilfsmittel zugelassen auch keine Taschenrechner! Die Klausur dauert
MehrBinäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen
Binäre Bäume 1. Allgemeines Binäre Bäume werden grundsätzlich verwendet, um Zahlen der Größe nach, oder Wörter dem Alphabet nach zu sortieren. Dem einfacheren Verständnis zu Liebe werde ich mich hier besonders
MehrEinführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung)
Wintersemester 2007/08 Einführung in die Informatik für Naturwissenschaftler und Ingenieure (alias Einführung in die Programmierung) (Vorlesung) Prof. Dr. Günter Rudolph Fakultät für Informatik Lehrstuhl
MehrObjektorientiertes Programmieren für Ingenieure
Uwe Probst Objektorientiertes Programmieren für Ingenieure Anwendungen und Beispiele in C++ 18 2 Von C zu C++ 2.2.2 Referenzen und Funktionen Referenzen als Funktionsparameter Liefert eine Funktion einen
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für eine Hausverwaltung sollen für maximal 500 Wohnungen Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Art Baujahr Wohnung Whnginfo Nebenkosten
MehrDie Programmiersprache C99: Zusammenfassung
Die Programmiersprache C99: Zusammenfassung Jörn Loviscach Versionsstand: 7. Dezember 2010, 19:30 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen in der Vorlesung. Videos dazu: http://www.youtube.com/joernloviscach
MehrVerhindert, dass eine Methode überschrieben wird. public final int holekontostand() {...} public final class Girokonto extends Konto {...
PIWIN I Kap. 8 Objektorientierte Programmierung - Vererbung 31 Schlüsselwort: final Verhindert, dass eine Methode überschrieben wird public final int holekontostand() {... Erben von einer Klasse verbieten:
MehrEinführung in die C-Programmierung
Einführung in die C-Programmierung Warum C? Sehr stark verbreitet (Praxisnähe) Höhere Programmiersprache Objektorientierte Erweiterung: C++ Aber auch hardwarenahe Programmierung möglich (z.b. Mikrokontroller).
Mehr1 Vom Problem zum Programm
Hintergrundinformationen zur Vorlesung GRUNDLAGEN DER INFORMATIK I Studiengang Elektrotechnik WS 02/03 AG Betriebssysteme FB3 Kirsten Berkenkötter 1 Vom Problem zum Programm Aufgabenstellung analysieren
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrHochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe
Aufgabenstellung Für ein Baumkataster sollen für maximal 500 Bäume Informationen gespeichert werden, die alle nach der gleichen Weise wie folgt strukturiert sind: Nummer Bauminfo Baumart Hoehe Baum Umfang
MehrPropädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) guettler@informatik.uni-leipzig.de Universität Leipzig Institut für Informatik Technische Informatik
MehrDeklarationen in C. Prof. Dr. Margarita Esponda
Deklarationen in C 1 Deklarationen Deklarationen spielen eine zentrale Rolle in der C-Programmiersprache. Deklarationen Variablen Funktionen Die Deklarationen von Variablen und Funktionen haben viele Gemeinsamkeiten.
MehrModellierung und Programmierung 1
Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 19. November 2015 Gültigkeitsbereich (Scope) von Variablen { int m; {
MehrJavakurs 2013 Objektorientierung
Javakurs 2013 Objektorientierung Objektorientierte Programmierung I Armelle Vérité 7 März 2013 Technische Universität Berlin This work is licensed under the Creative Commons Attribution-ShareAlike 3.0
MehrExcel Funktionen durch eigene Funktionen erweitern.
Excel Funktionen durch eigene Funktionen erweitern. Excel bietet eine große Anzahl an Funktionen für viele Anwendungsbereiche an. Doch es kommt hin und wieder vor, dass man die eine oder andere Funktion
MehrObjektorientierte Programmierung mit C++ Vector und List
Vector und List Ziel, Inhalt Wir lernen die Klassen vector und list aus der Standard-C++ Library kennen und anwenden. In einer Übung wenden wir diese Klassen an um einen Medienshop (CD s und Bücher) zu
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrEinführung in die Programmierung
Technische Universität München WS 2003/2004 Institut für Informatik Prof. Dr. Christoph Zenger Testklausur Einführung in die Programmierung Probeklausur Java (Lösungsvorschlag) 1 Die Klasse ArrayList In
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens SS2013 Inhalt Projekt Vorlesung: praktische Implementierung üben Ein und
MehrZiel, Inhalt. Programmieren in C++ Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind
Templates und Containerklassen Ziel, Inhalt Wir lernen wie man Funktionen oder Klassen einmal schreibt, so dass sie für verschiedene Datentypen verwendbar sind Templates und Containerklassen 1 Ziel, Inhalt
MehrInformatik I (D-MAVT)
Informatik I (D-MAVT) Übungsstunde 1 simon.mayer@inf.ethz.ch Distributed Systems Group, ETH Zürich kurze Stunden mit Stoffueberblick -> mehr Zeit fuer Fragen This semester s menu... Imperative Programmierung
MehrSoftware Engineering Interaktionsdiagramme
Software Engineering Interaktionsdiagramme Prof. Adrian A. Müller, PMP, PSM 1, CSM Fachbereich Informatik und Mikrosystemtechnik 1 Nachrichtenaustausch Welche Nachrichten werden ausgetauscht? (Methodenaufrufe)
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Wintersemester 2010/11, 17. Februar 2011 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt)
MehrFakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012
WS 2011/2012 Fakultät Angewandte Informatik Lehrprofessur für Informatik 23.01.2012 Prof. Dr. Robert Lorenz Musterlösung zur Vorlesung Informatik I, Extrablatt zu komplexen Datenstrukturen Aufgabe 45 **
MehrZählen von Objekten einer bestimmten Klasse
Zählen von Objekten einer bestimmten Klasse Ziel, Inhalt Zur Übung versuchen wir eine Klasse zu schreiben, mit der es möglich ist Objekte einer bestimmten Klasse zu zählen. Wir werden den ++ und den --
MehrVererbung & Schnittstellen in C#
Vererbung & Schnittstellen in C# Inhaltsübersicht - Vorüberlegung - Vererbung - Schnittstellenklassen - Zusammenfassung 1 Vorüberlegung Wozu benötigt man Vererbung überhaubt? 1.Um Zeit zu sparen! Verwendung
MehrObjektorientierte Programmierung für Anfänger am Beispiel PHP
Objektorientierte Programmierung für Anfänger am Beispiel PHP Johannes Mittendorfer http://jmittendorfer.hostingsociety.com 19. August 2012 Abstract Dieses Dokument soll die Vorteile der objektorientierten
MehrGrundlagen der Informatik - 6. Praktikum
Grundlagen der Informatik - 6. Praktikum In diesem Praktikum soll es neben der Anwendung von Funktionsdefinitionen auch um einfache Prinzipien der verteilten Quelltext-Strukturierung gehen. Diese spielt
MehrEinführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005
Einführung in die objektorientierte Programmierung mit Java Klausur am 19. Oktober 2005 Matrikelnummer: Nachname: Vorname: Semesteranzahl: Die Klausur besteht aus drei Frageblöcken zu den Inhalten der
MehrObjektorientierte Programmierung. Kapitel 12: Interfaces
12. Interfaces 1/14 Objektorientierte Programmierung Kapitel 12: Interfaces Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2012/13 http://www.informatik.uni-halle.de/ brass/oop12/
MehrProgrammieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek
Programmieren I Dr. Klaus Höppner Hochschule Darmstadt Wintersemester 2008/2009 1 / 22 2 / 22 Strategie zum Entwurf von Klassen Beispiele Objektorientierte Sichtweise: Mit welchen Objekten habe ich es
MehrProgrammieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff
Programmieren in C Felder, Schleifen und Fließkommaarithmetik Prof. Dr. Nikolaus Wulff Addition von Zahlen 1 2 3 4 5 #include int main() { int x,y,z,sum; x = 1; y = 2; z = 4; sum = x + y + z;
MehrDelegatesund Ereignisse
Delegatesund Ereignisse «Delegierter» Methoden Schablone Funktionszeiger Dr. Beatrice Amrhein Überblick Definition eines Delegat Einfache Delegate Beispiele von Delegat-Anwendungen Definition eines Ereignisses
MehrProgrammierkurs Java
Programmierkurs Java Konstruktor, Statische Methoden Packages Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Initialisierung von Datenstrukturen
MehrFB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
MehrÜbung 9. Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9
Informatik I 2 Übung 9 Quellcode Strukturieren Rekursive Datenstrukturen Uebung 9 Quellcode Strukturieren Wenn alle Funktionen in einer Datei zusammengefasst sind wird es schnell unübersichtlich Mehrere
Mehrteischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep
teischl.com Software Design & Services e.u. office@teischl.com www.teischl.com/booknkeep www.facebook.com/booknkeep 1. Erstellen Sie ein neues Rechnungsformular Mit book n keep können Sie nun Ihre eigenen
MehrProgrammentwicklung mit C++ (unter Unix/Linux)
Programmentwicklung mit C++ (unter Unix/Linux) Erste Schritte Der gcc - Compiler & Linker Organisation des Source-Codes & Libraries Automatische Programmgenerierung: Make Birgit Möller & Denis Williams
MehrÜbungen zu C++ Kapitel 1
Übungen zu C++ Kapitel 1 Aufgabe 1 Ergänze den Text. a) Die sechs logischen Einheiten eines Computers sind Eingabe-Einheit, Ausgabe-Einheit, RAM, ALU, CPU, Plattenspeicher. b) Die Programme, welche Hochsprachenprogramme
MehrAlltagsnotizen eines Softwareentwicklers
Alltagsnotizen eines Softwareentwicklers Entkoppeln von Objekten durch Callbacks mit c++-interfaces oder boost.function und boost.bind Tags: c++, entkoppeln, objekt, oop, callback, boost.bind, boost.function,
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Winter 2009/2010, 18. Februar 2010 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name:
MehrProgrammieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen
Programmieren 10. Tutorium 4./ 5. Übungsblatt Inhalt I. Übungsblatt 4 II. III. - Rückgabe und Besprechung - Vorbereitung auf Wiederholung/ Nachtrag - Operatorpräzedenzen IV. Übungsblatt 5 - Vorstellung
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 22
Kapitel 19 Vererbung, UML Seite 1 von 22 Vererbung - Neben der Datenabstraktion und der Datenkapselung ist die Vererbung ein weiteres Merkmal der OOP. - Durch Vererbung werden die Methoden und die Eigenschaften
MehrJavadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck
Javadoc Programmiermethodik Eva Zangerle Universität Innsbruck Überblick Einführung Java Ein erster Überblick Objektorientierung Vererbung und Polymorphismus Ausnahmebehandlung Pakete und Javadoc Spezielle
MehrVirtueller Seminarordner Anleitung für die Dozentinnen und Dozenten
Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten In dem Virtuellen Seminarordner werden für die Teilnehmerinnen und Teilnehmer des Seminars alle für das Seminar wichtigen Informationen,
MehrAutomatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu)
HMExcel Automatisierung ( Fernsteuerung ) von Excel unter Microsoft Windows Tilman Küpper (tilman.kuepper@hm.edu) Inhalt 1. Einleitung...1 2. Beispiele...2 2.1. Daten in ein Tabellenblatt schreiben...2
MehrInstallation und Inbetriebnahme von Microsoft Visual C++ 2010 Express
Howto Installation und Inbetriebnahme von Microsoft Visual C++ 2010 Express Peter Bitterlich Markus Langer 12. Oktober 2012 Zusammenfassung Dieses Dokument erklärt Schritt für Schritt die Installation
MehrM. Graefenhan 2000-12-07. Übungen zu C. Blatt 3. Musterlösung
M. Graefenhan 2000-12-07 Aufgabe Lösungsweg Übungen zu C Blatt 3 Musterlösung Schreiben Sie ein Programm, das die Häufigkeit von Zeichen in einem eingelesenen String feststellt. Benutzen Sie dazu ein zweidimensionales
MehrEinführung in die Programmierung mit C++
1 Seite 1 Einführung in die Programmierung mit C++ Teil IV - Weiterführende Themen 14. Modularisierung und Automatisierung Was heißt Modularisierung? Seite 2 bisher Programm komplett in einer Datei längere
MehrEinführung in die Java- Programmierung
Einführung in die Java- Programmierung Dr. Volker Riediger Tassilo Horn riediger horn@uni-koblenz.de WiSe 2012/13 1 Wichtig... Mittags keine Pommes... Praktikum A 230 C 207 (Madeleine + Esma) F 112 F 113
MehrSEP 114. Design by Contract
Design by Contract SEP 114 Design by Contract Teile das zu entwickelnde Programm in kleine Einheiten (Klassen, Methoden), die unabhängig voneinander entwickelt und überprüft werden können. Einheiten mit
MehrSichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben
Sichtbarkeit & statische Methoden Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben Nicht sichtbare Methoden Wollen Eltern bestimmte Methoden vor den
MehrJava Kurs für Anfänger Einheit 4 Klassen und Objekte
Java Kurs für Anfänger Einheit 4 Klassen und Ludwig-Maximilians-Universität München (Institut für Informatik: Programmierung und Softwaretechnik von Prof.Wirsing) 13. Juni 2009 Inhaltsverzeichnis klasse
MehrErweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:
VBA Programmierung mit Excel Schleifen 1/6 Erweiterung der Aufgabe Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen: Es müssen also 11 (B L) x 35 = 385 Zellen berücksichtigt
MehrÜbungspaket 19 Programmieren eigener Funktionen
Übungspaket 19 Programmieren eigener Funktionen Übungsziele: Skript: 1. Implementierung und Kodierung eigener Funktionen 2. Rekapitulation des Stack-Frames 3. Parameterübergabe mittels Stack und Stack-Frame
MehrProgrammiersprachen Einführung in C. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm. Unser erstes C-Programm
Programmiersprachen Einführung in C Teil 2: Prof. Dr. int main (int argc, char *argv[]) int sum = 0; for (i = 0; i
MehrInhalt. meliarts. 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen...
Inhalt 1. Allgemeine Informationen... 2 2. Administration... 2 2.1 Aufruf... 2 2.2 Das Kontextmenü... 3 3. E-Mail Vorlagen... 4 Seite 1 von 7 meliarts 1. Allgemeine Informationen meliarts ist eine Implementierung
Mehr3 Objektorientierte Konzepte in Java
3 Objektorientierte Konzepte in Java 3.1 Klassendeklarationen Fragen an die Klassendeklaration: Wie heißt die Klasse? Wer darf auf die Klasse und ihre Attribute/Methoden zugreifen? Ist die Klasse eine
MehrProgrammierung in C. Grundlagen. Stefan Kallerhoff
Programmierung in C Grundlagen Stefan Kallerhoff Vorstellungsrunde Name Hobby/Beruf Schon mal was programmiert? Erwartungen an den Kurs Lieblingstier Für zu Hause C-Buch online: http://openbook.rheinwerk-verlag.de/c_von_a_bis_z/
MehrProgrammieren Tutorium
Programmieren Tutorium Tom Schildhauer Tutorium 12 Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation (IPD) Lehrstuhl Programmierparadigmen WS 2008/2009 c 2008 by Tom Schildhauer,
MehrProgrammiertechnik. 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
MehrWirtschaftsinformatik I
Wirtschaftsinformatik I - Tutorium 6/ 7 (April 2010) Zusatzinformationen - Lösungsvorschläge Wirtschaftsinformatik I Tutorium Jochen Daum (4.Semester BWL) Universität Mannheim Rechtshinweis: Diese Präsentation
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 7. Funktionen Einleitung Nach dem Prinzip Divide and Conquer bietet es sich an, größere Aufgaben in kleinere Teile zu unterteilen. Anweisungsblöcke,
MehrC++ - Operatoren. Eigene Klassen mit neuen Funktionen
C++ - Operatoren Eigene Klassen mit neuen Funktionen Übersicht Klassen bisher Eigene Operatoren definieren 2 Bisher Durch Kapselung, Vererbung und Polymorphy können nun eigene Klassen definiert werden,
MehrTypumwandlungen bei Referenztypen
Typumwandlungen bei Referenztypen Genau wie es bei einfachen Typen Typumwandlungen gibt, gibt es auch bei Referenztypen Umwandlungen von einem Referenztypen in einen anderen Referenztypen, die wie bei
Mehr13 OOP MIT DELPHI. Records und Klassen Ein Vergleich
13 OOP MIT DELPHI Delphi war früher "Object Pascal". Dieser Name impliziert eine Funktionalität, welche in der Welt der Programmierung nicht mehr wegzudenken ist: die objektorientierte Programmierung,
MehrProzeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen
Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von
MehrGliederung Grundlagen Schlüsselworte try-catch Fehlerobjekte Fehlerklassen Schlüsselwort finally Schlüsselwort throws selbst erstellte Exceptions
try-catch Schlüsselworte try-catch e Schlüsselwort Schlüsselwort selbst erstellte ermöglichen die Behandlung von Fehlern, die zur Laufzeit entstehen. try-catch in C: Fehler führt immer zum Abbruch des
MehrInformatik. Studiengang Chemische Technologie. Michael Roth WS 2012/2013. michael.roth@h-da.de. Hochschule Darmstadt -Fachbereich Informatik-
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VII Einstieg in Java I Michael Roth (h_da) Informatik
MehrJava: Vererbung. Teil 3: super() www.informatikzentrale.de
Java: Vererbung Teil 3: super() Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und IMMER zuerst den Konstruktor der Elternklasse auf! Konstruktor und Vererbung Kindklasse ruft SELBSTSTÄNDIG und
MehrInformatik 2 Labor 2 Programmieren in MATLAB Georg Richter
Informatik 2 Labor 2 Programmieren in MATLAB Georg Richter Aufgabe 3: Konto Um Geldbeträge korrekt zu verwalten, sind zwecks Vermeidung von Rundungsfehlern entweder alle Beträge in Cents umzuwandeln und
MehrNative Zeichenketten (C-Strings)
Native Zeichenketten (C-Strings)... sind in C/C++ char-arrays. D.h. die Deklaration char msg[80]; kann Zeichenketten bis zur Länge 79 enthalten. (Direkte Zuweisungen wie msg="hallo!" sind jedoch nicht
MehrC++ Teil 5. Sven Groß. 12. Nov IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 16
C++ Teil 5 Sven Groß IGPM, RWTH Aachen 12. Nov 2014 Sven Groß (IGPM, RWTH Aachen) C++ Teil 5 12. Nov 2014 1 / 16 Themen der letzten Vorlesung Eingabestrom, Verhalten von cin Namensräume Live Programming
MehrProjektverwaltung Problem Lösung: Modulare Programmierung
Projektverwaltung Problem Der Sourcecode ür ein Programm wird immer länger und unübersichtlicher Eine Funktion, die in einem alten Projekt verwendet wurde, soll auch in einem neuen Projekt verwendet werden
MehrPROGRAMMIEREN MIT C. }, wird kompiliert mit dem Befehl. (-o steht für output) und ausgeführt mit dem Befehl
PROGRAMMIEREN MIT C Allgemeine hinweise Alles was hier beschrieben wird, soll auch ausprobiert werden. Warum C? Weil die coolen Dinge mit C am einfachsten gehen. Das werden wir in den folgenden Übungen
MehrInnere Klassen in Java
Innere Klassen in Java SS 2012 Prof. Dr. Margarita Esponda Innere Klassen Klassen- oder Interfacedefinitionen können zur besseren Strukturierung von Programmen verschachtelt werden Eine "Inner Class" wird
Mehr