Einführung in C ++ und die Objektorientierte Programierung
|
|
- Adolph Klemens Reuter
- vor 6 Jahren
- Abrufe
Transkript
1
2 1/38 Einführung in C ++ und die Objektorientierte Programierung Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de cbd Softwareentwicklung im WS 2014/15
3 2/38 Outline 1 Einführung Geschichte Warum C++? 2 Grundlagen Grundgerüst Operatoren Elementare Datentypen 3 Objektorientiertes Programmieren Einführung Klasse, Objekt und Datenkapselung
4 3/38 Inhaltsverzeichnis 1 Einführung Geschichte Warum C++? 2 Grundlagen Grundgerüst Operatoren Elementare Datentypen 3 Objektorientiertes Programmieren Einführung Klasse, Objekt und Datenkapselung
5 4/38 Der Anfang Bjarne Stroustrup programmierte während seiner Dokotorarbeit in der Sprache Simula 67 04/1979 arbeitete Stroustrup an der Frage inwieweit man den Unix Kernel über das Netzwerk verteilen kann in welcher Programmiersprache schreibt man den Simulator? Simula war objektorientiert, aber zu langsam C war schnell, aber nicht objektorientiert 10/1979 began Stroustrup an C with Classes Abbildung: Bjarne Stroustrup
6 Zeitstrahl 1979 C with Classes
7 Zeitstrahl 1979 C with Classes 1983 erste C ++ -Implementierung
8 Zeitstrahl 1979 C with Classes 1983 erste C ++ -Implementierung 1989 ARM C ++
9 Zeitstrahl 1979 C with Classes 1983 erste C ++ -Implementierung ARM C ++ ISO/IEC C ++ 98
10 Zeitstrahl 1979 C with Classes 1983 erste C ++ -Implementierung ARM C ++ ISO/IEC C ISO/IEC C ++ 11
11 5/38 Zeitstrahl 1979 C with Classes 1983 erste C ++ -Implementierung ARM C ++ ISO/IEC C ISO/IEC C ISO/IEC C ++ 17
12 6/38 Mechatronik Informatiktechnik Mechatronik Elektrotechnik Maschinenbau
13 7/38 Warum C ++? unterstützt mehrere Programmierparadigmen (Multiparadigma) imperativ objektorientiert teilweise funktional (mit C gibt es Lambda Expressions) Maschinennah, performant und trotzdem eine hohe Abstraktion mächtige Bibliotheken erleichtern das Programmieren (STL, Boost)
14 7/38 Warum C ++? unterstützt mehrere Programmierparadigmen (Multiparadigma) imperativ objektorientiert teilweise funktional (mit C gibt es Lambda Expressions) Maschinennah, performant und trotzdem eine hohe Abstraktion mächtige Bibliotheken erleichtern das Programmieren (STL, Boost) C makes it easy to shoot yourself in the foot; C ++ makes it harder, but when you do it blows your whole leg off. Bjarne Stroustrup in 1986
15 8/38 Inhaltsverzeichnis 1 Einführung Geschichte Warum C++? 2 Grundlagen Grundgerüst Operatoren Elementare Datentypen 3 Objektorientiertes Programmieren Einführung Klasse, Objekt und Datenkapselung
16 9/38 Grundgerüst C ++ achtet auf Groß- und Kleinschreibung Alle Anweisungen (eng. statements) verlangen ein Semikolon am Ende Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
17 10/38 Präprozessor #include ist kein Sprachelement von C ++, sondern ein Befehl des Präprozessors Präprozessor ist Teil des Compilers Alle Befehle fangen mit eimem # an müssen immer in der ersten Spalte Spitzenklammern <... > weisen den Präprozessor an im Standardverzeichnis nach Bibliotheken zu suchen C ++ Standard-Bibliotheken sind ohne *.h am Ende Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
18 11/38 Namespace/Namensbereiche Vermeidung von Doppelbenennungen Ohne using namespace müsste die Ausgabe wie folgt aussehen: std :: cout << Hello World ; Namensbereich Scope-Operator Entität Analogie: Vorwahlen bei Telefonummern Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
19 12/38 Funktionen Hauptfunktion heißt main() Jedes Programm muss eine main()-funktion haben Laut Ansi-Norm hat die main()-funktion eine implizierte return 0 Anweisung Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
20 13/38 Kommentare Kommentare sind wie in C Mehrzeilige Kommentare mit /* Eine Zeile Noch eine Zeile */ Einzeilige Kommentaren mit // Kein Kommentar Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
21 14/38 Ausgabe cout steht für Consolen Output und heißt soviel wie Konsolen Ausgabe Ausgabeoperator << schiebt die Daten in den Ausgabestrom dient auch zur Verbindung von mehreren Daten int x = 42; cout << "Hello " << x << endl; Example (Hello World) #include <iostream> using namespace std; int main() { // Ausgabe cout << "Hello World!";
22 15/38 Operatoren Abkürzung Beispiel Bedeutung ++ i++ i = i i-- i = i - 1 += x += 5 x = x + 5 -= x -= 5 x = x - 5 *= x *= 5 x = x * 5 /= x /= 5 x = x / 5
23 16/38 Ganzzahlen Datentyp Größe Wertebereich int 2 Bytes bis unsigned int 2 Bytes 0 bis long 4 Bytes bis unsigned long 4 Bytes 0 bis short 1 Byte -128 bis +127 unsigned short 1 Byte 0 bis 255
24 17/38 Boolesche Werte Boolesche Variablen können nur 1 oder 0 annehmen bool wahr = 1; bool falsch = 0; C ++ definiert auch die folgenden Schlüsselwörter zur besseren Lesbarkeit bool wahr = true; bool falsch = false;
25 18/38 Fließkomma Datentyp Größe Nachkommastellen float 4 Bytes 6 double 8 Bytes 10 long double 10 Bytes 10
26 19/38 Strings C ++ STL unterstützt sowohl cstring als auch string die Bibliothek string wird empfohlen Example (Strings) #include <iostream> #include <string> int main() { std::string s1 = "Hallo "; std::string s2 = "Welt"; std::string ergebnis = s1 + s2; if (s1 == s2) { std::cout << "string ist gleich" << std::endl;
27 20/38 Definition/Initialisierung Definition (Definition) Die Definition weist den Compiler an eine Variable zu erstellen. int x; Definition (Initialisierung) Bei der Initialisierung initialisiert der Compiler die Variable mit einem Startwert. x = 23; Definition und Initialisierung int x = 23;
28 21/38 Beispiel für uninitialisierte Variablen Example (Was passiert?) #include <iostream> void funktion() { int x; std::cout << "x has the following value: " << x << std::endl; int main() { int x; std::cout << "x has the following value: " << x << std::endl; funktion();
29 21/38 Beispiel für uninitialisierte Variablen Example (Was passiert?) #include <iostream> void funktion() { Ausgabe int x; $./programm std::cout << "x has the following value: " << x << std::endl; x has the following value: 0 x has the following value: int main() { int x; std::cout << "x has the following value: " << x << std::endl; funktion();
30 22/38 Uninitialisierte Variablen statische Variablen werden mit 0 automatisch initialisiert int x; // Wert ist 0 void funktion() { static int x; // Wert ist 0 Nicht-statische Variablen (lexikalische Variablen) sind nicht initialisiert void funktion () { int x; cout << x << endl; der Compiler ist hier frei abzustürzen oder irgendwelche Werte zu definieren
31 22/38 Uninitialisierte Variablen statische Variablen werden mit 0 automatisch initialisiert int x; // Wert ist 0 voidtipp funktion() { static int x; // Wert ist 0 Nicht-statische Variablen Initialisieren (lexikalische SieVariablen) immer alle sindvariablen. nicht initialisiert Dadurch vermeiden Sie Fehler die sehr void funktion () { schwer zu finden sind. int x; cout << x << endl; der Compiler ist hier frei abzustürzen oder irgendwelche Werte zu definieren
32 23/38 Inhaltsverzeichnis 1 Einführung Geschichte Warum C++? 2 Grundlagen Grundgerüst Operatoren Elementare Datentypen 3 Objektorientiertes Programmieren Einführung Klasse, Objekt und Datenkapselung
33 24/38 Warum Objektorientiertes Programmieren? Probleme in der realen Welt sind schwer prozedural zu lösen Trennung zwischen Funktionen und Daten Dadurch schlechte Wiederverwendbarkeit Objektorientierte Paradigma ähnelt der menschlichen Abstraktion
34 25/38 Geschichte 1965: Simula-1 Programmiersprache erste objektorientierte Sprache 1967: Simula-67 Programmiersprache Klassen Objekte Vererbung virtuelle Methoden Garbage Collection
35 26/38 Was ist eine Klasse? Definition (Klasse) Eine Klasse ist ein Bauplan nachdem der Compiler Objekte erzeugt Objekt Bauplan/Klasse Objekt Objekt
36 27/38 Was ist ein Objekt? Definition Ein Objekt ist eine konkrete Instanz einer Klasse im Speicher. vereint Daten und Funktionen, die auf diesen Daten operieren sind verwandt mit struct aus C Example (Struct aus C) struct punkt { int x; int y; ; struct punkt p1 = {.x = 23,.y = 42 ; p1.x = 42; // Punktoperator
37 28/38 Nachrichten Objekte können sich untereinander Nachrichten schicken Nachricht Objekt 2 Klasse: Linie Objekt 1 Klasse: Rechteck Antwort Nachricht Objekt 3 Klasse: Rechteck
38 29/38 Nachrichten 2 objekt. berechnewert ( a, b ); Empfänger Methode Argumente
39 30/38 Klassenstruktur (Datenkapselung) Klasse Rechteck Schnittstelle Interface (.h) Methoden vergroessern(); verkleinern();. flaecheninhalt(); Attribute int hoehe; int breite;
40 31/38 Attribute und Methoden Attribute Eigenschaften die ein Objekt besitzen Methoden Ein Verhalten oder eine Tätigkeit die ein Objekt ausführen kann Example (Attribute) Name Farbe Example (Methoden) berechnen essen
41 32/38 Beispiele Auto Attribute Motor Gangschaltung Methoden fahren() bremsen()
42 32/38 Beispiele Auto Attribute Motor Gangschaltung Hund Attribute Halsband Leine Methoden fahren() bremsen() Methoden essen() bellen()
43 32/38 Beispiele Auto Attribute Motor Gangschaltung Hund Attribute Halsband Leine Student Attribute Auto Hund Methoden fahren() bremsen() Methoden essen() bellen() Methoden UniFahren() sparzieren()
44 Example (Klasse Rechteck.h) class Rechteck { public: int hoehe; int breite; void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; ; int flaecheninhalt() { return breite * hoehe;
45 33/38 Example (Klasse Rechteck.h) class Rechteck { class Schlüsselwort definiert in C++ eine Klasse public: int hoehe; int breite; void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; ; int flaecheninhalt() { return breite * hoehe;
46 33/38 Example (Klasse Rechteck.h) class Rechteck { class Schlüsselwort definiert in C++ eine Klasse public: int hoehe; int breite; void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; ; int flaecheninhalt() { return breite * hoehe; Obacht: Semikolon nicht vergessen!
47 33/38 Example (Klasse Rechteck.h) class Rechteck { public: int hoehe; int breite; Zugriffsschutz void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; ; int flaecheninhalt() { return breite * hoehe;
48 33/38 Example (Klasse Rechteck.h) class Rechteck { public: int hoehe; int breite; Attribute void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; ; int flaecheninhalt() { return breite * hoehe;
49 33/38 Example (Klasse Rechteck.h) class Rechteck { public: int hoehe; int breite; void vergroessern(int d) { breite += d; hoehe += d; void verkleinern(int d) { breite -= d; hoehe -= d; Methoden ; int flaecheninhalt() { return breite * hoehe;
50 Example (Objekt) #include <iostream> #include "Rechteck.h" using namespace std; int main(void) { Rechteck quadrat; quadrat.hoehe = 23; quadrat.breite = 23; cout << quadrat.hoehe << endl; cout << quadrat.breite << endl; quadrat.vergroessern(10); cout << quadrat.flaecheninhalt() << endl;
51 34/38 Example (Objekt) #include <iostream> #include "Rechteck.h" Einbindung der Klasse Rechteck.h using namespace std; int main(void) { Rechteck quadrat; quadrat.hoehe = 23; quadrat.breite = 23; cout << quadrat.hoehe << endl; cout << quadrat.breite << endl; quadrat.vergroessern(10); cout << quadrat.flaecheninhalt() << endl;
52 34/38 Example (Objekt) #include <iostream> #include "Rechteck.h" using namespace std; int main(void) { Rechteck quadrat; Erstellung eines Objekts quadrat nach der Bauvorlage Rechteck quadrat.hoehe = 23; quadrat.breite = 23; cout << quadrat.hoehe << endl; cout << quadrat.breite << endl; quadrat.vergroessern(10); cout << quadrat.flaecheninhalt() << endl;
53 34/38 Example (Objekt) #include <iostream> #include "Rechteck.h" using namespace std; int main(void) { Rechteck quadrat; quadrat.hoehe = 23; quadrat.breite = 23; Zugriff auf die Attribute des Objekts von außen cout << quadrat.hoehe << endl; cout << quadrat.breite << endl; quadrat.vergroessern(10); cout << quadrat.flaecheninhalt() << endl;
54 34/38 Example (Objekt) #include <iostream> #include "Rechteck.h" using namespace std; int main(void) { Rechteck quadrat; quadrat.hoehe = 23; quadrat.breite = 23; cout << quadrat.hoehe << endl; cout << quadrat.breite << endl; quadrat.vergroessern(10); Methodenaufruf von außen cout << quadrat.flaecheninhalt() << endl;
55 35/38 Zugriffsschlüsselwörter (access specifier) public jede Klasse darf darauf zugreifen private nur die eigene Klasse darf darauf zugreifen
56 Zugriffsschutz Example (Klasse) class Rechteck { private: int hoehe; public: int breite; Example (Main) int main(void) { Rechteck quadrat; quadrat.breite = 23; quadrat.hoehe = 23; ; // [ ]
57 36/38 Zugriffsschutz Example (Klasse) class Rechteck { private: int hoehe; public: int breite; ; // [ ] Example (Main) int main(void) { Rechteck quadrat; quadrat.breite = 23; quadrat.hoehe = 23; Fehler: int Rechteck::hoehe is private
58 37/38 Warum Zugriffsschutz? Definition (Datenkapselung) (auch Geheimnisprinzip) ist ein zentrales Konzept der objektorientierten Programmierung. Nach außen soll nur bekannt sein, was eine Klasse kann, aber nicht wie. Eine Klasse wird zur Black-Box
59 38/38 Zusammenfassung C ++ ist maschinennah, schnell und unterstützt das objektorientierte Paradigma eine Klasse ist ein Bauplan und kann in C ++ über das Schlüsselwort class erzeugt werden eine Klasse besitzt Attribute und Methoden von einer Klassen können viele Objekte erzeugt werden der Zugriff auf die Attribute und Methoden eines Objekt erfolgt über den Punktoperator. Objekte können über Methoden Nachrichten austauschen Datenkapselung ist kann über die Zugriffsschlüsselwörter private und public in C ++
Einführung in die STL
1/29 in die STL Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/29 Outline 1 3/29 Inhaltsverzeichnis 1 4/29 Typisierung
MehrProgrammieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer
Programmieren 3 C++ Prof. Peter Sommerlad Fredy Ulmer Was Sie erwartet: Modernes C++ anwenden o ISO 14882 ist Norm für C++! o kein schlechteres Java, sondern mächtiger Moderne Standardbibliotheken anwenden
MehrDAP2-Programmierpraktikum Einführung in C++ (Teil 1)
DAP2-Programmierpraktikum Einführung in C++ (Teil 1) Carsten Gutwenger 11. April 2008 Lehrstuhl 11 Algorithm Engineering Fakultät für Informatik, TU Dortmund Überblick Mein erstes C++-Programm Namensräume
MehrBeziehungen zwischen Objekten
1/19 Beziehungen zwischen Objekten Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/19 Outline 1 Vererbung (Wiederholung)
MehrEinleitung. Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ Kurzeinführung in C/C++
Informationsquellen: - Webseite zur Vorlesung, Abschnitt Informationen zu C und C++ 1 Einleitung Vorteile von Java: gut strukturiert mit hohem Funktionsumfang (mächtige Standardbibliothek) weitestgehend
MehrGrundlagen der Programmentwicklung
Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie
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
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrKapitel 1: Einführung
10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was
Mehr0. Einführung & Motivation
0. Einführung & Motivation Ansatz: "C++ für Java-Kenner" Konzentration auf semantische Unterschiede 'gleichartiger' Konzepte Erörterung der C++ -spezifischen Konzepte (Overloading, Templates) Anspruch
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
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
MehrElementare 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
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
MehrHydroinformatik I: Hello World
Hydroinformatik I: Hello World Prof. Dr.-Ing. habil. Olaf Kolditz 1 Helmholtz Centre for Environmental Research UFZ, Leipzig 2 Technische Universität Dresden TUD, Dresden Dresden, 28. Oktober 2016 1/15
MehrC++ - Funktionen und mehr. Kerstin Gößner und Ralf Wondratschek
C++ - Funktionen und mehr Kerstin Gößner und Ralf Wondratschek Übersicht Deklaration, Definition und Initialisierung Variablen- und Konstantendeklaration Funktionsaufrufe und rückgabewerte Technische Grundlage
MehrC++ Kurs Teil 1. Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen
C++ Kurs Teil 1 "hello world" Vergleich von C++ und Java Architektur, Anwendungsspektrum, primitive Datentypen, Funktionsaufrufe, Referenzen, Klassen C++ Spezialitäten Schlüsselwort 'const', Copy Constructor,
MehrInformationsverarbeitung im Bauwesen
1/21 Informationsverarbeitung im Bauwesen Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2010/2011 Vorlesung 8
MehrDie Programmiersprache C Eine Einführung
Die Programmiersprache C Eine Einführung Christian Gentsch Fakutltät IV Technische Universität Berlin Projektlabor 2. Mai 2014 Inhaltsverzeichnis 1 Einführung Entstehungsgeschichte Verwendung 2 Objektorientiert
MehrVon Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de
Von Java nach C++ Frank Weichert, Heinrich Müller Informatik VII Universität Dortmund http://ls7-www.cs.uni-dortmund.de Von Java nach C++, LS VII, Universität Dortmund, SS 2006 1 Übersicht Einleitung Literatur
MehrC++ - Eine Ubersicht fur Java-Programmierer
C++ - Eine Ubersicht fur Java-Programmierer Daniel Wasserrab Lehrstuhl fur Programmierparadigmen Universitat Karlsruhe 23. April 2008 C++ I Entwickelt Anfang der 80er von Bjarne Stroustrup I Beeinut von
MehrJavakurs für Anfänger
Javakurs für Anfänger Einheit 02: Klassen & Objekte Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Klassen Grundstruktur einer Java-Klasse Eigenschaften (Attribute) Variablen
MehrVon Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-dortmund.de
Von Java nach C++ Dr. Frank Weichert Lehrstuhl Informatik VII Technische Universität Dortmund http://ls7-www.cs.uni-.de Von Java nach C++, Lehrstuhl Informatik VII, TU Dortmund 1 Übersicht Einleitung Literatur
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).
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
MehrEinführung in die Programmierung 1
Einführung in die Programmierung 1 Einführung (S.2) Einrichten von Eclipse (S.4) Mein Erstes Programm (S.5) Hallo Welt!? Programm Der Mensch (S.11) Klassen (S.12) Einführung Wie Funktioniert Code? Geschriebener
MehrQuiz und Übungen. C++ Übung am 19. Mai 2016
Quiz und Übungen C++ Übung am 19. Mai 2016 Was ist der Unterschied zwischen kompilierenden und interpretierenden Programmiersprachen? Was ist der Unterschied zwischen kompilierenden und interpretierenden
MehrProgrammieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)
Programmieren I Grundlagen von JAVA Dr. Klaus Höppner Hello World in JAVA Hochschule Darmstadt WS 2007/2008 Elementare Datentypen 1 / 17 2 / 17 Eigenschaften von JAVA Prinzipieller Ablauf Plattform-und
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016
MehrProgrammierkurs C++ Grundlagen. Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.
Programmierkurs C++ Grundlagen Prof. Dr. Stefan Fischer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/fischer Algorithmen, Maschinen- und Programmiersprachen Algorithmen
MehrZusammengesetzte Datentypen -- Arrays und Strukturen
Zusammengesetzte Datentypen -- und Strukturen Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14
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.
MehrKurze Einführung in die Programmiersprache C++ und in Root
Kurze Einführung in die Programmiersprache C++ und in Root Statistik, Datenanalyse und Simulation; 31.10.2006 Inhalt 1 Einführung in die Programmiersprache C++ Allgemeines Variablen Funktionen 2 1 Einführung
MehrJava Einführung VARIABLEN und DATENTYPEN Kapitel 2
Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen
MehrInformatik I. Übung 2 : Programmieren in Eclipse. 5. März Daniel Hentzen
Informatik I Übung 2 : Programmieren in Eclipse 5. März 2014 Daniel Hentzen dhentzen@student.ethz.ch Downloads : http://n.ethz.ch/~dhentzen/download/ Heute 1. Nachbesprechung Übung 1 2. Theorie 3. Vorbesprechung
MehrEinführung in I/O und File-Handling in C ++
1/34 Einführung in I/O und File-Handling in C ++ Florian Adamsky, B. Sc. (PhD cand.) florian.adamsky@iem.thm.de http://florian.adamsky.it/ cbd Softwareentwicklung im WS 2014/15 2/34 Outline 1 Grundlagen
MehrEs gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden:
3 Grundlagen 3.1 Starten eines C++ Programms Es gibt zwei verschiedene Arten, wie Programme auf dem Rechner ausgeführt werden: 1. Programme, die vom Interpreter der Programmiersprache Zeile für Zeile interpretiert
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)
MehrC++ Teil 1. Sven Groß. 9. Apr IGPM, RWTH Aachen. Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr / 19
C++ Teil 1 Sven Groß IGPM, RWTH Aachen 9. Apr 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 1 9. Apr 2015 1 / 19 Organisatorisches Anmeldung zu Vorlesung und Praktikum über CampusOffice heute! Zugang zu
MehrObjektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11
Objektorientierte Programmierung mit C++ Zusammenfassung der wichtigsten Topics rund um die objektorientierte Programmierung mit C++11 Wozu objektorientiertes Programmieren? Die Welt besteht für den Menschen
MehrHello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.
Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrErste Schritte der Programmierung in C
Erste Schritte der Programmierung in C C versus C++ Anatomie von C-Programmen für AVR- Mikrocontroller Unterschiede zwischen C++ und C 1 Grundlegende Unterschiede File-Extensions (Header und Quellcode)
MehrC++ Einführung. und Datenanalyse mit ROOT. Jörg Marks, Physikalisches Institut, INF 226
Sommer Semester 2016 C++ Einführung 10.4-14.4.2016 14:00 17:00 CIP Pool INF 226 und Datenanalyse mit ROOT Jörg Marks, Physikalisches Institut, INF 226 marks@physi.uni-heidelberg.de Inhalt Programmierwerkzeuge
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
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
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
MehrGrundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme
Grundlagen C und C++ Einheit 03: Grundlagen in C++ Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Teil 1: Wiederholung C Heutige Agenda Nutzereingaben verarbeiten Teil 2: Grundlagen in C++ Erstes
MehrC vs. C++ Sebastian Meyer. Proseminar C - Grundlagen und Konzepte. Universität Hamburg
C vs. C++ Sebastian Meyer Universität Hamburg Proseminar C - Grundlagen und Konzepte 2013 1 / 31 Gliederung 1 Einführung 2 Vergleich der Spracheigenschaften 3 Neue Sprachelemente in C++ 4 Fazit 5 Zusammenfassung
MehrZum Abschluss wird gezeigt, wie aus einem C++ Quell-Programm ein ausführbares Programm erzeugt wird. 1. Installation von NetBeans...
Erste Schritte Dieser Teil der Veranstaltung gibt einen ersten Eindruck der Programmierung mit C++. Es wird ein erstes Gefühl von Programmiersprachen vermittelt, ohne auf die gezeigten Bestandteile genau
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrAngewandte Mathematik und Programmierung
Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens mit C++ und Matlab SS2013 Organisatorisches Dozenten Gruppe: Ango (2.250),
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 008/09 Zusammengesetzte Datentypen - Feld (array) - Verbund (struct) - Aufzählung (enum) Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering
MehrObjektorientierte Programmierung Teil 1: Einführung
Objektorientierte Programmierung Teil 1: Einführung Prof. Dr. Schoop FHT Esslingen, Sommersemester 2005 Agenda Beispielszenario Eigenschaften des objektorientierten Ansatzes Konzepte des objektorientierten
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrRepetitorium 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
MehrAllgemeines. Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C. #include <stdio.h>
Allgemeines Verschiedene Sprachkonzepte C-Sprachfamilie C-ähnliche Programmiersprachen Allgemeines zu C #include main() { printf( hello world\n ); } Peter Sobe 1 Die Großfamilie der C-Sprachen
MehrEinführung in die Programmierung mit Java
Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und
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
MehrAlgorithmen und Programmierung II
Algorithmen und Programmierung II Vererbung Prof. Dr. Margarita Esponda SS 2012 1 Imperative Grundbestandteile Parameterübergabe String-Klasse Array-Klasse Konzepte objektorientierter Programmierung Vererbung
Mehr1. Vom Sourcecode zum Programm
1. Vom Sourcecode zum Programm 1.1 Programmablauf source1.cpp source2.cpp header.h makefile Compiler Präprozessor Übersetzer Assembler object.obj object.obj Linker library.dll programm.exe Abbildung: Erstellung
MehrC++ - Lernen und professionell anwenden
mitp Professional C++ - Lernen und professionell anwenden von Prof. Dr. Ulla Kirch, Dr. Peter Prinz 6., überarbeitete Auflage 2012 C++ - Lernen und professionell anwenden Kirch / Prinz schnell und portofrei
MehrObjektorientierung: Klassen und Objekte
Objektorientierung: Klassen und Objekte Klasse: Beschreibung für eine Menge von Objekten Schablone, Bauplan abstrakte Form Objekt: Instanz einer Klasse konkreter Inhalt (Werte) Klassen bestehen aus Attributen
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt? Bei
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:
Mehr16. März 2016 artb5-v1.1
C 16. März 2016 artb5-v1.1 Inhaltsverzeichnis C 2 Was ist ein Programm?........................ 2 Was ist C?............................... 3 Grundgerüst - Hallo Welt....................... 3 Tools und
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
Mehr2 Grundelemente eines C++-Programms
9 In diesem Kapitel legen wir den Grundstein zur Programmierung in C++. Wir schauen uns an, welche Elemente immer in einem C++-Programm vorkommen und wie Texte auf dem Bildschirm ausgegeben werden können.
MehrKap 2. Aufbau eines Programms Variablen, Konstanten und Deklarationen
Kap 2. Aufbau eines Programms Variablen, Konstanten und Deklarationen 1 Beispielprogramm // Ein kleines C++ Programm #include using namespace std; /*4*/ void main(void) /*5*/ { /*6*/ cout
MehrÜbersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
MehrDie Programmiersprache C
Die Programmiersprache C höhere Programmiersprache (mit einigen Assembler-ähnlichen Konstrukten) gut verständliche Kommandos muss von Compiler in maschinenlesbaren Code (Binärdatei) übersetzt werden universell,
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 arithmetik für dynamischen Speicher Anwendungen Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU
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
Mehr5.5.8 Öffentliche und private Eigenschaften
5.5.8 Öffentliche und private Eigenschaften Schnittstellen vs. Implementierungen: Schnittstelle einer Klasse beschreibt, was eine Klasse leistet und wie sie benutzt werden kann, ohne dass ihre Implementierung
MehrZiele. C und C++ Was ist C? Übersicht. Überblick. C und C++ im Vergleich zu anderen Programmiersprachen einordnen können
Ziele C und C++ im Vergleich zu anderen Programmiersprachen einordnen können C und C++ Überblick Einige Unterschiede zwischen C, C++ und Java kennen Unterschied zwischen prozeduraler und objektorientierter
MehrC++ Programmierung. Uwe Naumann. LuFG Informatik 12, RWTH Aachen University, Germany
C++ Programmierung Uwe Naumann LuFG Informatik 12, RWTH Aachen University, Germany Leave me alone world... Hauptprogramm int main(); return 0; Ausgabe auf Bildschrim #include std :: cout
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
MehrObjektorientierte Programmierung mit Java. Grundlagen Übersicht. Programmiersprachen
Objektorientierte Programmierung mit Grundlagen 27.10.2008 1 Übersicht 27.10.2008 2 1 Übersicht Klassen und Objekte in - Klassen - Objekte - Klassen - Objekte 27.10.2008 3 Übersicht 27.10.2008 4 2 Einführung
MehrJava - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue
Java - Zahlen, Wahrheitswerte und Zeichen Leibniz Universität IT Services Anja Aue Kommentare Hilfe für den Entwickler. Wer hat wann welche Änderung vorgenommen? Warum werden diese Anweisungen hier ausgeführt?
MehrC# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung
C# 2000 Expression Beispielcodes für Konsolen- und Formularanwendung 1. "Hai!" [Konsolenanwendung] Console.WriteLine("Hai, wie geht's?"); 2. Muktiplikation mit sich selbst [Konsolenanwendung] // Ausgabe
MehrEscape-Sequenzen. Dr. Norbert Spangler
Escape-Sequenzen Einzelzeichen Bedeutung ASCII- ASCII-Code \a alert BEL 07 \b backspace BS 08 \t horizontal tab HT 09 \n line feed LF 0A \v vertical tab VT 0B \f form feed FF 0C \r carriage return CR 0D
MehrEinführung in die Informatik
Einführung in die Informatik Jochen Hoenicke Software Engineering Albert-Ludwigs-University Freiburg Sommersemester 2014 Jochen Hoenicke (Software Engineering) Einführung in die Informatik Sommersemester
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
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert, Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU, 1-1 Vorlesung Vorlesung drei-stündig, mit Übungen Vorlesung Di, 10:30-12:45 (mit 15 Minuten Pause)
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Vordefinierte Datentypen Übersicht 1 Ganzzahlige Typen 2 Boolscher Typ 3 Gleitkommatypen 4 Referenztypen 5 void Typ 6 Implizite und explizite Typumwandlungen Ganzzahlige Typen Die
MehrEinführung in Java. PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005
Einführung in Java PING e.v. Weiterbildung Andreas Rossbacher 24. März 2005 Gliederung 1. Was ist Java / Geschichte von Java 2. Prinzip der Plattformunabhängigkeit 3. Wie kommt man vom Quellcode zum Programm
MehrWintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf http://informatik.swoke.de. Seite 1 von 16
Kapitel 5 Arithmetische Operatoren Seite 1 von 16 Arithmetische Operatoren - Man unterscheidet unäre und binäre Operatoren. - Je nachdem, ob sie auf einen Operanden wirken, oder eine Verknüpfung zweier
MehrGrundlagen. Die Komponenten eines C Programms. Das erste Programm
Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen
MehrÜberladen von Operatoren
- Überladen des Indexoperators [] - Überladen des Ausgabeoperators > Programmieren in C++ Informatik FH Trier C++12-1 ähnlich dem Überladen von Funktionen Überladen
MehrSelber Programmieren
Selber Programmieren Wenn es für ein Problem keine fertige Lösung gibt, oder wenn man keine fertige Lösung finden kann, dann muss man sich das benötigte Werkzeug selbst herstellen: Ein eigenes Programm
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Christian-Albrechts-Universität zu Kiel CAU 2-1 Datentypen und Formate Mit der Festlegung des Datentyps wird die Art bestimmt, mit der der Computer die Informationen
MehrProbeklausur: Programmierung WS04/05
Probeklausur: Programmierung WS04/05 Name: Hinweise zur Bearbeitung Nimm Dir für diese Klausur ausreichend Zeit, und sorge dafür, dass Du nicht gestört wirst. Die Klausur ist für 90 Minuten angesetzt,
MehrAnwendungsentwicklung mit Java. Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie
Anwendungsentwicklung mit Java Grundlagen der OOP, Vererbung, Schnittstellen, Polymorphie Vererbung (1) 2 Problem: Objekte mit gleichen Attributen/Methoden, aber nicht völlig identisch, z.b., LKW, PKW,
Mehr1.2 Attribute und Methoden Aufbau einer Java-Klasse:
Aufbau einer Java-Klasse: public class Quadrat { int groesse; int xposition; String farbe; boolean istsichtbar; public void sichtbarmachen() { istsichtbar = true; public void horizontalbewegen(int distance){
MehrTheorie zu Übung 8 Implementierung in Java
Universität Stuttgart Institut für Automatisierungstechnik und Softwaresysteme Prof. Dr.-Ing. M. Weyrich Theorie zu Übung 8 Implementierung in Java Klasse in Java Die Klasse wird durch das class-konzept
MehrDer Goopax Compiler GPU-Programmierung in C++ ZKI AK-Supercomputing, Münster, 27.03.2014, Ingo Josopait
Der Goopax Compiler GPU-Programmierung in C++ AMD R9 290X: 5.6 TFLOPS (SP MulAdd) Programmierung ~10000 Threads Entwicklungsumgebungen Entwicklungsumgebungen CUDA, OpenCL Compiler: kernel GPU Maschinencode
MehrInformatik. Studiengang Chemische Technologie. Michael Roth Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013.
Informatik Studiengang Chemische Technologie Michael Roth michael.roth@h-da.de Hochschule Darmstadt -Fachbereich Informatik- WS 2012/2013 Inhalt Teil VIII Einstieg in Java II Michael Roth (h_da) 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.
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
Mehr5 Grundlagen der Java-Syntax
5 Grundlagen der Java-Syntax Es sollen nun einige Grundregeln besprechen, die in jeder Java-Programmdatei berücksichtigt werden müssen. 5.1 Grundsätzliches zur Syntax von Java Programmen Zunächst sollten
MehrKapitel 3: Variablen
Kapitel 3: Variablen Thema: Programmieren Seite: 1 Kapitel 3: Variablen Im letzten Kapitel haben wir gelernt, bestimmte Ereignisse zu wiederholen solange eine Bedingung erfüllt ist. Nun möchten wir aber
Mehr