Numerische Methoden und Algorithmen in der Physik
|
|
- Walter Egger
- vor 6 Jahren
- Abrufe
Transkript
1 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 48
2 Einführung Datentypen Operatoren Anweisungssyntax Zurück zum Beispiel Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 2/ 48
3 Übersicht Einführung Informationen Aufgabe: Berechne exp(x) Beispiel Progammierparadigmen Datentypen Operatoren Anweisungssyntax Zurück zum Beispiel Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 3/ 48
4 Informationen Ablauf: Vorlesung: donnerstags 8:30 Hörsaal, Geb. 61, DESY Übung: im Anschluss an die Vorlesung Material: Stroustrup: The C++ Programming Language, 3rd edition cpp/ Press et al: Numerical Recipes, 3rd edition Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 4/ 48
5 Ein Beispiel: exp(x) Aufgabe: Berechne Kosinus von x: exp(x) = n=0 x n n! exp(x) 1 + x + x x exp(x) x 1 + x x Pseudocode: expox = 1 summand = 1 wiederhole von n = 1 bis N summand = summand * x / n expox = expox + summand Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 5/ 48
6 Beispiel 1. C++-Programm moin.cxx: #include <iostream> //Kommentar /* Kommentar 2 */ int main() { std::cout << "Moin, moin!\n"; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 6/ 48
7 Programmierprojektstruktur Dateitypen: Quellcode:.cc,.hh kompilierter Code (object file) Bibliothek (library) Sammlung von Programmfunktionen für zusammengehörende Aufgaben ausführbare Datei (executable) Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 7/ 48
8 Kompilieren, Linken, Ausführen bash-2.05b$ g++ -c moin.cxx bash-2.05b$ g++ -o moin moin.o bash-2.05b$./moin Moin, moin! Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 8/ 48
9 Was ist C++ besser als C unterstützt imperative Programmierung strukturierte Programmierung prozedurale Programmierung modulare Programmierung Datenabstraktion Objektorientierung generische Programmierung Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 9/ 48
10 Imperative Programmierung Ansatz: Programm ist lineare Folge von Befehlen. Befehle modifizieren Speicherbereiche (Daten) oder Speichermedien. char data[200]; int index = -1; ++index; data[index] = d ; ++index; data[index] = o ; char c = data[index]; --index; Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 10/ 48
11 Strukturierte Programmierung Ansatz: Benutze Kontrollstrukturen anstelle von Sprunganweisungen. for(int i = 0 ; i <= index ; ++i) { std::cout << data[i]; } if(data[index] == # ) {... } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 11/ 48
12 Prozedurale Programmierung Ansatz: divide et impera Zerteile Problem in (einfachere) einzelne Funktionen. Verwende die bestmöglichen Algorithmen. void push(char c) { ++index;data[index] = c; } char pop() { char c = data[index]; --index; return c; } int main() { push( d );push( o ); char c = pop(); } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 12/ 48
13 Ansatz: Datenabstraktion divide et impera Entscheide welche Datentypen gebraucht werden, implementiere die notwendigen Operationen class Stack { public: void push(char c); char pop(); private: char data[200]; }; int main() { Stack s,t; s.push( d ); t.push( o ); char c = s.pop(); }; Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 13/ 48
14 Objektorientierung Ansatz: Klassen sind instanziierbare Module und Grundelemente in der Programmierung. Objekte werden mit Daten und den darauf arbeitenden Routinen zu Einheiten zusammengefasst. Pogramm ist eine Menge interagierender Objekte. Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 14/ 48
15 Übersicht Einführung Datentypen Deklarationen Elementare Datentypen Boolean Zeichentypen Integertypen Gleitkommatypen Void Definition Zuweisung Zusammengesetzte Typen Operatoren Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 15/ 48
16 Deklaration Deklaration Zuordnung: Variablenname -> Typ, Qualifier; Variablenname: beginnt mit Buchstabe/_ kann Zahlen und Buchstaben/_ enthalten keine Schlüsselwörter Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 16/ 48
17 Elementare Datentypen: Boolean Werte: wahr(1) oder falsch(0) bool b = true; bool a = 99; bool c = 0; //false Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 17/ 48
18 Elementare Datentypen: Zeichentypen Werte: 1 Zeichen char c = v ; Größe: 1 Byte = 8 Bit : Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 18/ 48
19 Elementare Datentypen: Integertypen Werte: ganze Zahlen int a = 13; short int sg = 235; long int b= -1; int h = 0xa4;//hexadecimal 164 int o = 023;//octal 19 long l = 95L; unsigned int a; unsigned long b; signed int c;// int; Größen: 1 = sizeof(char) <= sizeof(short) <= sizeof(int) <= sizeof(long) Linux PC: int,long (4 Byte): bis Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 19/ 48
20 Elementare Datentypen: Gleitkommatypen Werte: reelle Zahlen x = s m b E e Beispiel: 3, float x = 13.5; float x2 = 9; float x3 = 9f; double y = ; long double l = ; IEEE Standard: b = 2, s mit 1 Bit Typ Größe E e m float 4 Byte 8 Bit(256) Bit( ) double 8 Byte 11 Bit(2.048) Bit( ) Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 20/ 48
21 Elementare Datentypen: void Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 21/ 48
22 Deklaration und Definition Deklaration meistens auch Definition Ausnahmen: float exp(float x); extern int a; struct A; class B; Definition: deklariere Namen und reserviere Speicher Deklaration: deklariere Namen (Speicher an anderer Stelle im Code schon reserviert) Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 22/ 48
23 Zuweisung und Konstanten int a;//deklaration und Definition a = 4567;//Zuweisung c = b = a; //rechts-assoziativ, zuerst b = a const int d = 8; d = 5; //!!! falsch Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 23/ 48
24 Übersicht Einführung Datentypen Operatoren Assoziation Reihenfolge Anweisungssyntax Zurück zum Beispiel Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 24/ 48
25 Operatoren Operatoren sind dabei Symbole für mathematische Operationen (inklusive logischer Operationen) werden auf Variablen angewendet. Beispiel: double y = 2; double x = - 3 * sqrt(4) y y;; Welche Reichenfolge???? Priorität Assoziation Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 25/ 48
26 Assoziation Welcher Teilausdruck zuerst???? rechts: einstellige Operatoren, Zuweisungen links: zweistellige Operatoren Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 26/ 48
27 Priorität Geltungsbereich(scope) :: //Beispiel int a = 9; int main() { int a = 7; std::cout << ::a << a; //97 } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 27/ 48
28 Member,Funktionsaufruf, Postincrement obj.member pointer->member pointer[expr] expr(expr_list) value(expr_list)//value construction lvalue++ lvalue-- casts Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 28/ 48
29 Preincrement,... sizeof ++lvalue --lvalue ~expr!expr -expr +expr &lvalue *expr new delete (type)expr Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 29/ 48
30 Multiplikation expr * expr expr / expr expr % expr Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 30/ 48
31 Summation expr + expr expr - expr Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 31/ 48
32 Schieben expr << expr expr >> expr Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 32/ 48
33 Vergleiche expr < expr expr <= expr expr > expr expr >= expr expr == expr expr!= expr expr && expr expr expr expr? expr : expr int a = (b > 0)? 1 : 1 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 33/ 48
34 Zuweisungen lvalue = expr lvalue *= expr lvalue /= expr lvalue %= expr lvalue += expr lvalue -= expr Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 34/ 48
35 Übersicht Einführung Datentypen Operatoren Anweisungssyntax Deklaration Ausdruck Anweisungsblock Auswahlanweisungen Schleifen Sprunganweisungen Switch-Anweisung Bedingung Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 35/ 48
36 Ausdruck mit Semikolon!!! a = 8; std::cout << a; d = exp(6); Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 36/ 48
37 Anweisungsblock { statement statement...} Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 37/ 48
38 Auswahlanweisungen if( condition) statement if( condition) statement else statement //switch ( condition ) statement Beispiel: if( x > y ) { std::cout << "x ist groesser\n"; } else if( x < y ) { std::cout << "y ist groesser\n"; } else { std::cout << "x ist gleich y\n"; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 38/ 48
39 Schleifen while( condition ) statement do statement while ( expression ) ; for( for-init-statement condition ; expression ) statement Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 39/ 48
40 Schleifen: Beispiel int i = 0; while (i < 10) { std::cout << i << ; ++i; } mit for: for(int i = 0 ; i < 10 ; ++i) { std::cout << i << ; } Kleinerer Geltungsbereich Regel: Minimiere den Geltungsbereich von Variablen Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 40/ 48
41 Sprunganweisungen break; //verlasse Schleife, Block continue;//naechste Iteration return expr;//verlasse Funktion for(int i = 0 ; i < 10 ; ++i) { if( i == 2 ) continue; std::cout << i << ; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 41/ 48
42 Vergleich mit Konstanten char eingabe; bool yes; switch(eingabe) { case j : yes = true; case y : yes = true; case n : yes = false; default: yes = false; } nur Sprungziel break fehlt im Beispiel! Switch-Anweisung Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 42/ 48
43 Bedingung Bedingung (condition): Ausdruck (expr) Deklaration und Zuweisung if(int summe = a + b) { std::cout << summe << \n ; } else { std::cout << "a + b sind null\n"; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 43/ 48
44 Übersicht Einführung Datentypen Operatoren Anweisungssyntax Zurück zum Beispiel Code Genauigkeit Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 44/ 48
45 Zurück zum Beispiel double erg = 1; double summand = 1; for(int i = 1 ; i < 100 ; ++i) { summand *= x/i; erg += summand; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 45/ 48
46 Elementare Datentypen: Gleitkommatypen Werte: reelle Zahlen x = s m b E e Beispiel: 3, float x = 13.5; float x2 = 9; float x3 = 9f; double y = ; long double l = ; IEEE Standard: b = 2, s mit 1 Bit Typ Größe E e m float 4 Byte 8 Bit(256) Bit( ) double 8 Byte 11 Bit(2.048) Bit( ) Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 46/ 48
47 Gleitkommaarithmetik Probleme der Gleitkommaarithmetik Rundungsfehler bei Subtraktion ähnlich großer Zahlen Addition von Zahlen verschiedener Größenordnung daher Assoziativgesetz und Distributivgesetz ungültig Fehler durch Abbruch der Rechnung z.b. nur die ersten 30 Summanden einer Reihe Genauigkeit der Darstellung: in limits: std::numeric_limits<float>::min() std::numeric_limits<float>::max() std::numeric_limits<float>::epsilon() Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 47/ 48
48 Gleitkommaarithmetik #include <iostream> #include <limits> int main() { std::cout.precision(16); std::cout << "epsilon float:" << std::numeric_limits<float>::epsilon() << " 1/epsilon:" << 1/std::numeric_limits<float>::epsilon() << std::endl; float x = ; float oldx = 0; while(x!= oldx) { oldx = x; x = x + 1; } std::cout << "x for float:" << x << \n ; } Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 48/ 48
Algorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 25.06.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 15 Einführung Zeiger, Felder und Strukturen Zufallszahlen für andere Verteilungen Algorithmen
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).
MehrRO-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
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
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
MehrAlgorithmen zur Datenanalyse in C++
Algorithmen zur Datenanalyse in C++ Hartmut Stadie 23.04.2012 Algorithmen zur Datenanalyse in C++ Hartmut Stadie 1/ 16 Einführung Algorithmen zur Datenanalyse in C++ Hartmut Stadie 2/ 16 Übersicht Einführung
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)
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
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
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
MehrEinführung in die Programmierung Wintersemester 2011/12
Einführung in die Programmierung Wintersemester 2011/12 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund : Kontrollstrukturen Inhalt Wiederholungen - while
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
Mehr1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)
1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays) II.1.3. Anweisungen und Kontrollsttukturen - 1 - 3. Anweisungen und Kontrollstrukturen
MehrPrimitive Datentypen
Primitive Datentypen 2 Arten von Datentypen: primitive Datentypen (heute) Objekte (später) Java ist streng typisiert, d.h. für jede Variable muß angegeben werden was für eine Art von Wert sie aufnimmt.
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
MehrProgrammieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff
Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten Operatoren, Ausdrücke und Anweisungen Kontrollstrukturen (Steuerfluss)
Mehr3. Anweisungen und Kontrollstrukturen
3. Kontrollstrukturen Anweisungen und Blöcke 3. Anweisungen und Kontrollstrukturen Mit Kontrollstrukturen können wir den Ablauf eines Programmes beeinflussen, z.b. ob oder in welcher Reihenfolge Anweisungen
MehrEinführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein (kmk@informatik.uni-kiel.
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
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
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
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 2 SS 2016
MehrTutorium Rechnerorganisation
Woche 2 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
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
MehrVorlesung Programmieren
Vorlesung Programmieren 3. Kontrollstrukturen 04.11.2015 Prof. Dr. Ralf H. Reussner Version 1.1 LEHRSTUHL FÜR SOFTWARE-DESIGN UND QUALITÄT (SDQ) INSTITUT FÜR PROGRAMMSTRUKTUREN UND DATENORGANISATION (IPD),
MehrJavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.
JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung
MehrInformatik 1 ( ) D-MAVT F2010. Logik, Schleifen. Yves Brise Übungsstunde 4
Informatik 1 (251-0832-00) D-MAVT F2010 Logik, Schleifen Nachbesprechung Blatt 2 Aufgabe 3c): double(9/2) 4.0 double Zuerst wird die Operation ausgeführt und dann erst die Konversion! Allgemein: Dateiendungen:.c
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
MehrJava 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8
Java 8 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Oktober 2014 JAV8 5 Java 8 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
MehrProgrammieren in C/C++ und MATLAB
Programmieren in C/C++ und MATLAB Sven Willert Sabine Schmidt Christian-Albrechts-Universität zu Kiel CAU 4-1 Übung 1) Schreiben Sie ein Programm, das die Fläche unter einer Parabel, also das Integral
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 8. Vorlesung 25.05.2016 1 Ausdrücke "Befehle", die ein Ergebnis liefern 3 + 4 sin(x) x < 10 getchar() Ausdrücke können Teil eines anderen Ausdrucks sein x = sin( x + y ) Auswertung:
Mehr5. Elementare Befehle und Struktogramme
5. Elementare Befehle und Struktogramme Programmablauf Beschreibung des Programmablaufs mittel grafischer Symbole Beispiel : Flussdiagramme ja nein Besser : Struktogramme Dr. Norbert Spangler / Grundlagen
MehrNoch für heute: primitive Datentypen in JAVA. Primitive Datentypen. Pseudocode. Dezimal-, Binär- und Hexadezimalsystem. der logische Typ boolean
01.11.05 1 Noch für heute: 01.11.05 3 primitie Datentypen in JAVA Primitie Datentypen Pseudocode Name Speichergröße Wertgrenzen boolean 1 Byte false true char 2 Byte 0 65535 byte 1 Byte 128 127 short 2
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
MehrModProg 15-16, Vorl. 5
ModProg 15-16, Vorl. 5 Richard Grzibovski Nov. 18, 2015 1 / 29 Übersicht Übersicht 1 Logische Operationen 2 Priorität 3 Verzweigungen 4 Schleifen 2 / 29 Logische Werte Hauptkonzept: Besitzt ein C-Ausdruck
MehrProgrammieren I. Kontrollstrukturen. Heusch 8 Ratz 4.5. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Kontrollstrukturen Heusch 8 Ratz 4.5 KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Arten von Kontrollstrukturen
MehrInteger Integer Integer (Voreinstellung) Integer Gleitkomma Gleitkomma leer/unbestimmt Integer ohne Vorzeichen Integer (explizit) mit Vorzeichen
1 C-Schlüsselwörter Schlüsselwörter sind in allen Programmiersprachen reservierte Wörter. In C sind auch alle Namen _[A-Z]... und... reserviert, auch _... bereichsweise. Weiterhin durch die Standard-
MehrInformationsverarbeitung
1/23 Informationsverarbeitung Einführung in das Programmieren mit C++ Markus Uhlmann Institut für Hydromechanik Karlsruher Institut für Technologie www.ifh.kit.edu WS 2011/2012 Vorlesung 4 (alle Quelldateien
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
MehrEinführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann
Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann 1 Einführung in die Informatik für Hörer aller Fakultäten II Andreas Podelski Stephan Diehl Uwe Waldmann
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,
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).
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrKontrollstrukturen, Pseudocode und Modulo-Rechnung
Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1
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
MehrPrimitive Datentypen und Felder (Arrays)
Primitive Datentypen und Felder (rrays) Primitive Datentypen Java stellt (genau wie Haskell) primitive Datentypen für Boolesche Werte, Zeichen, ganze Zahlen und Gleitkommazahlen zur Verfügung. Der wichtigste
MehrProgrammierung 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
MehrModerne C-Programmierung
Xpert.press Moderne C-Programmierung Kompendium und Referenz Bearbeitet von Helmut Schellong 1. Auflage 2005. Buch. xii, 280 S. ISBN 978 3 540 23785 3 Format (B x L): 15,5 x 23,5 cm Weitere Fachgebiete
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Einführung in die Programmiersprache Java (Teil II)... 4-2 4.4 Strukturierte Programmierung... 4-2 4.4.1 Strukturierung im Kleinen... 4-2 4.4.2 Addierer (do-schleife)... 4-3 4.4.3 Ein- Mal- Eins
MehrKapitel 5. Datentypen und Operatoren
Kapitel 5 Datentypen und Operatoren 1 Gliederung Kapitel 5 Datentypen und Operatoren 5.1 Elementare Datentypen 5.2 Symbolische Konstanten 5.3 Typumwandlungen 5.4 Operatoren 2 5.1. Elementare Datentypen
MehrPraxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen"
Praxisorientierte Einführung in C++ Lektion: "Kontrollstrukturen" Christof Elbrechter Neuroinformatics Group, CITEC April 24, 2014 Christof Elbrechter Praxisorientierte Einführung in C++ April 24, 2014
MehrProgrammiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny
Programmiersprache 1 (C++) Prof. Dr. Stefan Enderle NTA Isny 5. Kontrollstrukturen Allgemein Kontrollstrukturen dienen zur Steuerung des Programmablaufs. (Bemerkung: C und C++ besitzen die selben Kontrollstrukturen.)
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),
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Programmieren I. Martin Schultheiß. Hochschule Darmstadt Wintersemester 2010/2011
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2010/2011 1 Operatoren für elementare Datentypen 2 Bedingte Anweisungen 3 Schleifen Zuweisungsoperator Die Zuweisung von Werten an
MehrNumerische Methoden und Algorithmen in der Physik
Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 29.01.2009 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 18 Einführung Fourier-Transformation
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
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
MehrC- Kurs 04 Anweisungen
C- Kurs 04 Anweisungen Dipl.- Inf. Jörn Hoffmann jhoffmann@informa@k.uni- leipzig.de Universität Leipzig Ins@tut für Informa@k Technische Informa@k Ausdrücke Institut für Informatik Anweisungen C-Programm
MehrPROGRAMMIERUNG IN JAVA
PROGRAMMIERUNG IN JAVA ZUWEISUNGEN (1) Deklaration nennt man die Ankündigung eines Platzhalters (Variablen) und Initialisierung die erste Wertvergabe bzw. die konkrete Erstellung des Platzhalters. In einem
MehrProgrammieren in C / C++ Grundlagen C 2
Programmieren in C / C++ Grundlagen C 2 Hochschule Fulda FB AI Wintersemester 2016/17 http://c.rz.hs-fulda.de Peter Klingebiel, HS Fulda, FB AI Anweisung / Ausdruck 1 Programm setzt sich aus vielen Anweisungen
MehrEinführung in die Programmierung
: Inhalt Einführung in die Programmierung Wintersemester 2010/11 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund Wiederholungen - while - do-while - for
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrJava 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7
Java 7 Elmar Fuchs Grundlagen Programmierung 1. Ausgabe, Dezember 2011 JAV7 5 Java 7 - Grundlagen Programmierung 5 Kontrollstrukturen In diesem Kapitel erfahren Sie wie Sie die Ausführung von von Bedingungen
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
Mehr1.4. Funktionen. Objektorientierte Programmierung mit C++
mehrfache Deklarationen sind erlaubt für jede Funktion muss es (GENAU) eine Definition geben, ansonsten linker error [the one definition rule ODR] Deklarationen in *.h - Files, Definitionen in *.cpp -
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; {
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,
MehrJava-Schulung Grundlagen
Java-Schulung Grundlagen Java 2 Standard Edition JDK 5 / 6 31.05.2008 Marcel Wieczorek 1 Themenübersicht Basiswissen Objektorientierung Datentypen Fehlerbehandlung Sonstiges Einführung Klassen, Strings
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
MehrModul 122 VBA Scribt.docx
Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval
MehrObjektorientierte Programmierung
Objektorientierte Programmierung Eine Einführung mit anschaulichen Beispielen aus der Java-Welt apl. Prof. Dr. Achim Ebert Inhalt Kapitel 3: Kontrollstrukturen Einfache Anweisungen Anweisungsblöcke Steuerung
MehrFB Informatik. Fehler. Testplan
Fehler #include int i,n,summe; int summe (int); cout 0) cin>n; i=summme(n); cout
Mehr4. Ablaufsteuerung (Kontrollstrukturen)
4. Ablaufsteuerung (Kontrollstrukturen) 4.1 Anweisungen 4.2 Selektion (bedingte Anweisung) 4.3 Iteration 4.4 Flussdiagramm (Programmablaufplan) 4. Ablaufsteuerung 4-1 4.1 Anweisungen Ein Programm besteht
Mehr[E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage, 2009 http://download2.galileo-press.de/openbook/galileocomputing_c_von_a_bis_z.
Literatur [E-1] Wolf, Jürgen: C von A bis Z. Galileo Computing, 3. Auflage, 2009 http://download2.galileo-press.de/openbook/galileocomputing_c_von_a_bis_z.zip [E-2] M.K. Johnson, E.W. Troan: Anwendungen
MehrTHE GO PROGRAMMING LANGUAGE. Michael Karnutsch & Marko Sulejic
THE GO PROGRAMMING LANGUAGE Part 1: Michael Karnutsch & Marko Sulejic Gliederung Geschichte / Motivation Compiler Formatierung, Semikolons Variablen, eigene Typen Kontrollstrukturen Funktionen, Methoden
MehrGrundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 3: Anweisungen, Blöcke und Programmfluss Martin Nolte Abteilung für Angewandte Mathematik Universität Freiburg i. Br. Vorlesung
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/
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.
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:
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)
MehrFallunterscheidung: if-statement
Fallunterscheidung: if-statement A E 1 E 2 V 1 V 2 Syntax: if ( ausdruck ) Semantik: else anweisungsfolge_1 anweisungsfolge_2 1. Der ausdruck wird bewertet 2. Ergibt die Bewertung einen Wert ungleich 0
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
MehrAdvanced Programming in C
Advanced Programming in C Pointer und Listen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Variablen vs. Pointer - Statischer und dynamischer
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# 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
MehrÜbungen zur Vorlesung Wissenschaftliches Rechnen I. Grundelemente von Java. Eine Anweisung. wird mit dem Wertzuweisungsoperator = geschrieben.
Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Eine Anweisung wird mit dem Wertzuweisungsoperator = geschrieben. Daher ist y = x + 5.6; keine Gleichung, sondern die Anweisung den Wert
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrNumerische Methoden und Algorithmen in der Physik
Numerische Methoden und Algorithmen in der Physik Hartmut Stadie, Christian Autermann 11.12.2008 Numerische Methoden und Algorithmen in der Physik Hartmut Stadie 1/ 18 Einführung Einführung Verfahren für
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)
MehrFH D. Objektorientierte Programmierung in Java FH D FH D. Prof. Dr. Ing. André Stuhlsatz. Blöcke. Beispiel: Variablen in Blöcken
4 Objektorientierte Programmierung in Java Prof. Dr. Ing. André Stuhlsatz Blöcke Blöcke erweitern einzelne Anweisungen, etwa bei Kontrollstrukturen später Beispiel: Einzelne Anweisung: anweisung; Erweiterung
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,
Mehr3. Datentypen, Ausdrücke und Operatoren
3. Datentypen, Ausdrücke und Operatoren Programm muß i.a. Daten zwischenspeichern Speicherplatz muß bereitgestellt werden, der ansprechbar, reserviert ist Ablegen & Wiederfinden in höheren Programmiersprachen
MehrII.3.1 Rekursive Algorithmen - 1 -
1. Grundelemente der Programmierung 2. Objekte, Klassen und Methoden 3. Rekursion und dynamische Datenstrukturen 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.3.1 Rekursive Algorithmen -
MehrGrundstruktur eines C-Programms
Grundstruktur eines C-Programms // Kommentare werden durch zwei Schrägstriche (Slash) eingeleitet /* Oder durch Slash Stern Stern Slash eingeschlossen */ #include // Präprozessor-Anweisungen
MehrKurzeinführung in C. Johannes J. Schneider 27.10.2004
Kurzeinführung in C Johannes J. Schneider 27.10.2004 1 Einleitung C ist eine in vielen Bereichen sehr häufig verwendete Programmiersprache, die von der Betriebssystemprogrammierung bis hin zur Programmierung
MehrDr. Monika Meiler. Inhalt
Inhalt 3 C-Ausdrücke...3-2 3.1 Arithmetische Ausdrücke...3-3 3.2 Wertzuweisungen...3-5 3.3 Inkrementieren und Dekrementieren...3-6 3.4 Logische Ausdrücke (Bedingungen)...3-7 3.5 Bedingte Ausdrücke...3-8
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrMIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG. LV-Nr. 439.026 SS2007 1 INSTITUT FÜR ELEKTRONIK BIT
MIKROPROZESSOR PROGRAMMIERUNG 8. VORLESUNG BIT LV-Nr. 439.026 SS2007 1 Datendefinitionen b) Unterteilung nach Typen: (Teil 2) void leer Pointer 2/4 Bytes Adresse von Objekten Arrays bei allen Datentypen
MehrDr. Monika Meiler. Inhalt
Inhalt 4 Anweisungen... 4-2 4.1 Strukturierte Programmierung... 4-2 4.1.1 Geschichte... 4-2 4.1.2 Strukturierung im Kleinen... 4-2 4.2 Einige Beispielanwendungen... 4-4 4.2.1 Addierer (do-schleife)...
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
Mehr