Vorlesung: Rechnergestützte Physik (Comp. Physics)
|
|
- Heiko Feld
- vor 5 Jahren
- Abrufe
Transkript
1 Vorlesung: Rechnergestützte Physik (Comp. Physics) (PHY-IMAPH-033) Jun.-Prof. Dr. I. Eremin Termine: Mo 15:00-16:30, 16:45-18:15 (MS 3.2), Di 15:00-16:30 (MS 3.2) Vorbesprechung: (Mo, 14:00 MS 3.1) Ersatz-termin: Do: 14:00-15:30 (MS 3.1) Themen: - Schwingungsbewegung und Chaos - Das Sonnensystem: das drei Körperproblem - Zufällige Systeme: Perkolation - Erdbeben - Proteinfaltung - Phasen-Übergänge und das Ising-Modell Kontakt: Ilya Eremin ieremin@mpipks-dresden.mpg.de oder i.eremin@tu-bs.de Tel
2 Literatur: 1) J.M. Thijssen, Computational Physics, Cambridge niversity Press, ) A. MacKinnon, Computational physics, ) Tao Pang, An Introduction to Computational Physics, ) Franz J. Vesely, Computational Physics: an introduction, ) R.H. Landau and M.J. Páez, Computational Physics (problem solving with computers), Wiley & Sons, ). J. Giordano, Computational Physics, ) this script
3 1.1 Ein erstes numerisches Problem: radioaktiver Zerfall Viele Atomkerne sind nicht stabil: Ein typisches Beispiel ist das Kernisotop 235 (143 eutronen und 92 Protonen), das eine kleine, aber ziemlich bedeutende Wahrscheinlichkeit hat, um in zwei Kerne mit ungefähr der Hälfte seiner Größe zu zerfallen. Dieser Prozess des radioaktiven Zerfalls ist zufällig. Das Einzige, das Sie tun können, ist eine Wahrscheinlichkeit für den Zerfall anzugeben Stellen Sie sich vor, dass wir eine Probe haben, die eine große Zahl 235 Kerne enthält (t) ist die Zahl von ran-kernen, die zu der Zeit t existieren Differenzialgleichung d dt = τ τ ist die "Zeit-Konstante" für den Zerfall (Halbwertszeit eines Kerns) Die Lösung = (0) e t /τ (0) ist die Zahl von Kernen bei t = 0
4 1.2 Eine numerische äherung Während wir die genaue Lösung wissen, ist dieses Problem nützlich, um mehrere numerische Methoden einzuführen. Einfache Methode als eine Funktion von t zu erhalten ehmen Sie an, dass wir bei t = 0 wissen Wir wollen diesen Wert zu einer späteren Zeit schätzen Das ist ein so genanntes "Anfangswert-Problem" Taylor-Entwicklung für ( Δt) = (0) + d dt Δt d dt 2 ( Δt) Wenn wir annehmen, dass Δt klein ist, ist es eine gute äherung, die quadratischen und höheren Terme von Δt zu ignorieren (Euler-Methode) d ( Δt) (0) + Δt. dt
5 oder 1.2 Eine numerische äherung d ( t + Δt) ( t) + Δt. dt die Fehler sind von der Ordnung (Δt) 2 Wenn wir Δt klein machen, erwarten wir, dass die Fehler unwesentlich werden Es gibt Situationen, in denen die Fehler das Leben noch kompliziert machen können Wir wissen d dt = τ ( t + Δt) ( t) Δt. τ Diese äherung bildet die Basis für eine numerische Lösung!
6 Design und Konstruktion eines Computerprogramms: Code und Pseudocode Erster Schritt Programmiersprache wählen C++, FORTRA, Matlab Es ist möglich, die Struktur auf eine allgemeine Weise zu beschreiben Pseudocode! Das ist nicht eine genaue Computersprache, aber eher eine Beschreibung der wesentlichen Teile eines Algorithmus leicht, jedes Stück des Pseudocodes in die spezifischen Instruktionen Ihrer Lieblingssprache zu übersetzen ( t + Δt) ( t) Δt. (1) τ zu der Zeit 0, Δt, 2Δt,... 1) Die numerische äherung schließt ein 2) Wir werden an gerade diesen Werten von t wirklich berechnen 3) Wir werden ein Array (Feld) verwenden, um die Werte von zu speichern 4) nser allgemeiner Plan ist dann, (1) wiederholend zu benutzen, um die Werte von zu berechnen.
7 Pseudocode: Die gesamte Struktur des Programms Deklarieren Sie notwendige Variablen und Arrays Initialisierung der Variablen Durchführung der eigentlichen Berechnung Speichern Sie die Ergebnisse FORTRA-Sprache:! Simulation of radioactive decay program decay dim n_uranium(100), t(100)! declare the arrays we will need call initialize(n_uranium,t,tau,dt)! use subroutines to do the work call calculate(n_uranium,t,tau,dt) call display(n_uranium,t,tau,dt) end Der Rest der Arbeit wird in drei nterprogrammen getan: initialize, calculate, display Speicherplatz zuweisen (allocate):, Δt, τ Setze Anfangswert der Zeit, t(0) Setze Anzahl von Zeitschritten für die Berechnungen
8 Pseudocode: Die gesamte Struktur des Programms! initialize variables sub initialize(nuclei(),t(),time_constant,dt) input prompt "initial number of nuclei -> ": nuclei(1) t(1) = 0 input prompt "time constant -> ": time_constant input prompt "time step -> ": dt end sub calculate Für jeden Zeitschritt i (mit i=1 beginnend) berechnen Sie und t am Schritt i+1 t i+ ( ti ) ( ti+ 1) = ( ti ) Δt. τ 1 = ti + Δt. Wiederholen für -1-Schritte
9 sub calculate(n_uranium(),t(),tau,dt) for i = 1 to size(t)-1! now use the Euler method n_uranium(i+1) = n_uranium(i) - (n_uranium(i) / tau) * dt t(i+1) = t(i) + dt next i end sub Store oder Display sub display(n_uranium(),t(),tau,dt)! first set up title and label axes for graph call settitle("radioactive Decay umber of nuclei versus time") call sethlabel("time(s)") call setvlabel("umber of uclei") call datagraph(t,n_uranium,4,0,"black")! the graph is produced here set cursor 5,30! reposition cursor print "time constant = ";tau set cursor 6,30 print "time step = ";dt end sub Ein anderes Beispiel-Program mit MATLAB Die Fähigkeit, die Ergebnisse grafisch darzustellen, ist für die Computerphysik absolut notwendig.
10 Radioactive decay program in C /* decay.c * Simulation of radioactive decay */ #include <math.h> #include <stdio.h> #define MAX 100 double n_uranium[maxi ; /* number of uranium atoms */ double t [MAXI ; /* store time values here */ double dt; /* time step */ double tau; /* decay time constant */ double t-max; /* time to end simulation */ Main() { initialize(n_uranium,t,&tau,&dt); calculate(n_uranium,t,tau,dt); store(n_uranium,t); } /* initialize the variables */ initialize(nuclei,t,tc,dt) double *nuclei,*t,*tc,*dt; { printf ("initial number of nuclei -> ); scanf( %lf', &(nuclei[0])); /* begin using arrays at index 0 */ printf( time constant -> ); scanf ("%lf,tc) ; printf ("time step -> "); scanf ("%lf, dt); t[0] = 0.0; return; }
11 /* calculate the results and store them in the arrays t() and n_u() */ calculate(nuclei,t,tc,dt) double *nuclei,*t,tc,dt; { int i; for(i = 0; i < MAX-1; i++) { nuclei[i+1] = nuclei[i] - (nuclei[i] / tc) * dt; t[i+1] = t[i] + dt; } return; } /* save the results to a file */ store(nuclei,t) double *nuclei,*t { FILE *fp_out; int i; fp_out=fopen( decay.dat, w ); for(i=0;i<max; i++) { fprintf(fp_out, %g \ t%g \n, t[i], nuclei[i]); } fclose(fp_out); return; }
12 Prüfung Ihres Computerprogramms ehmen Sie an Ihr Programm kompiliert und läuft. Das ist noch nicht notwendigerweise das richtige Computerprogramm! Wir müssen überzeugt sein, dass die Ergebnisse richtig sind: Sehen die Ergebnisse angemessen aus? Wenn Sie die Ergebnisse jemand anderem zeigen, sollten Sie im Stande sein, ihn zu überzeugen, dass diese sinnvoll sind. Stimmt Ihr Programm mit irgendwelchen exakten Ergebnissen überein, die verfügbar sind? Genaue Ergebnisse sind für bestimmte Grenzfälle bekannt. Überprüfen Sie immer, ob Ihr Programm dieselbe Antwort für verschiedene Schritt-Größen gibt! Endantwort sollte nicht vom Δt Parameter abhängen Investieren Sie Zeit, um Ihre Ergebnisse zu überprüfen!
13 umerische Aspekte umerische Fehler: 1. Fehler werden durch die Annäherung (Euler Methode) eingeführt 2. Fehler werden durch die begrenzte numerische Präzision in jeder Computersprache (round-ff Präzision) eingeführt für C++ und Fortran doppelte Präzision verwenden Im radioaktiven Zerfall-Problem wurden wir dazu gebracht, Zeit als eine diskrete Variable zu behandeln Folgende Fragen: 1) Woher wissen wir, dass die durch diese Diskretisierung eingeführten Fehler klein sind? 2) Wie wählen wir den Wert der Schritt-Größe für eine Berechnung? Der globale Fehler ist das Produkt der Anzahl Zeitschritte (t/δt) und des Fehlers pro Schritt ([Δt] 2 ) und ist proportional zu Δt
14 Richtlinien und Philosophie Programm-Struktur 1) Benutzen Sie subroutines, um die Hauptaufgaben zu organisieren und das Programm besser lesbar und verständlich zu machen; 2) Schreiben Sie nterprogramme und Funktionen, um jeden Job durchzuführen, der länger ist als einige Zeilen Code oder der wiederholt erforderlich ist. Beschreibende amen 1) Wählen Sie die amen von Variablen und nterprogrammen gemäß dem Problem. 2) Das macht das Programm leichter zu verstehen, weil sie wie eingebaute Kommentare wirken. Kommentare 1) Schreiben Sie Kommentare, um die Programm-Logik zu erklären und Variablen zu beschreiben. Opfern Sie fast alles für die Klarheit 1) Computer-Leistungsfähigkeit schließt auch Kosten für das Lesen und Verstehen von Programmen mit ein. 2) Ein moderner Compiler optimiert häufig Ihren Code sehr stark. ehmen Sie sich Zeit, um grafische Darstellungen ebenfalls so klar wie möglich zu gestalten 1) Achsen sollten klar beschriftet sein und Parameter-Werte im Graphen angegeben werden
Kurzeinführung in C99
Kurzeinführung in C99 Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Oktober 2013 Überblick 1 Compiler und Editoren - Was wird benötigt um ein Programm zu erstellen 2
MehrGI Vektoren
Vektoren Problem: Beispiel: viele Variablen vom gleichen Typ abspeichern Text ( = viele char-variablen), Ergebnisse einer Meßreihe ( = viele int-variablen) hierfür: Vektoren ( = Arrays = Feld ) = Ansammlung
MehrPrimzahlen und Programmieren
Primzahlen Wir wollen heute gemeinsam einen (sehr grundlegenden) Zusammenhang zwischen Programmieren und Mathematik herstellen. Die Zeiten in denen Mathematiker nur mit Zettel und Stift (oder Tafel und
MehrInformatik - Übungsstunde
Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik
MehrProgrammieren 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
MehrTeil 5: Zeiger, Felder, Zeichenketten Gliederung
Teil 5: Zeiger, Felder, Zeichenketten Gliederung Zeiger und Adressen Felder (Arrays) Zeichenketten (Strings) Zeigerarithmetik Mehrdimensionale Felder Zeiger und Adressen Felder Zeichenketten Zeigerarithmetik
MehrObjektorientierte Programmierung - Was ist Programmieren?
Objektorientierte Programmierung - Was ist Programmieren? Programmieren ist ein logischer, sequentieller Vorgang Programmieren Beim Programmieren nutzt man eine Sprache Diese Sprache ist ein Hilfsmittel
MehrChaos im getriebenen nicht-linearen Pendel
Chaos im getriebenen nicht-linearen Pendel Alle drei Ingredienzen: Nichtlinearität, Reibung, treibende Kraft 2 d θ g dθ = sinθ q + F sin 2 dt L dt ( t) D Ω D Das ist ein so genanntes physikalisches Pendel
MehrC Spickzettel: Was haben wir bisher von C verwendet?
C Spickzettel: Was haben wir bisher von C verwendet? Klaus Kusche, 2010 / 2011 Unser Programmgerüst Alle Programme werden bei uns in den nächsten Wochen Folgendes gemeinsam haben: #include #include
MehrLösungshinweise/-vorschläge zum Übungsblatt 12: Software-Entwicklung 1 (WS 2017/18)
Dr. Annette Bieniusa Mathias Weber, M. Sc. Peter Zeller, M. Sc. TU Kaiserslautern Fachbereich Informatik AG Softwaretechnik Lösungshinweise/-vorschläge zum Übungsblatt 12: Software-Entwicklung 1 (WS 2017/18)
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrMussten wir eine ganze Reihe solcher Zahlen speichern, haben wir das eindimensionale Array verwendet.
C Zweidimensionale Arrays Fachspezifische Softwaretechnik 1 Scriptum 2017 HTL St.Pölten Elektronik und Technische Informatik EL Autor: Kuran Zweidimensionale Arrays: Bisher konnten wir in Variablen einfache
MehrC-Kurs 2010 Pointer. 16. September v2.7.3
C-Kurs 2010 Pointer Sebastian@Pipping.org 16. September 2010 v2.7.3 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. C-Kurs Mi Konzepte, Syntax,... printf, scanf Next
MehrÜbungen zu Meteorologische Modellierung Teil 'Grundlagen der Numerik'
Übungen zu Meteorologische Modellierung Teil 'Grundlagen der Numerik' 1. Diskretisierung in der Zeit: Die Evolutionsgleichung Kurzzusammenfassung Zur Erprobung der Verfahren zur zeitlichen Diskretisierung
MehrLabor Software-Entwicklung 1
Fakultät für Technik STUDIENGANG MEDIZINTECHNIK Labor Software-Entwicklung Vorbereitungsaufgaben zu Versuch 2 C-Programmierung Mathematische Berechnungen Wintersemester 205/206 Seite von 5 Vorbemerkungen
MehrInformatik II, SS 2016
Informatik II - SS 2016 (Algorithmen & Datenstrukturen) Vorlesung 3 (27.4.2014) O-Notation, Asymptotische Analyse, Sortieren III Algorithmen und Komplexität Selection Sort Algorithmus SelectionSort (informell):
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 11. Vorlesung 14.06.2017 1 Schleifen 2 do...while do block while ( bedingung ); block: eine Anweisung oder Anweisungen in { block bed JA NEIN 3 while while ( bedingung ) block
MehrGrundlagen der Programmierung
Grundlagen der Programmierung 3. Vorlesung 18.04.2018 1 Elemente von Programmiersprachen Operatoren Kontrollstrukturen Bibliotheksfunktionen 2 Was sind Kontrollstrukturen? Kontrollstrukturen erlauben,
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrInformatik II, SS 2018
Informatik II - SS 2018 (Algorithmen & Datenstrukturen) Vorlesung 2 (23.4.2018) Sortieren II, Asymptotische Analyse, O-Notation Algorithmen und Komplexität Laufzeit Zeitmessung SelectionSort n 2 Laufzeit/n
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrTheoretische Biophysik - Statistische Physik
Theoretische Biophysik - Statistische Physik 10. Vorlesung Pawel Romanczuk Wintersemester 2018 http://lab.romanczuk.de/teaching/ 1 Brownsche Bewegung Zusammenfassung letzte VL Formulierung über Newtonsche
MehrComputergestütztes wissenschaftliches Rechnen SoSe 2004
Computergestütztes wissenschaftliches Rechnen SoSe 2004 Alexander K. Hartmann, Universität Göttingen April 19, 2004 1 Einführung 1.1 Warum Computerphysik? Vorteil analytische Theorie: große Systeme Nachteil:
MehrGrundlagen der Informatik 2. Typen
Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace
MehrFH München, FB 03 FA WS 06/07. Ingenieurinformatik. Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz
FH München, FB 03 FA WS 06/07 Ingenieurinformatik Name Vorname Matrikelnummer Sem.Gr.: Hörsaal Platz Zulassung geprüft vom Aufgabensteller: Teil I Aufg. 2 Aufg. 3 Aufg. 4 Aufg. 5 Summe Note Aufgabensteller:
MehrEinleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn
C: Funktionen Philip Gawehn Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität Hamburg Do., 22.05.2014 1 / 23 Gliederung
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
MehrThis image cannot currently be displayed. Java à Matlab. bereitgestellt von Dr. Lukas Faessler 12/4/17
This image cannot currently be displayed. Java à Matlab bereitgestellt von Dr. Lukas Faessler 12/4/17 Allgemeine Programmierkonzepte kommen in verschiedenen Programmiersprachen vor sind langlebig Sprachen
MehrInformatik für Mathematiker und Physiker Woche 6. David Sommer
Informatik für Mathematiker und Physiker Woche 6 David Sommer David Sommer October 31, 2017 1 Heute: 1. Rückblick Übungen Woche 5 2. Libraries 3. Referenzen 4. Step-Wise Refinement David Sommer October
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrStrings (Zeichenketten)
Strings (Zeichenketten) INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Interaktion mit Computer oft textbasiert Fragen wie wird Text dargestellt? wie wird
MehrIntroduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016
to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you
MehrDynamische Datentypen. Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren
Dynamische Datentypen Destruktor, Copy-Konstruktor, Zuweisungsoperator, Dynamischer Datentyp, Vektoren Probleme mit Feldern (variabler Länge) man kann sie nicht direkt kopieren und zuweisen Probleme mit
MehrZeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.
Zeiger C-Kurs 2012, 2. Vorlesung Tino Kutschbach tino.kutschbach@campus.tu-berlin.de http://wiki.freitagsrunde.org 10. September 2012 This work is licensed under the Creative Commons Attribution-ShareAlike
MehrComputergestütztes wissenschaftliches Rechnen SoSe 2004
Computergestütztes wissenschaftliches Rechnen SoSe 00 Alexander K. Hartmann, Universität Göttingen. Mai 00. Dynamisches Programmieren Fibonacci Zahlen: (n = ) fib(n) = (n = ) fib(n ) + fib(n ) (n > ) Z.B.
MehrInformatik II, SS 2016
Informatik II - SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 2 (22.4.2016) Sortieren II Algorithmen und Komplexität SelectionSort: Programm Schreiben wir doch das gleich mal als Java/C++ - Programm
MehrProgrammieren in C (Übungsblatt 1)
21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
MehrDifferenzengleichungen. und Polynome
Lineare Differenzengleichungen und Polynome Franz Pauer Institut für Mathematik, Universität Innsbruck Technikerstr. 13/7, A-600 Innsbruck, Österreich franz.pauer@uibk.ac.at 1 Einleitung Mit linearen Differenzengleichungen
Mehr6. Kontrollanweisungen II
Sichtbarkeit 6. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
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 int main() { printf( hello world\n ); return 0; } Peter Sobe 1 Verschiedene Sprachkonzepte
MehrProgrammieren in C (Übungsblatt 1)
23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
Mehr5. Kontrollanweisungen II
Sichtbarkeit 5. Kontrollanweisungen II Sichtbarkeit, Lokale Variablen, While-Anweisung, Do-Anweisung, Sprunganweisungen main block Deklaration in einem Block ist ausserhalb des Blocks nicht sichtbar. int
MehrKlausur in Programmieren
Studiengang Sensorik/Sensorsystemtechnik Note / normierte Punkte Klausur in Programmieren Sommer 2014, 16. Juli 2014 Dauer: 1,5h Hilfsmittel: Keine (Wörterbücher sind auf Nachfrage erlaubt) Name: Matrikelnr.:
MehrFH Ravensburg-Weingarten Schriftlich Prüfung Programmieren
FH Ravensburg-Weingarten Schriftlich Prüfung Programmieren Prof. Dr. M. Zeller Datum, Zeit Aufgabenblätter erreichbare Punktzahl zugelassene Hilfsmittel, 0800 1000 Uhr (120 min) 16 Seiten (einschl. Deckblatt)
Mehr2. Programmierung in C
2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)
MehrInformatik II, SS 2014
Informatik II SS 2014 (Algorithmen & Datenstrukturen) Vorlesung 4 (7.5.2014) Asymptotische Analyse, Sortieren IV Algorithmen und Komplexität Erfahrungen 1. Übung C++ / Java sind komplett ungewohnt Struktur
MehrJavadoc und Java ohne IDE
Javadoc und Java ohne IDE Thomas Schwotzer 1 Einführung Programmcode einer Hochsprache ist in ersten Linie ein Text. Dieser Text soll sehr klar verständlich sein. Daher gibt es schon immer (d.h. seit der
MehrKontrollfluss. man Verzweigungen und Sprünge. o bisher linear (von oben nach unten) o Für interessante Programme braucht
Kontrollanweisungen Kontrollfluss o bisher linear (von oben nach unten) o Für interessante Programme braucht man Verzweigungen und Sprünge Kontrollfluss o bisher linear (von oben nach unten) o Für interessante
MehrNumerische Methoden der Physik. 3 Gewöhnliche Differentialgleichungen, Anfangswertprobleme
Numerische Methoden der Physik 3 Gewöhnliche Differentialgleichungen, Anfangswertprobleme Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main SS 2014 3.3 Runge-Kutta-Methode
MehrVerwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C
Übersicht Funktionen Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion Sinn von Funktionen Wiederverwendung häufig verwendeter nicht banaler Programmteile Wiederverwendung
MehrInformatik 1 für Nebenfachstudierende Beispiele für Klausuraufgaben
Informatik 1 für Nebenfachstudierende Beispiele für Klausuraufgaben Aufgabe 1: Zahlensysteme a) Stellen sie die Zahl Z als allgemeine Formel mittels eines polyadischen Zahlensystems zur Basis B dar. b)
MehrComputational Physics. Peter Uwer AG Phänomenologie der Elementarteilchenphysik (PEP)
Computational Physics Peter Uwer AG Phänomenologie der Elementarteilchenphysik (PEP) Vorbemerkung Studienpunkte Merkblatt Form der abgebenen Lösungen Gedruckt unter Verwendung der Latex-Vorlage Kurz und
MehrEinführung Pointer. C-Kurs 2013, 2. Vorlesung. Nico Andy
Einführung Pointer C-Kurs 2013, 2. Vorlesung Nico nico@freitagsrunde.org Andy andrew@freitagsrunde.org http://wiki.freitagsrunde.org 10. September 2013 This work is licensed under the Creative Commons
MehrPraxis der Programmierung
Arrays, Pointerarithmetik, Konstanten, Makros Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vektoren) 2 Arrays: Motivation
MehrComputerphysik. Übungsblatt 6
Institut für Theoretische Physik der Universität zu Köln Computerphysik Übungsblatt 6 SS 2013 Prof. Dr. Simon Trebst Michael Becker, Peter Bröcker Website: http://www.thp.uni-koeln.de/trebst/lectures/2013-compphys.html
MehrEinführung in die Programmiersprache C
Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include
MehrSchachtelung der 2. Variante (Bedingungs-Kaskade): if (B1) A1 else if (B2) A2 else if (B3) A3 else if (B4) A4 else A
2.4.6. Kontrollstrukturen if-anweisung: Bedingte Ausführung (Verzweigung) 2 Varianten: if (Bedingung) Anweisung (Anweisung = einzelne Anweisung oder Block) Bedeutung: die Anweisung wird nur ausgeführt,
MehrVisuelle Kryptographie. Anwendung von Zufallszahlen
Visuelle Kryptographie Anwendung von Zufallszahlen Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken, so dass Verschlüsseln eines Bildes Wir wollen ein Bild an Alice und Bob schicken,
MehrPascal Schärli
Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix
MehrPrüfung Informatik D-MATH/D-PHYS :00 17:00
Prüfung Informatik D-MATH/D-PHYS 9. 8. 0 5:00 7:00 Prof. Bernd Gartner Kandidat/in: Name:. Vorname:. Stud.-Nr.:. Ich bezeuge mit meiner Unterschrift, dass ich die Prufung unter regularen Bedingungen ablegen
MehrC-Pointer (Zeiger, Adressen) vs. C++ Referenzen
C-Pointer (Zeiger, Adressen) vs. C++ Referenzen Der Pointer (C/C++): In C/C++ ist der Pointer ein eigener Datentyp, der auf Variablen/Objekte zeigen kann. Indem man den Pointer dereferenziert, gewinnt
MehrDifferentialgleichungen
Differentialgleichungen Viele physikalische Probleme können mathematisch als gewöhnliche Differentialgleichungen formuliert werden nur eine unabhängige Variable (meist t), z.b. Bewegungsgleichungen: gleichmäßig
MehrGrundlagen der Programmierung in C++ Arrays und Strings, Teil 1
Grundlagen der Programmierung in C++ Arrays und Strings, Teil 1 Wintersemester 2005/2006 G. Zachmann Clausthal University, Germany zach@in.tu-clausthal.de Das C++ Typsystem simple structured integral enum
MehrC++ Teil 7. Sven Groß. 30. Nov Sven Groß (IGPM, RWTH Aachen) C++ Teil Nov / 13
C++ Teil 7 Sven Groß 30. Nov 2015 Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 30. Nov 2015 1 / 13 Themen der letzten Vorlesung Zeiger, Felder (Wdh.) dynamische Speicherverwaltung Sven Groß (IGPM, RWTH Aachen)
MehrProgramm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?
Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen
MehrProgrammierung und Angewandte Mathematik
Programmierung und Angewandte Mathematik C++ /Scilab Programmierung und Einführung in das Konzept der objektorientierten Anwendungen zu wissenschaftlichen Rechnens SS 2012 Inhalt Compiler/Editor Klassendeklaration
MehrNumerische Methoden der Physik. 5 Gewöhnliche Differentialgleichungen, Randwertprobleme
Numerische Methoden der Physik 5 Gewöhnliche Differentialgleichungen, Randwertprobleme Marc Wagner Institut für theoretische Physik Johann Wolfgang Goethe-Universität Frankfurt am Main SS 2014 5.2.1 Beispiel:
MehrÜbungspaket 14 Eindimensionale Arrays
Übungspaket 14 Eindimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung eindimensionaler Arrays Kapitel: 33 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrAlgorithmen und Datenstrukturen (für ET/IT)
Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen
MehrPraktikum Ingenieurinformatik. Termin 6. Mehrdimensionale Felder, Kurvendarstellung mit Excel
Praktikum Ingenieurinformatik Termin 6 Mehrdimensionale Felder, Kurvendarstellung mit Excel 1 Praktikum Ingenieurinformatik Termin 6 1. Mehrdimensionale Felder 2. Kurvendarstellung mit Excel 3. Zusatzaufgaben
MehrPraktikum Ingenieurinformatik. Termin 4. Funktionen, numerische Integration
Praktikum Ingenieurinformatik Termin 4 Funktionen, numerische Integration 1 Praktikum Ingenieurinformatik Termin 4 1. Funktionen. Numerische Integration, Trapezverfahren 1.1. Funktionen Eine Funktion ist
Mehr2. Grundlagen. Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten.
2. Grundlagen Beschreibung von Algorithmen durch Pseudocode. Korrektheit von Algorithmen durch Invarianten. Laufzeitverhalten beschreiben durch O-Notation. 1 Beispiel Minimum-Suche Eingabe bei Minimum
MehrDynamische Datentypen
Dynamische Datentypen Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel Tupel und Folgen o Wertebereich eines Structs / einer Klasse: T1 T2... Tk Werte sind k-tupel
MehrProgrammieren in C (Übungsblatt 1)
27.02.2018 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main(void) { printf("c-programmierung
Mehrint i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben
Datenfelder (Array) Seite 1 von 7 Bei den bisherigen Programmen wurde für jede verwendete Variable (oder für jedes Objekt) ein eigener Typ und Name vergeben. Die Initialisierung, d.h. die Belegung mit
MehrÜbungsstunde 11. Einführung in die Programmierung
Übungsstunde 11 Einführung in die Programmierung Probleme bei Übung 10 [TODO Assistent] Nachbesprechung Übung 11 Aufgabe 1: Linked List (Bonus!) Ergebnisse nach der Korrektur direkt per SVN Aufgabe 2:
MehrZusammenfassung des Handzettels für Programmieren in C
Zusammenfassung des Handzettels für Programmieren in C In der handschriftlichen Kopie werden mehr Abkürzungen verwendet. Alles Grün markierte dient zum lernen und wird nicht auf den Handzettel übertragen.
MehrNumerische Integration
A1 Numerische Integration Einführendes Beispiel In einem Raum mit der Umgebungstemperatur T u = 21.7 C befindet sich eine Tasse heissen Kaffees mit der anfänglichen Temperatur T 0 80 C. Wie kühlt sich
MehrDynamische Speicherverwaltung
Dynamische Speicherverwaltung 1/ 23 Dynamische Speicherverwaltung Tim Dobert 17.05.2013 Dynamische Speicherverwaltung 2/ 23 Gliederung 1 Allgemeines zur Speichernutzung 2 Ziele und Nutzen 3 Anwendung in
MehrÜbungsstunde: Informatik 1 D-MAVT
Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 25.04.2018 1 Ablauf Self-Assessment Pointer Iterators
MehrTeil 5: Felder, Zeiger, Zeigerarithmetik Gliederung
Teil 5: Felder, Zeiger, Zeigerarithmetik Gliederung Felder (Arrays) Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder Mehrdimensionale Felder Zeiger und Adressen Zeigerarithmetik Felder
MehrÜbungspaket 23 Mehrdimensionale Arrays
Übungspaket 23 Mehrdimensionale Arrays Übungsziele: Skript: Deklaration und Verwendung mehrdimensionaler Arrays Kapitel: 49 Semester: Wintersemester 2016/17 Betreuer: Kevin, Matthias, Thomas und Ralf Synopsis:
MehrÜbungen zu Softwareentwicklung 1, WS 2009/10 Übung 6
Übungen zu Softwareentwicklung 1, WS 2009/10 Übung 6 Name: Abzugeben bis: Mi, 2.12.2009 12:00 Matrikelnummer: Bearbeitungsdauer in Stunden: Nummer der Übungsgruppe: Name des Tutors: Name des Übungsleiters:
MehrProgramming 101. Carl Herrmann IPMB & DKFZ
Programming 101 Carl Herrmann IPMB & DKFZ Programmieren Kommandozeile Einfache Befehle Shell Skript aneinanderketten von Befehlen Schleifen Programmiersprache Komplexere Aufgaben Gemeinsamkeiten Alle Programmiersprachen
Mehr1.6 Programmstrukturen/Abweisende Schleife
1.6 Programmstrukturen/Abweisende Schleife 1.6.1 Schleife Die meisten Programmiersprachen haben Konstruktionen, die eine beliebige Wiederholung von Programmteilen ermöglichen. Diese Konstruktionen heißen
MehrFibonacci Zahlen Empirische Untersuchung der Aufrufe
Fibonacci Zahlen Empirische Untersuchung der Aufrufe Idee Um einen Überblick über die Rekursive Fibonacci Funktion zu erhalten könnte eine Untersuchung der Knotenpunkte Aufschluss über die Anzahl der Knoten
Mehr1. Anfangswertprobleme 1. Ordnung
1. Anfangswertprobleme 1. Ordnung 1.1 Grundlagen 1.2 Euler-Vorwärts-Verfahren 1.3 Runge-Kutta-Verfahren 1.4 Stabilität 1.5 Euler-Rückwärts-Verfahren 1.6 Differenzialgleichungssysteme 5.1-1 1.1 Grundlagen
MehrLesen Sie alle Aufgabenstellungen sorgfältig durch, bevor Sie mit der Bearbeitung der ersten Aufgabe beginnen.
INE1 Musteraufgaben für die Semesterendprüfung Hilfsmittel Vier Seiten selbst verfasste Zusammenfassung keine weiteren Hilfsmittel keine elektronischen Hilfsmittel Abgabe Füllen Sie das erste Aufgabenblatt
MehrVerschlüsseln eines Bildes. Visuelle Kryptographie. Verschlüsseln eines Bildes. Verschlüsseln eines Bildes
Verschlüsseln eines Bildes Visuelle Kryptographie Anwendung von Zufallszahlen Wir wollen ein Bild an Alice und Bob schicken, so dass Alice allein keine Information über das Bild bekommt Bob allein keine
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 2010/2011 Michael Koch, Wolfgang Heenes, Patrik Schmittat 5. Praktikum Ausgabe: 19.01.2011; Abgabe: 13.02.2011, 23:59 Uhr Abgabe der Programme: Die Abgabe der
MehrInformatik II. Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017
1 Informatik II Übung 6 Giuseppe Accaputo, Felix Friedrich, Patrick Gruntz, Tobias Klenze, Max Rossmannek, David Sidler, Thilo Weghorn FS 2017 Heutiges Programm 2 1 Klassen - Technisch 2 Prediscussion
MehrComputerphysik. Übungsblatt 13
Institut für Theoretische Physik der Universität zu Köln Computerphysik Übungsblatt 13 SS 2013 Prof. Dr. Simon Trebst Michael Becker, Peter Bröcker Website: http://www.thp.uni-koeln.de/trebst/lectures/2013-compphys.html
Mehr