Programmierung für Mathematiker
|
|
|
- Ulrich Meinhardt
- vor 8 Jahren
- Abrufe
Transkript
1 Programmierung für Mathematiker Prof. Dr. Thomas Schuster M.Sc. Dipl.-Phys. Anne Wald
2 Mathematik und ihre Anwendung am Lehrstuhl Prof. Thomas Schuster Forschungsschwerpunkte der AG Schuster Allgemein: Inverse Probleme (Theorie und Anwendungen) Numerische Analysis Optimierung Numerik partieller Differentialgleichungen Anwendungen: Vektortomographie (2D, 3D) Parameteridentifizierungen bei anisotropen, elastischen Wellengleichungen Terahertz-Tomographie Magnetpartikelbildgebung Hyperspektrale Bildgebung
3 Algorithmenentwicklung in der Terahertz-Tomographie Zerstörungsfreie Prüfung eines Polyethylenblocks: Standardmethode und verbesserte Variante Numerisches Praktikum in der Computertomographie (9 / 12 CP)
4 Inhalt der Vorlesung Phänomen, reale Welt Experiment Hypothese Vereinfachung Abstraktion Erfahrung (Mathematisches) Modell Modellfehler (Mathematisch) exakte Formulierung eines Problems Ergebnis Vergleich Evaluierung Modellverfeinerung Parameteradaption Implementierung des Programms Syntaktische und semantische Fehler Stabilität des Algorithmus Rundungsfehler Verfahrensfehler Lösbarkeit und Kondition des Problems Datenfehler
5 Die Programmiersprache C Definition (Programmiersprache) Eine Programmiersprache ist eine künstliche Sprache, die entwickelt wurde, um Rechenvorschriften für eine Maschine, in der Regel einen Computer, zu formulieren. Kommunikationsmittel zwischen Mensch und Maschine Vokabeln und Grammatik (Syntax) >1800 Sprachen mit verschiedenen Intentionen Warum C? ursprünglich zur Entwicklung von Betriebssystemen heute auch häufig in Anwendungssoftware zu finden Compiler verfügbar für nahezu alle Prozessoren und Betriebssysteme hardwarenah, erlaubt direkten Speicherzugriff schnell!! weit verbreitet, viele kostenlose Bibliotheken oder Programmbausteine im Netz Grundlage für C++, Java, Python, Perl, PHP,...
6 Die integrierte Entwicklungsumgebung KDevelop Kostenlos verfügbar unter Linux Open Source Software Stabil von zahlreichen Nutzern getestet Viele nützliche Helferlein wie Syntax Highlighting, Auto-Vervollständigung, automatische Einrückung, integrierte Konsole, Blockausblendung, Quelltext-Browser, Hintergrund-Parser, Debugger und vieles mehr...
7 Mein erstes C-Programm $ kdevelop & hallo_welt.c 1 /* hallo_welt.c - gibt Begruessung auf dem Bildschirm aus */ 2 3 main() // Achtung: C ist case-sensitive! 4 { 5 printf("hallo Welt!\n"); 6 } $ gcc hallo_welt.c -o hallo_welt hallo_welt.c: In Funktion main : hallo_welt.c:3:3: Warnung: Unverträgliche [...] Funktion printf $ ls hallo_welt hallo_welt.c hallo_welt.c~ $./hallo_welt Hallo Welt!
8 Wie entsteht ein Programm? prog.c Quellcode Präprozessor Quellcode Compiler prog.o Objektcode Objektcode library.so Linker prog prog.exe Programm
9 Die Programmiersprache C Vokabeln reservierte Wörter: printf, scanf, struct, for, while, float,... Opertoren: +, &, %, <=,!, *, / Grammatik (Syntax) a + 3 = b; b = a + 3; printf("hallo Welt!") printf("hallo Welt!"); float 2wurzelx-1; float cmou_2bi5nuoz5o_bg6tobuzb; Bedeutung (Semantik) a = 0; b = 5 / a; a = 5; b = 5 / a;
10 Die Software Matlab von MathWorks Warum Matlab? High-Level Sprache: kurze Entwicklungszeiten Vielfältige Visualisierungsmöglichkeiten MATLAB-Programme sind vollständig portierbar. Integration zusätzlicher Toolboxen (PDE, Optimization, Wavelet) Matlab ist eine kommerzielle Software, aber es gibt eine MathWorks TAH Campuslizenz Die Software darf von allen Studierenden der Universität des Saarlandes genutzt werden. Das umfasst einerseits beliebig viele Installationen auf dem Campus und andererseits auch die Nutzung auf privaten Computern. Notwendig: Registrierung bei der Firma ASKnet AG. Weitere Informationen: Weitere Informationen: mathworks-tah-campuslizenz/
11 Literatur: Internet Skripte Gerald Kempfer: Progammieren in C - Vorlesungsbegleitendes Skript Wikibooks: C-Programmierung Springerlink: Ralf Kirsch, Uwe Schmitt (Programmieren in C, 2007) Manfred Dausmann, Ulrich Bröckl, Joachim Goll (C als erste Programmiersprache, 2008) Jörg Birmelin, Christian Hupfer (Elementare Numerik für Techniker, 2008)
12 Literatur: Hardcopy Semesterapparat Programmierung Fachschaft: Vorlesungsmitschriften Bücher Ralf Kirsch, Uwe Schmitt: Programmieren in C. Eine mathematikorientierte Einführung, Springer 2007 (zurzeit vergriffen, 2. Auflage erscheint 2013) Helmut Erlenkötter: C Programmieren von Anfang an, Rowohlt 1999 Brian Kernighan, Dennis Ritchie: Programmieren in C, Hanser 1990 Manfred Dausmann, Ulrich Bröckl, Joachim Goll: C als erste Programmiersprache, Teubner 2008
13 Vom Quellcode zum ausführbaren Programm Schritt 1: Code schreiben Quellcode ist eine Textdatei mit der Endung.c Ungeeignet: Textverarbeitungsprogramme wie MS Word oder OpenOffice Writer Geeignet: MS Notepad (Editor), Emacs, gedit, nedit, KDevelop, Eclipse... Schritt 2: Code compilieren Kommandozeile starten und in das Verzeichnis wechseln, das den Code enthält Befehl gcc Quellcode.c -o Programm in eine Kommandozeile eingeben Der Compiler gcc übersetzt den Quellcode in Maschinencode, den der Computer versteht. Schritt 3: Programm ausführen Das compilierte Programm wird mit dem Befehl./Programm aufgerufen. Ohne das vorangestellte./ liefert das System die Fehlermeldung bash: Programm: Kommando nicht gefunden.
14 Zahlendarstellung: Natürliche Zahlen = = N c j B j j=0 mit B = 10 ( Dezimaldarstellung) N = 5 c = (c 5, c 4, c 3, c 2, c 1, c 0 ) = (2, 4, 1, 0, 1, 2), c j {0,..., B 1} 24 = = = N c j B j j=0 mit B = 2 ( Binärdarstellung) N = 4 c = (c 4, c 3, c 2, c 1, c 0 ) = (1, 1, 0, 0, 0) 2, c j {0, 1}
15 Zahlendarstellung: Ganze Zahlen Binärsystem (B = 2): c N wird als Vorzeichen interpretiert. Beispiel: B = 2, N = 7 53 = ( 1) 1 ( ) c = (1, 0, 1, 1, 0, 1, 0, 1) Frühe Computer verwendeten diese Darstellung Nachteil: 2 Versionen der Null, Ganzzahlarithmetik ineffizient Heute üblich: Zweierkomplement Eindeutige Darstellung der Null Effizientere Arithmetik, da keine Fallunterscheidung nach Vorzeichen nötig Näheres unter en.wikipedia.org/wiki/two s_complement,de.wikipedia.org/wiki/zweierkomplement
16 Datentypen Definition Ein Datentyp ist festgelegt durch einen Wertebereich und die darauf anwendbaren Operationen. Datentyp char int float double "Wertebereich" Zeichen (bspw. Buchstaben und Ziffern) ganze Zahlen Gleitkommazahlen mit einfacher Genauigkeit Gleitkommazahlen mit doppelter Genauigkeit Typmodifizierer short long long long unsigned erlaubt für int int, double int int, char, short int, long int, long long int
17 Datentypen Datentyp Größe kleinster Wert größter Wert char 1 Byte (=8 Bit) 2 7 = = 127 unsigned char 1 Byte = 255 int 4 Byte unsigned (int) 4 Byte long (int) 4 Byte wie int wie int unsigned long 4 Byte wie unsigned wie unsigned long long 8 Byte unsigned long long 8 Byte Gilt für 32-Bit-Systeme (Linux/Windows/Mac) sowie 64-Bit-Windows. Auf 64-Bit-Linux- oder Mac-Systemen hat long eine Größe von 8 Byte = 64 Bit. betragsmäßig betragsmäßig Datentyp Größe kleinster Wert größter Wert float 4 Byte double 8 Byte long double 10 Byte Nicht eindeutig festgelegt. Der ISO-Standard verlangt lediglich, dass long double mindestens die gleiche Präzision aufweist wie double. Die meisten Compiler interpretieren long double als 80-Bit-Gleitkommazahl.
18 Variablendeklaration Definition Eine Variablendeklaration besteht aus der Angabe eines Datentyps sowie einer Liste von Variablennamen. Datentyp Variablenname1, Variablenname2,...,VariablennameN; vor der ersten Verwendung zu Beginn eines Anweisungsblocks Unterscheidung zwischen Groß- und Kleinschreibung keine Sonderzeichen, wie z.b. #, ß, % keine Ziffern zu Beginn max. Variablennamenlänge: 31 Zeichen Positiv-Beispiele: int i, j, k; float u, w = -3.14, x, y = 1.0, z; unsigned int N = 5; double s;
19 Variablendeklaration Negativ-Beispiele: int dummy#; Fehler: verirrtes # im Programm int dummy%; Fehler: expected =,,, ;... int i, double dummy; int i; double 2dummy; unsigned double x; Fehler: expected identifier or ( before double Fehler: ungültiger Suffix dummy an Ganzzahlkonstante Fehler: both unsigned and double in declaration specifiers Feste Variablen : const const Datentyp Variablenname = Wert; Auf die entsprechende Variable kann nur noch lesend zugegriffen werden. Bsp.: const int k = 1;. k = 2; Fehler: Zuweisung der schreibgeschützten Variable k
20 Operatoren Definition Anweisung/Manipulation/Rechnung mit festen Regeln wirkt auf einen oder mehrere Operanden unärer Operator: 1 Operand binärer Operator: 2 Operanden Stellung des Operators: Präfixform: Operator steht vor Operanden Suffixform: Operator steht hinter Operanden Infixform: Operator steht zwischen Operanden Zuweisungsoperator = int a; float x = 3.14, y, z; a = -4; z = y = x; // aequivalent: z = (y = x); binär, Infixstellung rechtsassoziativ ( )
21 Operatoren: Arithmetische Operatoren Arithmetische Opertoren ( +, -, *, /, % ) Name Verwendung Operandentyp Resultat Minus (unär) -Op1 int, float Vorzeichenwechsel Plus Op1 + Op2 int, float Summe Minus (binär) Op1 - Op2 int, float Differenz Multiplikation Op1 * Op2 int, float Produkt int ganzzahlige Division Division Op1 / Op2 < float Quotient Modulo Op1 % Op2 int Rest bei ganzzahliger Division Regeln Sind die Operanden vom gleichen Datentyp, so auch das Ergebnis Sind die Operanden von verschiedenen Typen, so ist das Resultat vom genaueren Datentyp: int + double = double Arithmetische Operatoren sind linksassoziativ ( ), d.h. a + b + c = (a + b) + c Priorität bei binären Operatoren: Punkt vor Strich
22 Operatoren: Arithmetische Zuweisung und Inkrement Arithmetische Zuweisungsoperatoren Operation Bezeichnung Äquivalent zu Op1 += Op2; Additionszuweisung Op1 = Op1 + Op2; Op1 -= Op2; Subtraktionszuweisung Op1 = Op1 - Op2; Op1 *= Op2; Multiplikationszuweisung Op1 = Op1 * Op2; Op1 /= Op2; Divisionszuweisung Op1 = Op1 / Op2; Op1 %= Op2; Modulozuweisung Op1 = Op1 % Op2; Inkrement- und Dekrementoperatoren ++ und -- Für eine Variable i vom Typ int sind äquivalent: i = i+1; i += 1; i++; i = i-1; i -= 1; i--; Unterscheidung Postfix- und Präfixnotation sum += i++; sum = sum + i; sum += ++i; i = i + 1; i = i + 1; sum = sum + i;
23 Operatoren: Arithmetische Zuweisung und Inkrement int a = 3, b, c; b = ++a * 3; // a = 4, b = 12 c = a++ * 3; // c = 12, a = 5 ist äquivalent zu int a = 3, b, c; a++; // oder ++a; b = a * 3; c = a * 3; ++a; // oder a++; Publikumsfrage: Seien a und b vom Typ int. Was ist zu b -= (a-1); äquivalent? a) -b = a - 1; b) b -= (-a); c) b = -(a--); d) b -= (--a);
24 Operatoren: Division und Modulorechnung Mathematik (Zahlentheorie): Seien a, 0 b Z. Dann existieren eindeutig bestimmte Zahlen q, r Z mit a = q b + r, 0 r < b. Computer Science: Seien a, 0 b Z. Dann existieren (eindeutig bestimmte) Zahlen q, r Z mit Es gilt: a = q b + r, b < r < b. q = a / b; r = a % b; ganzzahlige Division a modulo b Beispiele: a = 45, b = 7: 45 = q = 6, r = 3 45 = q = 7, r = 4 a = 27, b = 5: 27 = ( 6) q = 6, r = 3 27 = ( 5) 5 2 q = 5, r = 2
25 Operatoren: Implizite Typumwandlung und Casts Unterscheide! int a = -3; float c; c = a / 2; c = -1.0 Explizite Typumwandlung durch Casts (Datentyp) Term; int a = -3; float c; c = a / 2.0; c = -1.5 Beispiel: int a = 3, b = 2; float c = (float) a / b; c = 1.5 Merke: Casts besitzen höhere Priorität als binäre arithmetische Operatoren Äquivalent: float c = ((float) a) / b; Nicht äquivalent: float c = (float) (a / b);
26 Operatoren: Vergleichende und logische Operatoren Vergleichsoperatoren Überprüft werden Wahrheitswerte von Aussagen wie etwa x > 0, j N, a f (x) b usw. Notation in C a < b a > b a <= b a >= b a == b a!= b math. Notation a < b a > b a b a b a = b a b Häufig verwendet in wenn,... dann... -Konstruktionen in C: Wert 0 (auch 0.0) "falsch" (false) Werte ungleich 0 (etwa 1, -2.5) "wahr" (true) Unterscheide "a = b" (Zuweisung) und "a == b" (Vergleich) Merke: Der Wert einer Zuweisung entspricht dem zugewiesenen Wert. Vorsicht beim Test auf Gleichheit bei floats (s. arithm. Operatoren) Vergleichsoperatoren sind linksassoziativ ( )
27 Operatoren: Vergleichende und logische Operatoren Logische Operatoren: &&,,! Ausdrücke (arithmetische, vergleichende, zuweisende) werden als Aussagen miteinander verknüpft Die Werte solcher Verknüpfungen sind immer 1 (wahr) oder 0 (falsch) Notation in C math. Notation Bedeutung A && B A B Konjunktion (und) A B A B Disjunktion (oder)!a A Negation Das "oder" ist einschließend zu verstehen und nicht als "entweder oder" Logische Operatoren sind linksassoziativ ( ) Verknüpfungstafeln: && !
28 Operatoren: Vergleichende und logische Operatoren Beispiel: int A = -4, C = 1; double B = -0.5; Ausdruck Wert A -4!A 0 A - B -3.5!(A - B) 0!!(A - B) 1!A - B 0.5!A -!B 0 Ausdruck Wert A < B < C 0 A < B <= C 1 A < (B<C) 1 A<B && B<C 1 C>A && B 1 A==2 B>C 0 A=2 B>C 1
29 Ausgabe auf der Kommandozeile: printf dient zur Ausgabe von Text und numerischen Werten auf dem Bildschirm erfordert Präprozessordirektive: Syntax: Beispiel: #include <stdio.h> printf(formatstring, Parameterliste); Formatstring = Text und Platzhalter in Anführungszeichen int a = -5; float b = ; printf("a hat den Wert %d, b hat den Wert %f.\n", a, b); Ausgabe: a hat den Wert -5, b hat den Wert Zeichenkonstanten (vgl. Erlenkötter, Kap. 8.5) \n neue Zeile (new line) \t horizontaler Tabulator
30 Ein- und Ausgabe: Platzhalter %[flags][weite][.genauigkeit][modifizierer]typ typ ganzzahlig d / i 3218 unsigned integer u 3218 Gleitkomma f wissenschaftl. e e+03 modifizierer genauigkeit weite flags l, z.b. %lf bei Verwendung von double L, z.b. %Lf bei Verwendung von long double Anzahl der Nachkommastellen Mindestanzahl an Zeichen (. mitgezählt) links- oder rechtsbündig, Vorzeichen, führende Nullen Beispiel: %7.3f ist Platzhalter für eine Gleitkommazahl mit 3 Nachkommastellen und einer Feldbreite von mindestens 7 Zeichen. Hilfe zu printf: Befehl man 3 printf in die Kommandozeile eingeben Weitere Beispiele: Übung
Modellierung und Programmierung
Modellierung und Programmierung Dr. Martin Riplinger 24.10.2012 IAM Institut für Angewandte Mathematik Literatur: Internet Skripte Erik Wallacher: Vorlesungsskript Modellierung/Programmierung Gerald Kempfer:
Java 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
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe
Programmiertechnik Operatoren, Kommentare, Ein-/Ausgabe Prof. Dr. Oliver Haase Oliver Haase Hochschule Konstanz 1 Was sind Operatoren? Ein Operator ist eine in die Programmiersprache eingebaute Funktion,
Java Einführung Operatoren Kapitel 2 und 3
Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig
Die 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,
L6. Operatoren und Ausdrücke
L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.
Einfü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
Wintersemester 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
Kapitel 3. Mein erstes C-Programm
Kapitel 3 Mein erstes C-Programm 1 Gliederung Kapitel 3 Mein erstes C-Programm 3.1 Einleitung 3.2 Mein erstes C-Programm 3.3 Zusammenfassung 2 Problem Algorithmus Mittelwert für Messwerte berechnen DGL
Teil IV. Grundlagen der Programmierung
Teil IV Grundlagen der Programmierung Überblick 1 Einleitung zu C und C++ Aufbau von Programmen/Dateien Steueranweisungen Funktionen Mehr zu Datentypen: Felder, Zeiger und Strukturen Arbeit mit Dateien
Hello 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
Einführung in die Programmierung Hello World, Typen & Variablen, Arithmetik. Arvid Terzibaschian
Hello World, Typen & Variablen, Arithmetik Arvid Terzibaschian Ablaufplan wöchentliche Vorlesung + Übung Prüfung am Ende des Semester (siehe Abstimmung) http://www.doodle.com/vtcqm9k8b7q57bx8 Achtung:
Numerische Datentypen. Simon Weidmann
Numerische Datentypen Simon Weidmann 08.05.2014 1 Ganzzahlige Typen 1.1 Generelles Bei Datentypen muss man immer zwei elementare Eigenschaften unterscheiden: Zuerst gibt es den Wertebereich, zweitens die
Kontrollstrukturen, 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
Programmieren in C. Eine Einführung in die Programmiersprache C. Prof. Dr. Nikolaus Wulff
Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Der Anfänger sollte nicht entmutigt sein, wenn er nicht die Voraussetzungen besitzt, um die Voraussetzungen zu verstehen...
Modellierung und Programmierung
Modellierung und Programmierung Dr. Martin Riplinger 19.12.2012 IAM Institut für Angewandte Mathematik Funktionszeiger: Vorüberlegungen Funktionsaufrufe sind bis jetzt im Code mit Name explizit angegeben
Ein erstes Java-Programm
Ein erstes Java-Programm public class Rechnung { public static void main (String [] arguments) { int x, y; x = 10; y = -1 + 23 * 33 + 3 * 7 * (5 + 6); System.out.print ("Das Resultat ist "); System.out.println
Programmieren 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
Einfü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).
Java-Vorkurs 2015. Wintersemester 15/16
Java-Vorkurs 2015 Wintersemester 15/16 Herzlich Willkommen! package de.unistuttgart.47.01.javavorkurs; public class WelcomeErstis { public static void main(string[] args){ System.out.println( Herzlich
Hello world. Sebastian Dyroff. 21. September 2009
Hello world Sebastian Dyroff 21. September 2009 1 / 35 Inhaltsverzeichnis Organisatorisches Hello World Typen und Operatoren Programmfluss Weitere Konstrukte Nützliche Tipps 2 / 35 Inhalte dieser Veranstaltung
Kurzeinfü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
Grundlagen. 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
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7
Vorlesung C-Kurs 9:15-10:45 Mathe 11:15-12:45 1. Woche Hörsaal 1 2. Woche Hörsaal 7 Seminare / Praktikum M1/C1 : Mathe 13:15-14:45, C-Kurs 15:15-16:45h M2/C2 : C-Kurs 13:15-14:45, Mathe 15:15-16:45h M*
Compiler: Vom Code zum Maschinen-Code. C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg
Compiler: Vom Code zum Maschinen-Code C Programmierung - Vorlesung 2 Hochschule Regensburg 19.03.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Zusammenhänge: C und Assembler Hochsprachen
Programmieren 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
Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein ([email protected].
Java Crashkurs Kim-Manuel Klein ([email protected]) May 7, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
Primitive 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.
OO Programmierung in Java
OO Programmierung in Java Einführung WS 212/213 Prof. Dr. Margarita Esponda M. Esponda-Argüero 1 Homepage Homepage http://www.esponda.de/ws_12_13/jbk Vorlesungsfolien Literaturliste Übungen Zusätzliches
Python Programmierung. Dipl.-Ing.(FH) Volker Schepper
Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013
Programmiersprachen 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
Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik
Informatik I WS 2012/13 Tutorium zur Vorlesung 1. Alexander Zietlow [email protected] Wilhelm-Schickard-Institut für Informatik Eberhard Karls Universität Tübingen 11.02.2013 1. 2. 1.
2 Einfache Rechnungen
2 Einfache Rechnungen 2.1 Zahlen Computer, auch bekannt als Rechner, sind sinnvoller eingesetzt, wenn sie nicht nur feste Texte ausgeben, sondern eben auch rechnen. Um das Rechnen mit Zahlen zu verstehen,
1. Der Einstieg in Java
1. Der Einstieg in Java Was heißt Programmieren? 1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen
Logische Verknüpfungen. while-schleifen. Zahlendarstellung auf dem Computer. Formatierung von Zahlen in MATLAB.
Logische Verknüpfungen. while-schleifen. Zahlarstellung auf dem Computer. Formatierung von Zahlen in MATLAB. Logische Verknüpfungen In der letzten Sitzung haben wir kennengelernt, wie wir Zahlen mit Operationen
Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt. // mile2km.cpp: Umwandlung von Meilen in Kilometer
Programmierkurs C++ 1. Überblick über C++ Seite 1 1 Überblick über C++ Definition: Die Sprache C++ ist die Menge aller korrekter C++-Programme. Theoretischer Aspekt 1.1 Elemente der Sprache C++ // mile2km.cpp:
Der 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.
1. Der Einstieg in Java. Was heißt Programmieren?
1. Der Einstieg in Java Lernziele: Am Ende dieses Kapitels sollen Sie wissen, aus welchen Bestandteilen ein Java-Programm besteht, Java-Programme übersetzen und ausführen können, Möglichkeiten der Kommentierung
Inhaltsverzeichnis. Grundbegriffe der C-Programmierung Für den HI-TECH C-Compiler
Inhaltsverzeichnis Grundbegriffe der C-Programmierung 1. Grundsätzliches... 2 1.1 Darstellung von Werten... 2 1.1.1 Dezimale Zahlendarstellung... 2 1.1.2 Binäre Zahlendarstellung... 3 1.1.3 Hexadezimale
Noch 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
Primitive Datentypen. Dr. Wolfgang Süß Thorsten Schlachter
Dr. Wolfgang Süß Thorsten Schlachter Java-Bezeichner Für Variablen, Methoden, Klassen und Schnittstellen werden Bezeichner auch Identifizierer (von engl. identifier) genannt vergeben. Ein Bezeichner ist
4. Datentypen. Einleitung Eingebaute Datentypen. Konversion / Type-Cast. Operatoren. Übersicht Die Datentypen char, float und double Standardwerte
4. Datentypen Einleitung Eingebaute Datentypen Übersicht Die Datentypen char, float und double Standardwerte Konversion / Type-Cast Datentyp von Literalen Operatoren Ausdrücke Allgemeine Informatik 2 SS09
Erster Kontakt mit Java und Pseudocode
Erster Kontakt mit Java und Pseudocode CoMa-Übung II TU Berlin 23.10.2013 CoMa-Übung II (TU Berlin) Erster Kontakt mit Java und Pseudocode 23.10.2013 1 / 27 Themen der Übung 1 Java auf meinem Rechner 2
Computerarithmetik ( )
Anhang A Computerarithmetik ( ) A.1 Zahlendarstellung im Rechner und Computerarithmetik Prinzipiell ist die Menge der im Computer darstellbaren Zahlen endlich. Wie groß diese Menge ist, hängt von der Rechnerarchitektur
C++ - 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,
Programmiervorkurs. Organisation: Steffen Gebert, Alexander Wolff. Tutoren: Jürgen Zöller, Jonathan Stoll. Wintersemester 2012/2013
Programmiervorkurs Wintersemester 2012/2013 Organisation: Steffen Gebert, Alexander Wolff Tutoren: Jürgen Zöller, Jonathan Stoll Kontakt (für Organisatorisches, Fehler auf Folien...): Steffen Gebert [email protected]
Aufbau von Programmen/Dateien
Aufbau von Programmen/Dateien Typen von Dateien Header-Dateien (.h): enthalten Deklarationen (auch Signatur, Prototyp, Rumpf) von Funktionen, Variablen, Konstanten und in C++ auch Klassendefinitionen eines
Kurzeinführung in C++
Kurzeinführung in C++ Johannes J. Schneider 27.10.2004 1 Einleitung C++ ist eine heutzutage in vielen Bereichen sehr häufig verwendete Programmiersprache, die auf der Programmiersprache C aufsetzt, aber
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer. Programmiertechnik Zahlensysteme und Datendarstellung
Prof. Dr. Oliver Haase Karl Martin Kern Achim Bitzer Programmiertechnik Zahlensysteme und Datendarstellung Zahlensysteme Problem: Wie stellt man (große) Zahlen einfach, platzsparend und rechnergeeignet
Themen der Übung. Java. Java installieren. Java installieren. Installation (Fortsetzung)
Themen der Übung Java CoMa-Übung II TU Berlin 1 Java-Installation Hello World 3 Temperature 4.10.01 CoMa-Übung II (TU Berlin) Java 4.10.01 1 / 8 CoMa-Übung II (TU Berlin) Java 4.10.01 / 8 Java installieren
Rechnerorganisation Tutorium Nr. 1
Rechnerorganisation Tutorium Nr. 1 Tutorium 3 Nicholas Kjär - [email protected] 20. April 2015 INSTITUT FÜR INFORMATIK KIT University of the State of Baden-Wuerttemberg and National Laboratory of the
Modul 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
Ü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
DAP2-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
C-Vorrangregeln. Version 1.3 6.7.2009. email: [email protected] Web: www.ostc.de
C-Vorrangregeln Version 1.3 6.7.2009 email: [email protected] Web: www.ostc.de Die Informationen in diesem Skript wurden mit größter Sorgfalt erarbeitet. Dennoch können Fehler nicht vollständig ausgeschlossen
Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH
Java Einleitung - Handout Kurzbeschreibung: Eine kleine Einführung in die Programmierung mit Java. Dokument: Autor: Michael Spahn Version 1.0 Status: Final Datum: 23.10.2012 Vertraulichkeit: öffentlich
PROGRAMMIEREN 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
Deklarationen 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.
Einfü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
Organisatorisches. Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg
Organisatorisches Einführung in die Programmierung in C Hochschule Regensburg 13.03.2012.-13.07.2012 Universitätsstraße 31, 93053 Regensburg Prof. Dr. Jan Dünnweber Wenn Sie kommen...... kommen Sie pünktlich
C Überlebenstraining
C Überlebenstraining Dies ist nur ein Schnellkurs in C, der genug Einstiegswissen vermitteln soll, daß weiterführende Literatur schnell benutzt werden kann. Dies ist kein vollständiger Programmier oder
[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
Diana Lange. Generative Gestaltung Operatoren
Diana Lange Generative Gestaltung Operatoren Begriffserklärung Verknüpfungsvorschrift im Rahmen logischer Kalküle. Quelle: google Operatoren sind Zeichen, die mit einer bestimmten Bedeutung versehen sind.
Einführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt [email protected] Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
Grundlagen 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
Kapitel 11: Wiederholung und Zusammenfassung
Wiederholung und Zusammenfassung 1: Begriff und Grundprobleme der Informatik Begriff Informatik Computer als universelle Rechenmaschine Grenzen der Berechenbarkeit Digitalisierung Problem der Komplexität
Programmiertechnik Skalare Typen,Variablen, Zuweisungen
Programmiertechnik Skalare Typen,Variablen, Zuweisungen Prof. Dr. Oliver Haase int i; long j; boolean isempty; double average; char naechsteszeichen; j = 42L; i = (int) j; isempty = true; average = 37.266;
ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, 2. Aktualisierung, Dezember 2013 CANSI2
ANSI C Ricardo Hernández García 3. Ausgabe, 2. Aktualisierung, Dezember 2013 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende
Programmieren in C. -- ALLE Programmiersprachen sind HÄSSLICH -- Deklaration: erst der Datentyp, dann der Variablenname. Semikolon am Ende.
PROGRAMMIEREN IN C - EIN KURZÜBERBLICK 1 Programmieren in C -- ALLE Programmiersprachen sind HÄSSLICH -- Die einfachste Programmstruktur: main () -- was zu tun ist --- Vorgeordnete Definitionen: # include
Programmieren 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
MIKROPROZESSOR 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
Propädeutikum. Dipl.-Inf. Frank Güttler
Propädeutikum 2015 Vorbereitungskurs Informatikstudium Erfolgreich Studieren Programmieren (C-Kurs) [email protected] Universität Leipzig Institut für Informatik Technische Informatik
620.900 Propädeutikum zur Programmierung
620.900 Propädeutikum zur Programmierung Andreas Bollin Institute für Informatik Systeme Universität Klagenfurt [email protected] Tel: 0463 / 2700-3516 Lösung der Aufgaben (1/2) Lösung Aufgabe
D A T E N... 1 Daten Micheuz Peter
D A T E N.....! Symbole, Alphabete, Codierung! Universalität binärcodierter Daten! Elementare Datentypen! Speicherung binärcodierter Daten! Befehle und Programme! Form und Bedeutung 1 Daten Micheuz Peter
Tutorium 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
1. Java Grundbegriffe
1. Java Grundbegriffe Geschichte von Java Programmieren mit Java Interpretieren vs. Kompilieren Java Byte-Code Jave Virtual Machine Arbeitsmaterialien Allgemeine Informatik 2 SS09 Folie 1.1 Java, eine
Lösungsvorschlag zur 9. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 9. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der folgenden Aussagen über
Definition: Algorithmus
Definition: Algorithmus Ein Algorithmus ist eine allgemeine Rechenvorschrift, die aus mehreren elementaren Instruktionen (Anweisungen bei Programmiersprachen, Befehlen bei Maschinensprachen) besteht, die
Java Programmierung auf der Konsole / unter Eclipse
Fakultät Informatik, HFU Brückenkurs Programmieren 1 Java Programmierung auf der Konsole / unter Eclipse Allgemeine Begriffe Programmiersprache: künstliche Sprache zur Notation von Programmen Programm:
Fallunterscheidung: 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
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften
Grundlagen der Programmiersprache C für Studierende der Naturwissenschaften Teil 1: Organisatorisches, Einführung in die Programmierung in C Patrick Schreier Abteilung für Angewandte Mathematik Vorlesung
Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen
Kapitel 4: Repräsentation von Daten Binärcodierung von rationalen Zahlen und Zeichen Einführung in die Informatik Wintersemester 2007/08 Prof. Bernhard Jung Übersicht Codierung von rationalen Zahlen Konvertierung
Grundlagen der Programmiersprache C++
/ TU Braunschweig Grundlagen der Programmiersprache C++ Um den Studierenden den Einstieg in die FE-Programmierung zu erleichtern werden die wesentlichen Elemente eines C-Programmes beschrieben, soweit
Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.
Algorithmische Kernsprache Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging. Ausdrücke Anweisungen Ausdrücke bezeichnen einen Wert Kontext stellt Werte von Variablen Werte
Grundlagen von C. Ausarbeitung von Jonas Gresens
Grundlagen von C Ausarbeitung von Jonas Gresens 1 Allgemein Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und
Programmieren 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;
25 kann ohne Rest durch 5 geteilt werden! ist wahr
Lehrbrief 2: Lektion 8 - C -Praxis 4-1 - 5.2 Einfache Entscheidungen mit if und die Vergleichsoperatoren Nun tauchen wir immer tiefer in die Geheimnisse von C ein und beschäftigen uns mit einem sehr wichtigen
Programmieren für Physiker: C++
Programmieren für Physiker: C++ Termine: Vorlesung: Di. 8:00-9:30 Uhr, Lehmann-HS (M. Steinhauser) Hörsaalübungen: Fr. 8:00-9:30 Uhr, Lehmann-HS (A. Mildenberger) Computerübungen: (voraussichtlich) (Fragen
Informatik: Abschnitt 4
Informatik: Abschnitt 4 Inhalt: 4. Programmiersprache C 4.1 Programmaufbau in C 4.2 Basisdatentypen und einfache Anweisungen 4.3 Steuerfluss-Konstrukte 4.4 Arbeit mit indizierten Größen (Felder) 4.5 Arbeit
Workshop: ASURO-Programmieren in C
Workshop: ASURO-Programmieren in C / Teil 1: Theorie Workshop: ASURO-Programmieren in C Teil 1: Theorie Markus Becker http://mbecker-tech.de Bürgernetz Ingolstadt e. V. / ByteWerk Stand: 1. Mai 2010 Copyright:
Programmieren in C Einführung
Programmieren in C Einführung Aufbau eines Programms Einfache Programme Datentypen und Vereinbarungen Das Entwicklungswerkzeug Seite Einfache Programme Kugeltank-Berechnung #include void main
Programmieren 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)
Proseminar C-Programmierung. Strukturen. Von Marcel Lebek
Proseminar C-Programmierung Strukturen Von Marcel Lebek Index 1. Was sind Strukturen?...3 2. Padding 5 3. Vor- und Nachteile von Padding..8 4. Padding gering halten 9 5. Anwendungsgebiete von Strukturen.11
Kapitel 2. Zahlensysteme, Darstellung von Informationen
Kapitel 2 Zahlensysteme, Darstellung von Informationen 1 , Darstellung von Informationen Ein Computer speichert und verarbeitet mehr oder weniger große Informationsmengen, je nach Anwendung und Leistungsfähigkeit.
1. Formulieren Sie den Algorithmus <Bedienung eines Getränkeautomaten> nach den oben genannten Kriterien.
Java 1 Einführung Grundlegende Übungsaufgaben Arbeitsauftrag 1.1 1. Formulieren Sie den Algorithmus nach den oben genannten Kriterien. Beispiel: Bedienung eines Getränkeautomaten
ANSI C. Grundlagen der Programmierung. Ricardo Hernández García. 3. Ausgabe, September 2011 CANSI2
ANSI C Ricardo Hernández García 3. Ausgabe, September 2011 Grundlagen der Programmierung CANSI2 2 ANSI C - Grundlagen der Programmierung 2.4 Vom Quellcode zum Maschinenprogramm Das folgende Beispiel geht
