A
Andreas D.
Gast
Hi Leute!
Da ihr gesagt hattet, dass ihr keine Hausaufgaben gemacht habe ich mich, da ich heute den ganzen Tag frei hatte, mit unserem JAVA-Lehrburch hingesetzt und mich ein wenig "schlau" gelesen. Nun habe ich versucht, dass Gleichungssystem zu lösen. Bei mir hat es auch einigermaßen geklappt und ich wollte jetzt fragen ob es so richtig ist:
Dazu vom im vorigen Beitrag nochmals die Aufgabenstellung:
[Edit by foobar: Zeilenlaenge angepasst]
Vielen Dank im Vorraus,
A.D.
Da ihr gesagt hattet, dass ihr keine Hausaufgaben gemacht habe ich mich, da ich heute den ganzen Tag frei hatte, mit unserem JAVA-Lehrburch hingesetzt und mich ein wenig "schlau" gelesen. Nun habe ich versucht, dass Gleichungssystem zu lösen. Bei mir hat es auch einigermaßen geklappt und ich wollte jetzt fragen ob es so richtig ist:
Code:
public class Gleichungssystem {
public static void main(String[] args) {
/* Die benötigten Variablen werden angelegt, dabei benutze ich den Befehl "int".
Bei Kommazahlen wird der Befehl "double" als Datentyp angewendet.
Da in der Aufgabe nicht drinstand, dass die Variablen über die Konsole angegeben werden sollen,
habe ich sie einfach jetzt in diesem Quelltext angelegt! */
int a = 1;
int b = 2;
int c = 3;
int d = 4;
int e = 5;
int f = 6;
// Hier noch einmal die beiden Gleichungen, die gelöst werden sollen:
// int x = (c*e - f*b)/( a*e - d*b );
// int y = (a*f - d*c)/( a*e - d*b );
// Jetzt kommt die Abfrage, ob der Nenner gleich 0 ist. Da er bei beiden Brüchen gleich ist,
muss nur einmal abgefragt werden.
if((a*e - d*b) == 0){
// Der Nenner ist 0
System.out.println("Das Gleichungssystem wird im Unterricht näher Untersucht.");
}
else{
// Der Nenner ist nicht 0, daher wird nun die Lösung ausgerechnet.
int x = (c*e - f*b)/( a*e - d*b );
int y = (a*f - d*c)/( a*e - d*b );
System.out.println("x= "+ x);
System.out.println("y= "+ y);
/* In diesem Fall habe ich das Programm so geschrieben, dass der Nenner nicht 0 ist, dass also das richtige Ergebniss
ausgerechnet wird. Wenn man anstatt den oben vorgebenen Variablen,
also 1,2,3,4,5,6 beispielsweise 0,0,0,0,0,0 eingeben würde,
würde wie erwartet der Nenner 0 sein und als Ergebniss der Satz "Das Gleichungssystem wird im Unterricht näher Untersucht." folgen.
Die Variablen können von Ihnen, Herr Drori, beliebig eingesetzt werden.
Mit freundlichen Grüßen,
A.D. */
}
}
}
Dazu vom im vorigen Beitrag nochmals die Aufgabenstellung:
Aufgabe zum Programmieren:
Es soll ein Programm entstehen, dass ein Gleichungssystem mit zwei Gleichungen und zwei Unbekannten löst.
Das Gleichungssystem:
ax + by = c
dx + ey = f
Für unsere Zwecke reicht es auch, wenn wir sofort eine Formel zur Lösung angeben und diese durch ein Programm implementieren.
Die Formel ist:
x = ce - fb y = af - dc
_____ ; ______
ae - db ae - db
Die "_____" sollen Bruchstriche darstellen.
Also muss man abfragen (mit einer if - Anweisung), ob der Nenner in beiden Formeln 0 ist oder nicht.
D.h.: if((ae - db)!=0) usw. ...
Falls die if-Abfrage false ist, also der Nenner ist gleich 0, dann muss man die Meldung: Das Gleichungssystem wird im Unterricht näher Untersucht.
Mit dieser Meldung ist das Gleichungssystem zwar nicht geläst, aber für das Feststellen, ob ihr mit den Abfragen im Programm umgehen könnt oder nicht.
Viel Erfolg beim Programmieren!
[Edit by foobar: Zeilenlaenge angepasst]
Vielen Dank im Vorraus,
A.D.