Gedanken_leser
diesem Namen habe ich das Programm kennengelernt.
Worum es geht.
Der User denkt sich 5 Ganzzahlen aus. Verrechnet
diese mittels + , - so das er Jede Zahl einmal
benutzt hat. Dann gibt er die 5 Zahlen und das
Ergebnis ein. Das Programm berechnet dann die
Benutzen Rechenoperationen.
Im Prinzip total sinnlos also das Programm.
Es geht hierbei aber weniger um die Funktion ( Auch
wenn das Programm fast Perfekt funktioniert ), sondern
mehr darum das ich hier mal zeigen will wie man
generell mit unterschiedlichen Programmen das Selbe
erreichen kann.
Implementiert sind 3 Verfahren, jeweils mittels einem
Berechne Button.
Berechne1 : Ermittlung des Ergebnis Iterativ
Berechne2 : Ermittlung durch Raten
Berechne3 : Ermittlung durch Rekursion
Leider ist Berechne2 nur dann sinnvoll wenn das
Ergebnis tatsächlich berechenbar ist. ( wenn nicht
Terminiert das Programm niemals ). Wenn das Ergebnis
tatsächlich ermittelbar ist, dann ist Berechne2
allerdings im Mittel deutlich schneller als die
beiden anderen Verfahren.
Schaut euch also den Source an und überlegt selbst
welche Variante ihr Vorziehen würdet.
Mir gefällt Berechne1 natürlich am Besten weil es am
wenigsten Speicher benötigt und mir das auch als 1.
eingefallen ist. Berechne3 ist aber genau so schnell,
und mal abgesehen vom unnötigen Stack Aufbau auch
gleichwertig.
Berechne2 ist Elegant, aber dank der nicht
Terminieren Funktion ( die sich durch eine oberere
Schranke ausbauen Liese [man könnte die versuche
Zählen und nach maximal 2^5 = 32 versuchen, so lange
brauchen die anderen Programme nämlich, abbrechen
und als nicht gültige Lösung erkennen. Dies
bedeutete aber das bei ungünstigen Fällen Korrekte
Lösungen als nicht Korrekt erkannt würden.]) leider
nicht unbedingt optimal.
(7434 Hits)