Wie kann ich ein Programm für das Überprüfen von Eigenschaften von Dreiecken in C# erstellen?
Guten Tag,
Ich benötige Hilfe bei folgender Informatikaufgabe:
Einzugeben sind die drei Seiten eines Dreiecks. Zuerst ist zu überprüfen, ob die Eingabe überhaupt sinnvoll ist (die Summe zweier Seitenlängen muss größer als die dritte Seite sein). Anschließend ist festzustellen, ob das Dreieck gleichseitig, gleichschenklig oder rechtwinklig ist.
Variante 1: Alle Seitenkombinationen sind zu prüfen
Variante 2: Von den drei Seiten ist durch zwei Verzweigungen die größte Seite zu bestimmen.
Neulich haben wir angefangen kleine Programme mit C# zu programmieren, jedoch versteh ich diese Aufgabe nicht und weis nicht wie ich es programmieren soll. Kann mir jemand weiterhelfen bitte
Konsolenprogramm
2 Antworten
Zuerst brauchst du eine mathematische Lösung für jedes deiner Probleme.
Zuerst ist zu überprüfen, ob die Eingabe überhaupt sinnvoll ist (...)
Dafür steht die Lösung ja schon da.
(...), ob das Dreieck gleichseitig, gleichschenklig oder rechtwinklig ist.
- Bei einem rechtwinkligen Dreieck gilt der Satz des Pythagoras.
- Wie man ein gleichseitiges Dreieck bestimmt, erklärt sich bereits im Namen.
- Ein gleichschenkliges Dreieck hat mindestens zwei gleichlange Seiten. Zudem gibt es den Basiswinkelsatz.
Schreibe dir für diese Fälle zunächst einmal den Lösungs- bzw. Rechenweg Schritt für Schritt auf. Was ist zuerst zu tun, was danach. Bau es dir am besten in einem Programmablaufdiagramm oder einem Struktogramm nach. Dafür gibt es sogar hilfreiche Software.
So ein Diagramm kannst du danach, wieder: Schritt für Schritt übersetzen. Da Elemente eines Programmablaufplans im Grunde schon die Grundelemente von einer Programmiersprache wie C# nahezu synchron abbilden, sollte dir nur noch die Syntax im Wege stehen, doch die kann man ja nachschlagen.
Strings kannst du mit Console.ReadLine einlesen und die Convert-Klasse eignet sich dazu, diese Zeichenketten in Integer/Float/Double umzuwandeln. Für Ausgaben gibt es Console.WriteLine und für mathematische Operationen solltest du auf die Methoden der Math-Klasse zurückgreifen. Variablen, Operatoren und Verzweigungen werdet ihr im Unterricht bereits behandelt haben.
Vielleicht hilft dir das, um das Maximum von drei Werten zu bestimmen.
max( a, b, c ) = max( a, max( b, c ) )
Das max von zwei Werte kannst du mit einem if bestimmen. Beispielsweise:
if (b > c) maximum = b else maximum = c;
Hiermit kannst du das Maximum von drei Werte mit 2 ifs ermitteln.
Verstehst du das?
Konsolenprogramm bedeutet, dass a, b und c als Parameter an main() kommen können.
int main( int argc, char ** argv )
argc muss 4 sein.
argv[1] ist a als char *
argv[2] ist b als char *
argv[3] ist c als char *
Umwandlung char * nach int mit atoi(). Oder entsprechend in einen double.