Einführung in C#
Programmierbeispiel Schräger Wurf
Wird ein Gegenstand unter einem Winkel (a) abgeworfen, so ergibt sich seine horizontale Bewegung aus der Formel:
sx = v * cos(a) * t ( v....Geschwindigkeit in m/s, t....Zeit in s )
Die vertikale Bewegung berechnet sich aus der Formel:
sy = v * sin(a) * t - 5 * t2
Um auf m/s zu kommen, muss die Geschwindigkeit durch 3,6 dividiert werden.
Die Zeit soll schrittweise um 0,1 sek. erhöht werden bis der Gegenstand ( bei sy=0 ) am Boden ist.
Eingabe: Geschwindigkeit und Winkel
Ausgabe: Tabelle ( Zeit, Weite, Höhe )
So könnte eine mögliche Lösung aussehen:
namespace schraeger_wurf { class Program { static void Main(string[] args) { double v0, a, sx, sy=0,t=0; Console.WriteLine("Eingabe der Abwurfgeschwindigkeit und des Winkels\n"); Console.Write("Abwurfgeschwindigkeit = ? "); v0 = Convert.ToSingle(Console.ReadLine()); Console.Write("Abwurfwinkel = ? "); a = Convert.ToDouble(Console.ReadLine()); Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("\nZeit\t\tWeite\t\tHöhe"); Console.WriteLine("------------------------------------"); while (sy >= 0) { sx = (v0 / 3.6) * Math.Cos(a * Math.PI / 180) * t; sy = (v0 / 3.6) * Math.Sin(a * Math.PI / 180) * t - (5 * Math.Pow(t, 2)); if (sy >= 0) { Console.WriteLine("{0:F1}\t\t{1:F2}\t\t{2:F2}", t, sx, sy); t = t + 0.1; } else { Console.ReadLine(); } } } } }