C# :: Aufgabe #307 :: Lösung #3
5 Lösungen

#307
Überholen: benötigte Strecke und Dauer berechnen
Anfänger - C#
von Waldgeist
- 22.04.2020 um 10:55 Uhr
Es soll ein Programm für die Berechnung von Überhol-weg und Überhol-zeit (bei angenommener konstanten Geschwindigkeit) erstellt werden.
Dazu werden die Länge der beiden Fahrzeuge (l1 und l2) und deren Geschwindigkeit (v1 und v2) angegeben.
Aus diesen Daten ermitteln wir den Sicherheitsabstand (a).
Dieser soll der halben Geschwindigkeit entsprechen. Also bei 100 km/h sind 60 m Sicherheitsabstand einzuhalten.
Die benötigte Strecke berechnen wir dann nach folgender Formel:
s = v1 / (v1−v2) * (l1+l2+2*a)
Weitere Information findet ihr hier: Video
Viel Spaß!
Dazu werden die Länge der beiden Fahrzeuge (l1 und l2) und deren Geschwindigkeit (v1 und v2) angegeben.
Aus diesen Daten ermitteln wir den Sicherheitsabstand (a).
Dieser soll der halben Geschwindigkeit entsprechen. Also bei 100 km/h sind 60 m Sicherheitsabstand einzuhalten.
Die benötigte Strecke berechnen wir dann nach folgender Formel:
s = v1 / (v1−v2) * (l1+l2+2*a)
Weitere Information findet ihr hier: Video
Viel Spaß!
#3

von Waldgeist (2310 Punkte)
- 14.05.2020 um 11:17 Uhr
Hallo,
hier mein Lösungsvorschlag:
C#-Code
die Klasse:
C#-Code
hier mein Lösungsvorschlag:

using System; namespace Überholen { internal class Program { private static void Main(string[] args) { Fahrzeug Auto1 = new Fahrzeug(); Fahrzeug Auto2 = new Fahrzeug(); Console.WriteLine("Programm zum Berechnen eines Überholvorganges \n\n"); Console.WriteLine("Angaben für Fahrzeug 1: "); Auto1.Eingabe(); Console.WriteLine("Angaben für Fahrzeug 2: "); Auto2.Eingabe(); Auto1.Ausgabe(Auto1.Laenge, Auto1.Geschwindigkeit, Auto2.Laenge, Auto2.Geschwindigkeit); Console.ReadKey(); } } }
die Klasse:

using System; namespace Überholen { internal class Fahrzeug { //Eigenschaften public double Geschwindigkeit { get; set; } public double Laenge { get; set; } //Methoden //Eingabe der Daten public void Eingabe() { Console.Write("Bitte geben Sie die Länge des Fahrzeuges in Meter an: "); Laenge = Convert.ToDouble(Console.ReadLine()); Console.Write("Bitte geben Sie die Geschwindigkeit des Fahrzeuges in Km/h an: "); Geschwindigkeit = Convert.ToDouble(Console.ReadLine()); Console.WriteLine("\n"); } //Bearbeiten der Eingaben, Berechnungen usw. public void Ausgabe(double l1, double v1, double l2, double v2) { double strecke = Strecke(l1, v1, l2, v2); double zeit = Zeit(v1, strecke); Console.Write(" Sie brauchen {0} Sekunden und eine Strecke von {1} m.", zeit, strecke); } private double Strecke(double lf1, double vf1, double lf2, double vf2) { double s; double a = vf1 / 2; s = vf1 / ((vf1 - vf2)) * (lf1 + lf2 + (2 * a)); return s; } private double Zeit(double v, double s) { double zeit = s / (v / 3.6); return zeit; } } }
Kommentare:
Für diese Lösung gibt es noch keinen Kommentar
Seite 1 von 0
1