Pascalsches Dreieck
Ein Programm soll einige Zeilen des sogenannten Pascal'schen Dreiecks berechnen und am Bildschirm in folgender Form ausgeben.
1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 1 6 15 20 15 6 1
Die Zahlen sind die Binominalkoeffizienten für einen Ausdruck (a+b)n.
Die k-te Zahl in der n-ten Zeile des Dreiecks ist gleich
n! = 1.2.3.4......(n-1).n
0! = 1
wobei k und n mit 0 beginnend numeriert werden.
Schreibe eine Funktion n_ueber_k die möglichst effiziente Berechnung dieses Ausdrucks (man nennt ihn n über k). Die Funktion main erstellt das Dreieck.
s(t) -> v(t)
Ein Programm soll für eine gegebene Funktion s(t) von tmin bis tmax in Abständen tstep den Funktionswert s(t) und die Momentangeschwindigkeit v(t) berechnen und in einer Tabelle auf den Bildschirm und auf eine Datei schreiben.
Berechnung der Momentangeschwindigkeit:
Test mit folgenden Werten:
s(t) = A sin ( t) A = 2 m = 2 s-1 tmin = 0, tmax = 4 s, tstep = 0.2 s, t = 0.05 s
Algorithmus in Pseudocode, C-Programm
Untersuche durch einen Vergleich mit dem exakten Resultat v(t) = A cos( t), wie genau die Berechnung der Geschwindigkeit v(t) ist!
Entladung eines Kondensators
Bei der Entladung eines Kondensators über einen Widerstand gilt
uc(t) = - uR(t) = - R i(t)
d.h. i(t) = - uc(t)/R
Der Strom i(t) vermindert die Ladung am Kondensator im Zeitintervall t um q = i t. Die Spannung am Kondensator ändert sich dadurch um uc = q / C. Mit dieser neuen Spannung am C ergibt sich ein neuer Strom i(t), usw.
Schreibe ein C-Programm, das i(t) und uc(t) in Abständen von t ermittelt und am Bildschirm ausgibt. Die Ausgaben sollen nach je 20 Zeilen anhalten und mit der Eingabetaste wieder fortgesetzt werden.
Baywatch (oder das Prinzip von Fermat)
Ein Rettungsschwimmer am Punkt A (0, -20 m) am Strand will eine ertrinkende
Person am Punkt B (50 m, 30 m) im Wasser retten.
Um jene Strecke zu ermitteln, über die ein Rettungsschwimmer in der kürzest
möglichen Zeit von A nach B kommen kann, läßt man ein Programm
die benötigte Zeit für verschiedene Strecken berechnen. Die Strecke
ist durch die Koordinaten der Punkte A (x1, y1) , B (x2, y2) und den Punkt P
(x0 , 0 ) gegeben. Die Punkte A und B sind fix, den Punkt x0 läßt
man in einem Bereich xmin bis xmax mit einer Schrittweite von x wandern und
berechnet jeweils die für diese Strecke benötigte Zeit. Zu dieser
Aufgabe ist ein Algorithmus zu entwerfen und ein C-Programm zu schreiben. Die
Lage der Punkte A und B ist durch (0, -20 m) und (50 m, 30 m) fix gegeben, xmin,
xmax und x soll im Dialog gewählt werden können.
Lösung