4. Aufgabe aus Computergrundkenntnisse und Programmieren 24. Oktober 2012 Aufgabe 4.1 Betrachten Sie den (vereinfachten) Verlet-Algorithmus aus der Vorlesung, der die Bahn eines Teilchens unter Einfluß einer Kraft berechnet, 1 x −→ x + v ∆t + f (∆t)2 2 v −→ v + f ∆t , wobei f die Kraft pro Masse ist ist. Betrachten Sie den Fall eines Körpers im Schwerefeld der Erde unter Einflußs einer zusätzlichen Reibungskraft, f = −g + ηv 2 . g = 9.81 m/s2 ist die Erdbeschleunigung und η = 3 × 10−3 ist ein Wert, der von der Luftdichte, der Fläche in Bewegungsrichtung sowie dem sogenannten cw -Wert abhängt. Lösen Sie die Bewegungsgleichungen für die Anfangsposition x = 0 und die Anfangsgeschwindigkeit v = 0. Wie groß ist die Endgeschwindigkeit des Körpers? Wie lange dauert es ungefähr, bis der Körper die maximale Geschwindigkeit erreicht hat? Stellen Sie die Position des Körpers grafisch dar. Aufgabe 4.2 Gleich wie Aufgabe 4.1, allerdings mit einer zeitabhängigen Kraft f = −0.2 v + x − η x3 + cos(t) . Wählen Sie als Anfangsbedingung x = v = 0 und den Zeitschritt ∆t = 0.01, und stellen Sie die Bewegung für 100 < t < 200 im Phasenraum (x, v) dar (benützen Sie fout << x << " " << v << endl). Untersuchen Sie die Bahnkurve für η = 0.2 und η = 0.1. Versuchen Sie, die Ergebnisse zu interpretieren. Aufgabe 4.3 Betrachten Sie die Datei kurs04b.cpp aus der Vorlesung. Schreiben Sie eine Funktion sort(a,n), die ein Array a der Länge n sortiert. Benutzen Sie eine Schleife, in der zwei Zahlen vertauscht werden, wenn sie in der falschen Reihenfolge sind. Die Schleife bricht ab, wenn es zu keinen Vertauschungen mehr kommt.