EPROG-LU - Aufgabe 1042 (Determinante von 2- ,3- stelligen Matrizen)
1042 |
Det23 |
Determinante von 2- ,3- stelligen Matrizen |
Kategorie: | Matrizen |
Klasse: | leicht |
Eingabe: | Integer |
Ausgabe: | Integer |
|
Abzugebende Files: Det23.txt, Det23.java |
Kurzbeschreibung:
Die Determinante einer 2*2 oder 3*3 - Matrix soll berechnet werden.
Allgemeine Hinweise:
-
Ihr Programm darf nur genau jene Ausgabedaten liefern, die in der Spezifikation
verlangt werden. Die Ausgaben Ihres Programmes werden automatisch mit
Referenzdaten verglichen; etwaige Abweichungen führen zu Punkteabzügen!
-
Testen Sie Ihr Programm vor der Abgabe mit der mitgelieferten Eingabedatei.
Geben Sie Ihre Lösung erst ab, wenn die Ausgaben Ihres Programmes mit der
ebenfalls mitgelieferten Ausgabedatei übereinstimmen! Testen Sie Ihr
Programm auch mit anderen Eingabedaten.
-
Verwenden Sie nur das von uns mitgelieferten Package eprog
für Ihre Ein/Ausgaben. Programme, die Packages oder Klassen ausserhalb der verwendeten Übungsumgebung (Java2, Standard Edition, Version 1.5.0) verwenden, können von uns
nicht getestet werden und werden mit 0 Punkten bewertet!
-
Schreiben Sie Ihr Programm möglichst allgemein und kommentieren Sie es gut.
Erstellen Sie weiters eine übersichtliche und verständliche Dokumentation.
Damit erhöhen Sie Ihre Chancen, daß andere Studenten in den nächsten Runden
Ihr Programm wählen und Ihnen damit zu Zusatzpunkten verhelfen!
Aufgabenstellung:
Ihr Programm soll zuerst eine Zahl n einlesen, die die Dimension der quadratischen Matrix angibt. Anschließend sollen die Elemente der n*n-Matrix eingelesen werden; die Determinante der Matrix soll berechnet und ausgegeben
werden.
Für die Berechnung der Determinante einer 2*2-Matrix gilt folgende Formel:
so ist
Die Determinante einer 3*3-Matrix kann wie folgt berechnet werden:
so ist
Anmerkung: Dieses Verfahren heißt "Regel von Sarrus" (sprich [SARÜ]).
Eingabedaten:
Lesen Sie zuerst die Dimension der Matrix ein; diese darf nur 2 oder 3 sein.
Danach werden die Elemente der Matrizen eingelesen, und zwar in der Reihenfolge a11, ... , a1n, a21, ... , .... , ann.
Die einzelnen Elemente der Matrix sind vom Typ INTEGER.
Ausgabedaten:
Bei korrekten Eingabedaten geben Sie die Determinante der Matrix, gefolgt von einem Zeilenvorschub, aus.
Fehlerbehandlung:
Sämtliche Eingabedatensätze sind immer vollständig einzulesen.
Generell wird bei fehlerhaften Eingabedatensätzen nur eine einzige Fehlermeldung erzeugt, weitere Berechnungen werden nicht mehr durchgeführt.
Enthält der Eingabedatensatz einen ungültigen Datentyp, so soll einmal das Zeichen "?", gefolgt von einem Zeilenvorschub, ausgegeben werden.
Sind die Datentypen bei allen Eingaben richtig, die
eingegebenen Daten aber inhaltlich nicht korrekt oder erfüllen nicht die
Bedingungen (z.B. Dimension>3 oder zuwenige, bzw. zuviele Datensätze für die Matrix), so soll Ihr Programm "FALSCHE EINGABE",
gefolgt von einem Zeilenvorschub, ausgeben.
Beispiele:
Eingabedaten
|
2
1 2 4 5
2 1 3.4 3 5
4
|
Ausgabedaten
|
-3
?
FALSCHE EINGABE
|
Testen:
Diese Beispiele dienen nur zur Verdeutlichung der Spezifikation und
müssen nicht korrekt formatiert sein. Die korrekte Formatierung entnehmen Sie
bitte dem mitgelieferten Outputfile. Zum Testen Ihrer Lösung
können Sie aus den mitgelieferten Eingabedaten wie folgt eine Ausgabedatei
erzeugen:
java Det23 < Det23.i1 > Det23.out1
Das erzeugte File Det23.out1 können Sie dann mit dem mitgelieferten Outputfile Det23.o1 vergleichen.