Übung 01 Harmonischer Oszillator

Größe: px
Ab Seite anzeigen:

Download "Übung 01 Harmonischer Oszillator"

Transkript

1 Übung 01 Harmonischer Oszillator 1

2 1 Dokumentation des harmonischen Oszillator 1.1 Physikalischer Hintergrund Das vorliegende Programm löst die diskrete Bewegungsgleichung eines Teilchens in einem harmonischen Potential E pot = 1 rc r mit dem Reibungsfaktor α. 2 Die Berechnung der einzelnen Positionen und Energien des Teilchen geschieht iterativ. Dazu wird der Verlet-Algorithmus benutzt. Dieser Algorithmus wird zum Beispiel in der Molekulardynamikmethode angewandt, mit der man die Bewegung von Atomen in Molekulen und Materialien untersucht. Er zeichnet sich durch seine Einfachheit und Robustheit aus. Ausgehend von der Bewegungsgleichung m r = F ( r) α r (1.1) mit F ( r) = c r wird der sogenannte Zeitschritt eingeführt, der den zeitlichen Abstand der diskreten Punkte auf der zu berechnenden Bahnkurve der Teilchen bestimmt. Damit wird die Bewegungsgleichung diskretisiert. Das heißt, die Ableitungen des Ortes werden durch den entsprechenden Differenzenquotienten ersetzt. Daraus folgt: r r r(t + ) r(t ) 2 (1.2) r(t + ) 2 r(t) + r(t ) 2 (1.3) m [ r(t + ) 2 r(t) + r(t )] = F (r) α [ r(t + ) r(t )] (1.4) 2 2 Aufgelöst nach r(t + ) ergibt sich mit a := α 2m r(t + ) = r(t) 2 1 a r(t ) 1 + a 1 + a + F ( r(t)) 2 m a (1.5) 2

3 Als Anfangsbedingungen kennen wir r(0) und v(0). Benötigt wird aber r(t ), deshalb muss v(0) noch in r(t ) umgerechnet werden. Dazu wird die Formel (1.6) nach r(t+ ) aufgelöst und in die diskretisierte Bewegungsgleichung (1.1) eingesetzt. v(0) = r(t + ) r(t ) 2 Diese wird dann nach r(t ) aufgelöst und wir erhalten r(t ) als: (1.6) mit F ( r(0)) = c r(0). r(t ) = r(0) v(0) (1 + a) + 2 2m F ( r(0)) (1.7) Nun kann die Bewegung Schritt für Schritt iteriert werden. Die einzelnen Schritte bei der Iteration sind: 1. Berechne die Kräfte F ( r(t)) 2. Propagiere die Bahn r(t + ) 3. Verschiebe den Zeitschritt Die Daten werden dabei wie folgt umkopiert: r(t) r(t ) r(t + ) r(t) (1.8) Zu beachten ist, dass der Verlet-Algorithmus instabil wird bei einem zu großen Zeitschritt. Ist T die kürzeste Periode der Dynamik, dann muss der Zeitschritt die Bedingung <= 1 10 T erfüllen. 1.2 Beschreibung für den Benutzer Geschrieben ist das Programm in Fortran95. Die Eingabeparameter können mit Hilfe eines beliebigen Editors in der Datei in.dat modifiziert werden In der ersten Zeile stehen die Masse, der Reibungsfaktor α und die Konstante c, wobei c die Form einer Matrix hat. Die zweite Zeile der Datei in.dat enthält die Größe des Zeitschritts und die Anzahl der durchzuführenden Iterationen niter. In der dritten Zeile steht der Start-Orts-Vektor und in der vierten Zeile der Start-Geschwindigkeits- Vektor.

4 Zu beachten beim Einlesen der Matrix c ist, dass in Fortran Matrizen der Form M(Zeilen i,spalten j) zunächst die Spalten durchlaufen, im Gegensatz zu anderen Programmiersprachen wie C oder C++. Beispiel: Eine 3x3 Matrix wird folgendermaßen mit Werten belegt: 1 i n t e g e r ( 4 ) : : M( 3, 3 ) 2 M( :, : ) = ( / 1, 2, 3, 4, 5, 6, 7, 8, 9 / ) Dann sieht die initialisierte Matrix so aus: M = Die Ausgabe erfolgt in Form von zwei Dateien (Energies.dat und r.dat), die Energien und Ortskoordinaten beinhalten In jeder Zeile der Datei Energies.dat stehen: Aktueller Zeitpunkt(iter*dt), Gesamtenergie(etot), kinetische Energie(ekin) und potentielle Energie(epot). Die Visualisierung mit xmgrace ist in Bild (1.1) zu sehen. 2 1,5 1 0, Abbildung 1.1: Darstellung der Energien in Abhängigkeit von der Zeit. Die durchgezogene Linie entspricht der Gesamtenergie, die gestrichelte Linie der potentiellen Energie und die gepunktete der kinetischen Energie.

5 Die Datei r.dat enthält den aktuellen Zeitpunkt und den dazugehörigen Ortsvektor. Der Ortsvektor ist in Bild (1.2) zu sehen. 1 0,5 0-0, Abbildung 1.2: Darstellung des Ortsvektors in Abhängigkeit von der Zeit. 1.3 Beschreibung für den Programmierer Die folgende Beschreibung bezieht sich direkt auf die Syntax, die zum Programmieren mit Fortran verwendet wird. Zunächst wird hier das komplette Programm dargestellt und anschließend Zeile für Zeile erklärt. 1 program main 2 i m p l i c i t none 3 4!== D e f i n i t i o n d e r V a r i a b l e n ============================ 5 6 i n t e g e r ( 4 ), parameter : : n=3! Dimension d e r K o o r d i n a t e n 7 r e a l ( 8 ) : : r 0 ( n )! a k t u e l l e P o s i t i o n 8 r e a l ( 8 ) : : rm ( n )! v o r h e r i g e P o s i t i o n 9 r e a l ( 8 ) : : rp ( n )! n a e c h s t e P o s i t i o n 10 r e a l ( 8 ) : : v ( n )! G e s c h w i n d i g k e i t 11 r e a l ( 8 ) : : f ( n )! K r a f t 12 r e a l ( 8 ) : : c ( n, n )! K r a f t k o n s t a n t e n 13 r e a l ( 8 ) : : m! Masse 14 r e a l ( 8 ) : : dt! Z e i t s c h r i t t 15 r e a l ( 8 ) : : a l p h a! R e i b u n g s f a k t o r 16 r e a l ( 8 ) : : Etot! G e s a m t e n e r g i e 17 r e a l ( 8 ) : : Ekin! k i n e t i s c h e E n e r g i e 18 r e a l ( 8 ) : : Epot! p o t e n t i e l l e E n e r g i e 19 i n t e g e r ( 4 ) : : n i t e r! Anzahl d e r Z e i t s c h r i t t e 20 i n t e g e r ( 4 ) : : i t e r! I n d e x des Z e i t s c h r i t t s

6 21 r e a l ( 8 ) : : a! H i l f s v a r i a b l e 22 23! 24!== o e f f n e D a t e i e n f u e r Ein und Ausgabe ================ open ( u n i t =1000, f i l e = i n. dat, form = f o r m a t t e d ) 27 open ( u n i t =1001, f i l e = e n e r g i e s. dat, form = f o r m a t t e d ) 28 open ( u n i t =1002, f i l e = r. dat, form = f o r m a t t e d ) 29 30!== l e s e E i n g a b e d a t e n =================================== read ( , )m, alpha, c 33 read ( , ) dt, n i t e r 34 read ( , ) r 0 35 read ( , ) v 36 n i t e r =1000/ dt 37!== b e r e i t e Anfangsbedingungen v o r ====================== rm ( : )=r 0 ( : ) v ( : ) dt (1+a ) 0.5 d0/m matmul ( c ( :, : ), r 0 ( : ) ) dt !== Das i s t d i e S c h l e i f e u e b e r d i e Z e i t s c h r i t t e ========= do i t e r =1, n i t e r 44 45!== b e r e c h n e p o t e n t i e l l e E n e r g i e und K r a e f t e ========== c a l l c a l c e p o t ( n, c, r0, epot, f ) 48 49!== p r o p a g i e r e ======================================== a =0.5 d0 a l p h a dt /m 52 rp ( : )=r 0 ( : ) 2. d0/(1+a ) & 53 rm ( : ) (1 a ) /(1+a ) & 54 + f ( : ) dt 2/m/(1+a ) 55 56!== s c h r e i b e E n e r g i e und K o o r d i n a t e n ================== 57 v ( : ) =( rp ( : ) rm ( : ) ) / ( 2. d0 dt ) 58 e k i n =0.5 d0 m d o t p r o d u c t ( v, v ) 59 e t o t=e k i n+epot 60 w r i t e (, fmt = ( i t e r, i10, e t o t, e10. 5, e k i n & 61 &, e10. 5, epot, e10. 5 ) ) i t e r, e t o t, e k i n, epot 62 w r i t e ( , ) r e a l ( i t e r, k i n d =8) dt, e t o t, e k i n, epot 63 w r i t e ( , ) r e a l ( i t e r, k i n d =8) dt, r 0 ( : ) 64 65!== V e r t a u s c h e K o o r d i n a t e n f u e r n a e c h s t e n Z e i t s c h r i t t = rm ( : )=r 0 ( : ) 68 r 0 ( : )=rp ( : ) 69 end do 70 71!== nun s c h l i e s s e d i e D a t e i e n =========================== c l o s e (1000) 74 c l o s e (1001) 75 c l o s e (1002) 76 stop 77 end program main 78 79! s u b r o u t i n e c a l c e p o t ( n, c, r0, epot, f ) 82 i m p l i c i t none 83 i n t e g e r ( 4 ), i n t e n t ( i n ) : : n 84 r e a l ( 8 ), i n t e n t ( i n ) : : c ( n, n ) 85 r e a l ( 8 ), i n t e n t ( i n ) : : r ( n ) 86 r e a l ( 8 ), i n t e n t ( out ) : : epot

7 87 r e a l ( 8 ), i n t e n t ( out ) : : f ( n ) 88 89! epot =0.5 d0 d o t p r o d u c t ( r, matmul ( c ( :, : ), r 0 ( : ) ) ) 92 f ( : )= matmul ( c ( :, : ), r 0 ( : ) ) 93 r e t u r n 94 end s u b r o u t i n e c a l c e p o t Erklärung der einzelnen Programmabschnitte 30!== l e s e E i n g a b e d a t e n =================================== Kommentare im Code beginnen mit einem Ausrufezeichen. Nachfolgender Text in der selben Zeile wird vom Compiler nicht interpretiert. 1 program main 77 end program main Jedes Programm muss mit einem Programmnamen beginnen (hier: main) und kann auch damit beendet werden. Ansonsten steht am Ende nur ein END ohne Namen. Mit Ausnahme von Unterprogrammen befindet sich der komplette Code zwischen diesen Zeilen. 4!== D e f i n i t i o n d e r V a r i a b l e n ============================ 5 6 i n t e g e r ( 4 ), parameter : : n=3! Dimension d e r K o o r d i n a t e n 7 r e a l ( 8 ) : : r 0 ( n )! a k t u e l l e P o s i t i o n 8 r e a l ( 8 ) : : rm ( n )! v o r h e r i g e P o s i t i o n 9 r e a l ( 8 ) : : rp ( n )! n a e c h s t e P o s i t i o n 10 r e a l ( 8 ) : : v ( n )! G e s c h w i n d i g k e i t 11 r e a l ( 8 ) : : f ( n )! K r a f t 12 r e a l ( 8 ) : : c ( n, n )! K r a f t k o n s t a n t e n 13 r e a l ( 8 ) : : m! Masse 14 r e a l ( 8 ) : : dt! Z e i t s c h r i t t 15 r e a l ( 8 ) : : a l p h a! R e i b u n g s f a k t o r 16 r e a l ( 8 ) : : Etot! G e s a m t e n e r g i e 17 r e a l ( 8 ) : : Ekin! k i n e t i s c h e E n e r g i e 18 r e a l ( 8 ) : : Epot! p o t e n t i e l l e E n e r g i e 19 i n t e g e r ( 4 ) : : n i t e r! Anzahl d e r Z e i t s c h r i t t e 20 i n t e g e r ( 4 ) : : i t e r! I n d e x des Z e i t s c h r i t t s 21 r e a l ( 8 ) : : a! H i l f s v a r i a b l e Variablen müssen in Fortran nicht deklariert werden; es ist aber zweckmäßig, um Fehler zu vermeiden. Zunächst wird die Art der Variable angegeben (integer, real). Die Zahl in den Klammern entspricht dem Typ dieser Variablen. Ein INTEGER(1) entspricht einer Zahl von 128 bis Ein INTEGER(2) einer Zahl von bis und ein INTEGER(3 oder 4) einer Zahl von bis Das entspricht einer 32-Bit-Ganzzahl. Der Datentyp REAL(8) entspricht einer 64-Bit-Gleitkommazahl von bis Es gibt noch folgende

8 weitere integrierte Datentypen: CHARACTER für eine Zeichenfolge, COMPLEX bestehend aus zwei REAL für complexe Zahlen und LOGICAL für logische Werte wie TRUE und FALSE. 2 i m p l i c i t none Diese Anweisung bewirkt, dass der Typ der Variablen unabhängig vom Namen ist. Gegenbeispiel: 1 IMPLICIT COMPLEX ( r ) 2 REAL( 4 ) : : rm In diesem Fall sind alle Variablen, die mit einem r anfangen vom Typ COMPLEX mit Ausnahme der Variablen rm. Bei einem übersichtlichen Programmierstil wird immer IMPLICIT NONE verwendet. Auch werden alle Variablen vor der Benutzung deklariert. Der Begriff Parameter wird verwendet um eine Konstante zu erzeugen. Diese muss sofort mit einem Wert belegt werden. Der Wert dieser Variablen kann im weiteren Programm nicht mehr verändert werden. Der Compiler übersetzt diese Variable gleich mit dem zugewiesenen Wert. Im Binärcode des ausführbaren Programms steht statt dieser Variablen dann direkt der Wert. Steht hinter dem Variablennamen eine Klammer mit einer Zahl, enspricht diese Variable einem Vektor. Sind es zwei Zahlen wie bei der Variablen c(n,n), hat diese Variable die Form einer Matrix. Es sind beliebige Kombinationen möglich. Beispiel: T(a,b,c,d) mit a=4, b=5, c=2, d=8 ist ein vierdimensionaler Tensor. Dieser hat 4 Felder, die jeweils 5 Feldern enthalten, mit jeweils 2 Feldern, die jeweils 8 Felder beinhalten. 24!== o e f f n e D a t e i e n f u e r Ein und Ausgabe ================ open ( u n i t =1000, f i l e = i n. dat, form = f o r m a t t e d ) 27 open ( u n i t =1001, f i l e = e n e r g i e s. dat, form = f o r m a t t e d ) 28 open ( u n i t =1002, f i l e = r. dat, form = f o r m a t t e d ) Der Befehl open öffnet eine Datei zum Lesen und Schreiben. Ist keine Datei dieses Names vorhanden, wird eine erzeugt. Jeder Datei (file= Dateiname ) wird über unit eine Zahl zugeordnet, über die die Lese- und Schreibanweisungen ausgeführt werden. Der Parameter form= Format gibt das Format an, in dem die Daten in der Datei geschrieben sind bzw. geschrieben werden. In diesem Fall bedeutet formatted, dass der Inhalt in der Datei lesbar ist im Gegensatz zu unformatted, bei dem der Inhalt der Datei in Maschinencode geschrieben ist. 30!== l e s e E i n g a b e d a t e n =================================== read ( , )m, alpha, c 33 read ( , ) dt, n i t e r 34 read ( , ) r 0 35 read ( , ) v

9 Der Befehl read liest alle Daten einer Zeile der Datei (1000) im freien Format (*) in die angegebenen Variablen ein. Dabei stehen die einzulesenden Werte hintereinander und sind duch Leerzeichen voneinander getrennt. Beim nächsten read-befehl werden die Daten von der nächsten Zeile gelesen. Die Daten können auch alle in einer Zeile stehen. Die vorliegende Darstellung ist jedoch übersichtlicher. 37!== b e r e i t e Anfangsbedingungen v o r ====================== rm ( : )=r 0 ( : ) v ( : ) dt (1+a ) 0.5 d0/m matmul ( c ( :, : ), r 0 ( : ) ) dt 2 Der erste Wert wird berechnet.die hier angegebene Formel wird in der Mathematik folgendermaßen geschrieben: r m = r 0 v (1 + a) 1 2m c r 0 2 (1.9) Der Doppelpunkt bei einer Variablen in Vektor- oder Matrixform bewirkt, dass alle Zahlen der Variable in die Berechnung einfließen. Um z.b. nur die 1. Komponente anzusprechen, würde man statt v(:) v(1) schreiben. Statt einer Berechnung in Vektoren bewirkt der Doppelpunkt aber, dass die Vektoren elementweise berechnet werden. Bei [a(:)+b(:)] gibt es keinen Unterschied. Bei der Multiplikation von zwei Vektoren [a(:) b(:)] sieht die Sache aber ganz anders aus. Hier wird jeweils die Komponente von a und b miteinander multipliziert, was nicht das mathematische Skalarprodukt ist. Deshalb gibt es für das Skalarprodukt in Fortran die Funktion dot produkt(a,b). Eine weitere mathematische Funktion in Fortran führt eine Matrizenmultiplikation durch, matmul(a,b). Die Zahl 0.5d0 entspricht dem Wert 0.5 mit doppelter Genauigkeit. Diese Genauigkeit passt zu der Variablendeklaration REAL(8). 43 do i t e r =1, n i t e r 69 end do Mit dieser Anweisung wird eine Wiederholungsschleife erzeugt. Die Anweisungen zwischen diesen beiden Zeilen werden einmal durchgeführt und anschließend wird verglichen, ob die Variable iter den Wert von niter erreicht hat. Wenn nicht, wird iter um eins erhöht und die Schleife startet von vorn. Für iter=1 und niter=1 wird die Schleife genau einmal durchlaufen. Für niter=100 entsprechend 100 mal. 45!== b e r e c h n e p o t e n t i e l l e E n e r g i e und K r a e f t e ========== c a l l c a l c e p o t ( n, c, r0, epot, f ) Mit diesem Befehl wird ein Unterprogramm aufgerufen. Dabei werden die Werte der Variablen n,c,r0,epot und f zwischen dem Haupt- und dem Unterprogramm übergeben. Genau genommen wird jeweils nur ein Zeiger auf den Begin der Speicheradresse der Variable übergeben. Deshalb darf die Definition von Variablen im Unterprogramm nie

10 eine größere Bitlänge haben als im Hauptprogramm. Der Fachbegriff dafür heißt Call by Reference. 81 s u b r o u t i n e c a l c e p o t ( n, c, r0, epot, f ) 82 i m p l i c i t none 83 i n t e g e r ( 4 ), i n t e n t ( i n ) : : n 84 r e a l ( 8 ), i n t e n t ( i n ) : : c ( n, n ) 85 r e a l ( 8 ), i n t e n t ( i n ) : : r ( n ) 86 r e a l ( 8 ), i n t e n t ( out ) : : epot 87 r e a l ( 8 ), i n t e n t ( out ) : : f ( n ) 88 89! epot =0.5 d0 d o t p r o d u c t ( r, matmul ( c ( :, : ), r 0 ( : ) ) ) 92 f ( : )= matmul ( c ( :, : ), r 0 ( : ) ) 93 r e t u r n 94 end s u b r o u t i n e c a l c e p o t Ein Unterprogramm funktioniert genauso wie ein normales Programm. Das Hauptprogramm kann die Werte von Variablen beim Aufruf des Unterprogramms an das Unterprogramm weitergeben. Die mit intent(in) definierten Variablen werden mit diesen Werten belegt. Umgekehrt kann das Unterprogramm nach einer Berechnung Werte von anderen Variablen wieder an das Hauptprogramm zurückgeben. Diese Variablen sind mir intent(out) definiert. Es gibt auch den Parameter intent(inout). Er sollte aber vermieden werden. Zusätzlich gehört noch eine return Anweisung in das Unterprogramm, damit anschließend wieder in das Hauptprogramm zurückgesprungen wird. 49!== p r o p a g i e r e ======================================== a =0.5 d0 a l p h a dt /m 52 rp ( : )=r 0 ( : ) 2. d0/(1+a ) & 53 rm ( : ) (1 a ) /(1+a ) & 54 + f ( : ) dt 2/m/(1+a ) 55 56!== s c h r e i b e E n e r g i e und K o o r d i n a t e n ================== 57 v ( : ) =( rp ( : ) rm ( : ) ) / ( 2. d0 dt ) 58 e k i n =0.5 d0 m d o t p r o d u c t ( v, v ) 59 e t o t=e k i n+epot Ist eine Anweisung zu lang für eine Zeile oder unübersichtlich, kann sie mit dem UND- Zeichen & unterbrochen und in der nächsten Zeile fortgesetzt werden. Die angegebenen Formeln stellen sich in mathematischer Schreibweise folgendermaßen dar: a = 1 2 α m 2 r p = r a r 1 a m 1 + a + F 2 m(1 + a) v = r p r m 2 (1.10) (1.11) (1.12) E kin = 1 m ( v v) 2 (1.13) E tot = E kin + E pot (1.14)

11 60 w r i t e (, fmt = ( i t e r, i10, e t o t, e10. 5, e k i n & 61 &, e10. 5, epot, e10. 5 ) ) i t e r, e t o t, e k i n, epot Mit dem write Befehl können Inhalte von Variablen ausgegeben werden. In diesem Fall erfolgt die Ausgabe durch das * auf dem Standart Ausgabegerät, dem Monitor. Die fmt-anweisung gibt das Format der Ausgabe an. Die Zeichen zwischen den Anführungsstrichen werden direkt ausgegeben. Die anderen Anweisungen bezeichnen die Formate, in denen die Werte der Variablen dargestellt werden: i10 : Ein Integer, für den 10 Zeichen reserviert werden e10.5 : Eine Zahl in wissenschaftlicher Schreibweise. Zehn Zeichen werden reserviert, davon sind fünf Nachkommastellen. 3i10 : Bsp: Drei Integer mit jeweils 10 reservierten Zeichen. 62 w r i t e ( , ) r e a l ( i t e r, k i n d =8) dt, e t o t, e k i n, epot 63 w r i t e ( , ) r e a l ( i t e r, k i n d =8) dt, r 0 ( : ) Diese Anweisung ist ähnlich der vorherigen. Die Werte der Variablen werden jedoch nicht auf den Bildschirm geschrieben, sondern in die angegebene Datei (1001 und 1002). Der erste Wert ist eigentlich keine Variable sondern ein Ausdruck. Die Variable iter wird zunächst von Integer(4) in Real(8) umgewandelt und dann mit dt multipliziert. Das Ergebnis wird ausgegeben. 71!== nun s c h l i e s s e d i e D a t e i e n =========================== c l o s e (1000) 74 c l o s e (1001) 75 c l o s e (1002) 76 stop Der close Befehl ist das Gegenstück zum open Befehl. Er schließt die geöffneten Dateien wieder. Der Befehl stop beendet das Programm sofort unabhängig von noch nicht beendeten Schleifen, geöffneten Dateien oder Ähnlichem. Zusammenfassung Es werden kurz die wesentlichen Programmteile vorgestellt. Schlüsselwörter sind groß geschrieben. Text in eckigen Klammern ist optional. 1 PROGRAM Name 2 END [PROGRAM Name ] Kopf- und Fußdeklaration eines Programms. Zwischen dieses Zeilen befindet sich der Quellcode mit Ausnahme von Unterprogrammen. 1!== D e f i n i t i o n d e r V a r i a b l e n ============================

12 Kommentare beginnen mit einem Ausrufezeichen. Nachfolgender Text der gleichen Zeile wird nicht interpretiert. 1 INTEGER( 4 ),PARAMETER : : n=3! Kommentar 2 INTEGER( 4 ) : : i t e r! I n d e x des Z e i t s c h r i t t s 3 REAL( 8 ) : : f ( n )! K r a f t 4 REAL( 8 ) : : c ( n, n )! K r a f t k o n s t a n t e n Variablen und Konstanten können vom Typ INTEGER, REAL, COMPLEX, CHA- RACTER und LOGICAL sein. Im Beispiel ist n eine Ganzzahlkonstante, iter eine Ganzzahl, f(n) ein Vektor aus Gleitkommazahlen und c(n,n) eine Matrix aus Gleitkommazahlen. 1 OPEN( u n i t =1000, f i l e = i n. dat, form = f o r m a t t e d ) 2 CLOSE( 1000) Öffnet und schließt Dateien. 1 READ( , )m, alpha, c 2 WRITE(, fmt = ( i t e r, i10, e t o t, e10. 5, e k i n & 3 &, e10. 5, epot, e10. 5 ) ) i t e r, e t o t, e k i n, epot Liest Daten aus einer Datei ein und schreibt Daten in einem bestimmten Format in eine andere Datei. 1 DO i =1,n 2 [ Anweisungen ] 3 END DO Führt die Anweisungen n-mal hintereinander durch. 1 SUBROUTINE Unterprogramm ( parameter1, parameter2,... ) 2 [ Code ] 3 END Unterprogramm Erstellt ein benutzerdefiniertes Unterprogramm mit Parametern, die an das Unterprogramm übergeben werden. 1 CALL Unterprogramm ( parameter1, parameter2,... ) Ruft ein Unterprogramm mit Parametern auf. 1.4 Aufgaben 1. Verstehen Sie das Programm. 2. Variieren Sie die Eingabewerte und beobachten Sie die unterschiedlichen Ausgaben.

Übung 04 Mehrkörper Keplerproblem

Übung 04 Mehrkörper Keplerproblem Übung 04 Mehrkörper Keplerproblem 1 1 Lösung 1.1 Skizzieren des Algorithmus Aufgabe 1 1. Erstellen Sie skizzenhaft eine Möglichkeit der Berechnung aller Kräfte einer beliebigen Anzahl von Himmelskörpern.

Mehr

Grundlagen der Fortran Sprache

Grundlagen der Fortran Sprache Kapitel 1 Grundlagen der Fortran Sprache Programmieren bezeichnet das Verfahren, in einer bestimmten Sprache (Syntax) Anweisungen (sog. Quellcode) für den Computer zu schreiben. Dieser Programmcode wird

Mehr

PROGRAMMIERKURS FORTRAN

PROGRAMMIERKURS FORTRAN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert,

Mehr

1.3 Handhabung eines Programmiersystems

1.3 Handhabung eines Programmiersystems 1.3 Handhabung eines Programmiersystems Der Turbo-Pascal-Editor Man muss nichts vom Innenleben eines Computers verstehen, um mit ihm umgehen zu können. Wir wollen ihn als "black box" verwenden, also lediglich

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München MANUEL KALLWEIT & FABIAN KINDERMANN Literaturempfehlung: Vorlesungsskript von Heidrun Kolinsky zu FORTRAN 90/95: http://www.rz.uni-bayreuth.de/lehre/fortran90/vorlesung/index.html Schmitt, Günter (1996):

Mehr

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München

FORTRAN77. eine höllische Programmiersprache. Christian Sternecker. Sommersemester TU-München FORTRAN77 eine höllische Programmiersprache Christian Sternecker TU-München Sommersemester 2010 Aufbau des Vortrags Geschichte Merkmale Höllische Konzepte Typsicherheit Programmstruktur Speicherverwaltung

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen

2 Eine einfache Programmiersprache. Variablen. Operationen Zuweisung. Variablen Variablen Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Variablen dienen zur Speicherung von Daten. Um Variablen

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 26 Einstieg in die Informatik mit Java Methoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 26 1 Methoden 2 Methodendefinition 3 Parameterübergabe, Methodenaufruf

Mehr

ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster

ATIK ORMAT SINFO HAFTS WIRT. Swetlana Konovalov Seminar Programmiersprachen Westfälische Wilhelms-Universität Münster Westfälische Wilhelms-Universität Münster WIRTSCHAFTS ATIK ORMAT SINFO TSCH HAFTS WIRT FORTRAN Swetlana Konovalov Seminar Programmiersprachen 04.06.200906 Inhalt Einführung Historische Entwicklung Charakteristika

Mehr

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. 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

Mehr

Programmentwicklung. 4. allgemein (modularer Aufbau, Unterprogramme universell einsetzbar)

Programmentwicklung. 4. allgemein (modularer Aufbau, Unterprogramme universell einsetzbar) Programmentwicklung Ziele: 1. effizient (wenig Rechenzeit und Kernspeicher) 2. lesbar (Kommentare, sinnvolle Namen) 3. transportabel (Standard FORTRAN, rechnerunabhängig) 4. allgemein (modularer Aufbau,

Mehr

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom

Methoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon

Mehr

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services

C# - Einführung in die Programmiersprache Methoden. Leibniz Universität IT Services C# - Einführung in die Programmiersprache Methoden Leibniz Universität IT Services 02.07.12 Methoden... sind Subroutinen in einer Klasse. können einen Wert an den Aufrufer zurückgeben. verändern die Eigenschaften

Mehr

WiMa-Praktikum 1. Woche 8

WiMa-Praktikum 1. Woche 8 WiMa-Praktikum 1 Universität Ulm, Sommersemester 2017 Woche 8 Lernziele In diesem Praktikum sollen Sie üben und lernen: Besonderheiten der For-Schleife in Matlab Wiederholung des Umgangs mit Matrizen und

Mehr

Einleitung Grundlagen Erweiterte Grundlagen Zusammenfassung Literatur. C: Funktionen. Philip Gawehn

Einleitung 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

Mehr

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung

FACHHOCHSCHULE AUGSBURG Hochschule für Technik, Wirtschaft und Gestaltung C Sprachelemente für Übung 2 Typumwandlungen (type casts) Bei Ausdrücken, in denen Operanden mit unterschiedlichem Typ vorkommen, werden diese vom Compiler vor der Ausführung automatisch in einen gemeinsamen

Mehr

2 Eine einfache Programmiersprache

2 Eine einfache Programmiersprache 2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir

Mehr

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 Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Agenda Elementare Einführung C Programm Syntax Datentypen, Variablen und Konstanten Operatoren und Ausdrücke Kontrollstrukturen

Mehr

Java: Eine kurze Einführung an Beispielen

Java: Eine kurze Einführung an Beispielen Java: Eine kurze Einführung an Beispielen Quellcode, javac und die JVM Der Quellcode eines einfachen Java-Programms besteht aus einer Datei mit dem Suffix.java. In einer solchen Datei wird eine Klasse

Mehr

Kapitel 2. Einfache Beispielprogramme

Kapitel 2. Einfache Beispielprogramme Kapitel 2 Einfache Beispielprogramme 2.1 Ausgabe auf dem Bildschirm 2.2 Lokale Variablen, Ausdrücke und Schleifen 2.3 Zahlen von der Tastatur einlesen 2.4 Formatierung bei der Ausgabe 2.5 Zusammenfassung

Mehr

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen

4.2 Gleitkommazahlen. Der Speicherbedarf (in Bits) ist üblicherweise. In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen . Gleitkommazahlen In vielen Anwendungen benötigt man gebrochene Werte. Physikalische Größen Umrechnen von Einheiten und Währungen Jede Zahl x Q mit x 0 lässt sich folgendermaßen schreiben: x = s m e mit

Mehr

Programmiersprachen Einführung in C

Programmiersprachen Einführung in C Programmiersprachen Einführung in C Teil 2: Prof. Dr. Unser erstes C-Programm int main (int argc, char *argv[]) int i; int sum = 0; for (i = 0; i

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1 Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 1 SS 2016

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden

Mehr

Umsetzung einer Klassenkarte in einer Programmiersprache

Umsetzung einer Klassenkarte in einer Programmiersprache Klassen in Java Umsetzung einer Klassenkarte in einer Programmiersprache Objektorientierte Programme bestehen (nur) aus Klassendefinitionen In Klassendefinitionen wird die Struktur der Objekte festgelegt,

Mehr

Der Aufbau einer Quelltext-Datei. Anweisungen. - Header /Kopfzeile...program main

Der Aufbau einer Quelltext-Datei. Anweisungen. - Header /Kopfzeile...program main Der Aufbau einer Quelltext-Datei - Header /Kopfzeile...program main - Anweisungen: Deklarationen... implicit none ausführbare A.... write(*,*) hallo - Ende...end program main Anweisungen - nicht ausführbare

Mehr

2. Programmierung in C

2. 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)

Mehr

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Funktionen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Funktionen Leibniz Universität IT Services Anja Aue Subroutine (Unterprogramm) Lösung von Teilen einer Gesamtaufgabe. Kapselung von Anweisungen, die zu einer

Mehr

GI Vektoren

GI 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

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Zusammenfassung Was ist eine Programmiersprache? Eine Sprache, die Formal eindeutig in Maschinenbefehle übersetzbar ist Für Menschen einfacher verständlich ist als Bytecode Zur Formulierung von Datenstrukturen

Mehr

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3

Arrays. Theorieteil. Inhaltsverzeichnis. Begriffe. Programmieren mit Java Modul 3. 1 Modulübersicht 3 Programmieren mit Java Modul 3 Arrays Theorieteil Inhaltsverzeichnis 1 Modulübersicht 3 2 Eindimensionale Arrays 3 2.1 Arrays deklarieren.............................. 3 2.2 Arrays erzeugen................................

Mehr

Einführung in die Programmierung mit VBA

Einfü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

Mehr

Programmiervorkurs für die Numerik Teil 2/4

Programmiervorkurs für die Numerik Teil 2/4 line 1 1 0.8 0.6 0.4 0.2 0-0.2-0.4 Programmiervorkurs für die Numerik Teil 2/4 Christian Power Mathematisches Institut Universität Tübingen -8-6 -4-2 0 05.10.2016 2 4 6 8-8 -6-4 -2 0 2 4 6 8 Wiederholung

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil

Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++, 1. Teil MÜNSTER Übung zur Vorlesung Wissenschaftliches Rechnen Sommersemester 2012 Auffrischung zur Programmierung in C++ 1. Teil 11. April 2012 Organisatorisches MÜNSTER Übung zur Vorlesung Wissenschaftliches

Mehr

Projekt 3 Variablen und Operatoren

Projekt 3 Variablen und Operatoren Projekt 3 Variablen und Operatoren Praktisch jedes Programm verarbeitet Daten. Um mit Daten programmieren zu können, muss es Möglichkeiten geben, die Daten in einem Programm zu verwalten und zu manipulieren.

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen

C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen C# - Einführung in die Programmiersprache Bedingte Anweisungen und Schleifen Gehe nach links oder rechts Gehe solange geradeaus... Leibniz Universität IT Services Anja Aue Programmabläufe grafisch abbilden

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Mithilfe von Funktionen kann man denselben Code von mehreren Stellen des Programms aus aufrufen.

Mehr

Javakurs für Anfänger

Javakurs für Anfänger Javakurs für Anfänger Einheit 06: Einführung in Kontrollstrukturen Lorenz Schauer Lehrstuhl für Mobile und Verteilte Systeme Heutige Agenda 1. Teil: Einführung in Kontrollstrukturen 3 Grundstrukturen von

Mehr

Funktionen in JavaScript

Funktionen in JavaScript Funktionen in JavaScript Eine Funktion enthält gebündelten Code, der sich in dieser Form wiederverwenden lässt. Es können ganze Programmteile aufgenommen werden. Mithilfe von Funktionen kann man denselben

Mehr

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1

Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Beuth Hochschule Parameter-Übergabe-Mechanismen WS17/18, S. 1 Parameter-Übergabe-Mechanismen in Java und in anderen Sprachen. 1. Methoden vereinbaren mit Parametern Wenn man (z.b. in Java) eine Methode

Mehr

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen

Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen Das diesem Dokument zugrundeliegende Vorhaben wurde mit Mitteln des Bundesministeriums für Bildung und Forschung unter dem Förderkennzeichen 16OH21005 gefördert. Die Verantwortung für den Inhalt dieser

Mehr

Wertebereich und Genauigkeit der Zahlendarstellung

Wertebereich und Genauigkeit der Zahlendarstellung Wertebereich und Genauigkeit der Zahlendarstellung Sowohl F als auch C kennen bei ganzen und Floating Point-Zahlen Datentypen verschiedener Genauigkeit. Bei ganzen Zahlen, die stets exakt dargestellt werden

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 34 Einstieg in die Informatik mit Java Klassen mit Instanzmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 34 1 Definition von Klassen 2 Methoden 3 Methoden

Mehr

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren

C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren C++ - Objektorientierte Programmierung Konstruktoren und Destruktoren hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja Aue

Mehr

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner.

Objekte werden eindeutig beschrieben durch ihren Typ und einen beliebig wählbaren Bezeichner. Grundlegende Deklarationen Seite 1 von 6 Jedes Programm benötigt Objekte. Ein Objekt ist ein reservierter Bereich im Systemspeicher in welchem Informationen abgelegt werden. Informationen sind z.b. Zahlen,

Mehr

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 Programmieren in C Eine Einführung in die Programmiersprache C Prof. Dr. Nikolaus Wulff Textausgabe per printf Die Funktion printf ist kein Bestandteil der C Sprache sondern gehört zur C Bibliothek. printf

Mehr

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2

Modul 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

Mehr

Felder (1) Allgemeines

Felder (1) Allgemeines Felder (1) Allgemeines Gleichartige Daten, wie Tabelle von Zahlen, Datumswerten, Namen etc. Felder (engl. Array) stellen einen Verbundtyp dar, in dem mehrere Daten desselben Typs gespeichert werden Oft

Mehr

JAVA-Datentypen und deren Wertebereich

JAVA-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).

Mehr

8. Arbeiten mit Dateien

8. Arbeiten mit Dateien 8. Arbeiten mit Dateien www.c-programme.de Stefan Thiemert Kapitel 8 - Seite 1 von 6 8. 1. Allgemeines Bisher haben wir Daten, die wir in unseren Programmen erzeugt und verarbeitet haben, nur über den

Mehr

2.2 Einfache Datenstrukturen

2.2 Einfache Datenstrukturen 2.2 Einfache Datenstrukturen Konstante und Variable Die Begriffe "Konstante" und "Variable" haben zunächst auch in der Informatik dieselbe grundsätzliche Bedeutung wie in der übrigen Mathematik. Variablen

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online

Organisatorisches. Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Organisatorisches Folien (u.a.) auf der Lva-Homepage Skriptum über MU Online Nächste Woche VO und UE am Dienstag, den 30.10.! UE im CR IL/IT Wissensüberprüfung am Zettel 25.10.2018 IT I - VO 3 1 Organisatorisches

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 17 Einstieg in die Informatik mit Java Methoden und Felder Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick 2 Felder als Parameter bei Methoden 3 Feld

Mehr

Programmieren in Fortran

Programmieren in Fortran Programmieren in Fortran Burkhard Bunk 6.3.2013 1 Fortran Fortran ist die älteste höhere Programmiersprache für numerische Anwendungen: die erste Version entstand 1954 bei IBM. Schon frühzeitig wurde ein

Mehr

Erste Java-Programme (Scopes und Rekursion)

Erste Java-Programme (Scopes und Rekursion) Lehrstuhl Bioinformatik Konstantin Pelz Erste Java-Programme (Scopes und Rekursion) Tutorium Bioinformatik (WS 18/19) Konstantin: Konstantin.pelz@campus.lmu.de Homepage: https://bioinformatik-muenchen.com/studium/propaedeutikumprogrammierung-in-der-bioinformatik/

Mehr

Praxis der Programmierung

Praxis der Programmierung Arrays, Pointer, Parameterbergabe Institut für Informatik und Computational Science Henning Bordihn Einige Folien gehen auf A. Terzibaschian zurück. 1 Arrays (Felder/Vectoren) 2 Arrays: Motivation Gegeben:

Mehr

Grundlagen von C# - 1

Grundlagen von C# - 1 Grundlagen von C# - 1 Marc Satkowski 20. November 2016 C# Kurs Gliederung 1. Über diesen Kurs 2. Benötigte Software 3. Exkurs: Architektur von.net und C# 4. Erstes Programm: Hello World Grundlegende Eigenschaften

Mehr

Übungen zur Vorlesung Wissenschaftliches Rechnen I

Übungen zur Vorlesung Wissenschaftliches Rechnen I Übungen zur Vorlesung Wissenschaftliches Rechnen I Nicolas Gauger, René Lamour, Hella Rabus Wintersemester 2007/2008 Programmierung - Einführung Programmierung - Einführung Berechnung einer Formel y =

Mehr

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!! Erste Zeile eines PERL-Scripts: #! /usr/bin/perl Variablen in PERL: Normale Variablen beginnen mit einem $-Zeichen Array-Variablen beginnen mit

Mehr

Um mit dem Computer über ein Programm in Kontakt treten zu können braucht man sogenannte Ein- und Ausgabebefehle.

Um mit dem Computer über ein Programm in Kontakt treten zu können braucht man sogenannte Ein- und Ausgabebefehle. TURBO-PASCAL Programmaufbau Jedes Pascal-Programm hat eine ganz bestimmte Struktur. Außerdem hat jeder Teil des Programms eine ähnliche Struktur. Man teilt ein Pascal-Programm in drei Abschnitte ein: 1.

Mehr

Übersicht Shell-Scripten

Übersicht Shell-Scripten !!!! Wichtig: Bei Shell-Scripten enden die Zeilen nicht mit einem Strichpunkt!!!! Erste Zeile eines Shell-Scripts: #! /bin/bash Variablen in Shell-Scripts: Variablennamen müssen mit einem Buchstaben beginnen,

Mehr

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Klaus Schliep. 16. Februar 2004

Klaus Schliep. 16. Februar 2004 Einführung in R Klaus Schliep 16. Februar 2004 Allgemeines R besteht ausschließlich aus Objekten. Die meisten Objekte sind entweder Daten oder Funktionen. Alle Funktionen werden mit runden Klammern geschrieben,

Mehr

Tag 4 Repetitorium Informatik (Java)

Tag 4 Repetitorium Informatik (Java) Tag 4 Repetitorium Informatik (Java) Dozent: Michael Baer Lehrstuhl für Informatik 2 (Programmiersysteme) Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester 2017/2018 Übersicht Arrays (Reihungen)

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java 1 / 41 Einstieg in die Informatik mit Java Weitere Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 41 1 Überblick 2 Verbundanweisung 3 Bedingte Anweisung 4 Auswahlanweisung

Mehr

C++ - Objektorientierte Programmierung Konstante und statische Elemente

C++ - Objektorientierte Programmierung Konstante und statische Elemente C++ - Objektorientierte Programmierung Konstante und statische Elemente hat eine Kantenlänge hat eine Füllfarbe Kantenlänge setzen Füllfarbe lesen Volumen berechnen Leibniz Universität IT Services Anja

Mehr

Klassenvariablen, Klassenmethoden

Klassenvariablen, Klassenmethoden Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden

Mehr

6. Zeiger Allgemeines Definition eines Zeigers

6. Zeiger Allgemeines Definition eines Zeigers 6. Zeiger www.c-programme.de Stefan Thiemert Kapitel 6 - Seite 1 von 6 6. 1. Allgemeines Zeiger spielen in der Programmierung eine wichtige Rolle. Sie sind wichtig, bei der Arbeit mit Arrays und Funktionen.

Mehr

4.4 Imperative Algorithmen Verzweigung und Iteration

4.4 Imperative Algorithmen Verzweigung und Iteration Eine weitere bedingte Schleife kann in Java mit dem Schlüsselwort for definiert werden: for (; i ; ) Alle drei Bestandteile im Schleifenkopf sind Ausdrücke

Mehr

Compiler Aufruf. Fortran 95 unter UNIX (z.b. Linux): Der Programmtext stehe in den Dateien (files):

Compiler Aufruf. Fortran 95 unter UNIX (z.b. Linux): Der Programmtext stehe in den Dateien (files): L3 Fortran 95 - Compiler Compiler Aufruf Fortran 95 unter UNIX (z.b. Linux): Der Programmtext stehe in den Dateien (files): meinfixed.f MeinFree.f90 (MeinFree.f95) Die Endung.f steht für das veraltete

Mehr

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr. Seite 1 von 9 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue

C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen. Leibniz Universität IT Services Anja Aue C++ - Einführung in die Programmiersprache Zeiger, Referenzen und Strukturen Leibniz Universität IT Services Anja Aue Zeiger (Pointer) Verweis auf eine Speicherstelle. Speicherung einer Speicheradresse.

Mehr

Zeiger. C-Kurs 2012, 2. Vorlesung. Tino Kutschbach 10.

Zeiger. 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

Mehr

Von der Programmiersprache WHILE zum ersten Einstieg in Java

Von der Programmiersprache WHILE zum ersten Einstieg in Java Von der Programmiersprache WHILE zum ersten Einstieg in Java Die Programmiersprache WHILE bildet den Kern jeder imperativen Programmiersprache. Man geht davon aus, dass die Ein- Ausgabe primitiv organisiert

Mehr

Programmieren I + II Regeln der Code-Formatierung

Programmieren 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

Mehr

Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit

Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit EXTERNAL im rufenden Programm deklariert wurden auch intrinsische

Mehr

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung.

R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. R-Wörterbuch Ein Anfang... ein Klick auf einen Begriff führt, sofern vorhanden, zu dessen Erklärung. Carsten Szardenings c.sz@wwu.de 7. Mai 2015 A 2 B 3 C 4 D 5 F 6 R 16 S 17 V 18 W 19 Z 20 H 7 I 8 K 9

Mehr

3. Methodik der Programmerstellung

3. Methodik der Programmerstellung 3. Methodik der Programmerstellung 3.1 Vorgehen 3.2 Programmerstellung 3.2.1 Konventionen 3.2.2 Schlüsselwörter und Bezeichner 3.2.3 Fehlertypen 3.2.4 Programmierstil 3.3 Formaler Aufbau eines Pascal-Programms

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen Anweisungen mit Variablen Wiederholung Deklaration

Mehr

Unterprogramme: Formalargumente und Übergabeargumente

Unterprogramme: Formalargumente und Übergabeargumente Unterprogramme: Formalargumente und Übergabeargumente SUBROUTINE name(var1,var2,var3) Deklarationen ausführbare Anweisungen name= END SUBROUTINE name Formalargumente Der Aufruf des Unterprogramms: CALL

Mehr

PYTHON. 04 Funktionen II, Module

PYTHON. 04 Funktionen II, Module PYTHON 04 Funktionen II, Module Funktionen Funktionen enthalten Programm-Teile können später im Programm aufgerufen werden können beliebig oft aufgerufen werden (und man muss nur die Funktion aufrufen,

Mehr

Fachbericht DPR. Name: René Wagener. Klasse: CI3O1. Fachlehrer: Herr Balog

Fachbericht DPR. Name: René Wagener. Klasse: CI3O1. Fachlehrer: Herr Balog Fachbericht DPR Name: René Wagener Klasse: CI3O1 Fachlehrer: Herr Balog Inhalt Der Anfang... 3 Was ist Delphi?... 3 Das erste Programm... 3 Delphi VCL-Formularanwendung... 4 Variablen... 5 Beispiel für

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 29

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 29 Kapitel 2 Einführung in C++ Seite 1 von 29 C++ Zeichensatz - Buchstaben: a bis z und A bis Z. - Ziffern: 0 bis 9 - Sonderzeichen: ; :,. # + - * / % _ \! < > & ^ ~ ( ) { } [ ]? Seite 2 von 29 Höhere Elemente

Mehr

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5.

Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom bis zum 22.5. Programmierstarthilfe SS 2009 Fakultät für Ingenieurwissenschaften und Informatik 4. Blatt Für die Woche vom 18.5. bis zum 22.5.2009 (KW 21) Organisatorisches Die Webseiten zur Veranstaltung sind unter

Mehr

Die einfachsten Anweisungen

Die einfachsten Anweisungen 2 Die einfachsten Anweisungen 2-1 Inhalt Die einfachsten Anweisungen Einführung Datentypen Arithmetische Operatoren Mathematische Funktionen Mehrfache Zuweisungen Übungsaufgaben Einführung Wir wollen unser

Mehr

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte:

Klausur: Informatik I am 06. Februar 2009 Gruppe: D Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.: Punkte: Seite 1 von 10 Hiermit bestätige ich, dass ich die Übungsleistungen als Voraussetzung für diese Klausur in folgender Übung erfüllt habe. Jahr: Übungsleiter: Unterschrift: 1. Aufgabe ( / 12 Pkt.) Was liefert

Mehr

Labor Software-Entwicklung 1

Labor 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

Mehr

I.1.3 b. (I.7a) I.1 Grundbegriffe der Newton schen Mechanik 9

I.1.3 b. (I.7a) I.1 Grundbegriffe der Newton schen Mechanik 9 I. Grundbegriffe der Newton schen Mechanik 9 I..3 b Arbeit einer Kraft Wird die Wirkung einer Kraft über ein Zeitintervall oder genauer über die Strecke, welche das mechanische System in diesem Zeitintervall

Mehr