zur Startseite zum Inhalt zur Navigation

Gedanken_leser

 

Zugegeben der Name ist etwas irreführend, aber unter 
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.

 

(7486 Hits)

 

  puzzle     sudoku     tclockex     fourier     codecounter     wii_whiteboard     pingpong     simple_font     knack     c_libs     steganographie     gpu_info     euler     fpc_depencies     lzw     rubik_cube     binomial     td     trackball     ccm     8x8x8     wii_headtrack     chunkmanager     rollenspiel     vokabel     farbspectrum     project_collector     exp_func     button_tool     balanced2     io_serializer     netzwerkprotokol     kartei     digiman     induktion     address_db     ascii     heapsim     hoertest     gedanken_leser     generische_liste     klab     sql     schachprobleme     calender     opengl_graphikengine     multilanguage     pentago     dithering_mask     winkonfig     piemenue     io_adapter     network_bandwidth_limiter     2048     weihnachtsstern     filetools     sortieren2     mauskoordinaten     4_wins     clear_engine     ae20125     rsa     iq_block     maw     network_listener     alt_f2     projizierte_schatten     torus_chess     fakenet     zauber     3d_puzzle     picturerotate     shannon_fano_coding     jazzball     fir_iir     pointer     trio     partikelengine     turing_maschine     picam     socket     4_gewinnt     rubik_cube2     minipaint     bmp_font     ntools     copycommander     ym1602c     stm     summe_n     greenfoot     transparenz     newton     laufschrift     dcf77     anty_krypt     kollision     cpu_load     mandelbrot     5ermedian     cleanup     dxtools     bignumber     dcommenter     proof2e1     screeny     funkuhr     baum     fouriersynthese     numeric_instability     tg12864b     bezier     crc     wuerfel     desktop_lock     screensaveblocker     wireworld     codeviewer     gorilla     picking     bww     gebmanager     basic     suchen_dialog     mastermind     episodenmanager     hough_transformation     pi     tankplan     parken     textfilter     gc_solver     loop     imageinspector     passbildcreator     xml     ctools     attributgrammatik     info     hex     wecker     tipp_it     newton_interpolation     hilbert     raetsel     verzeichnung     graphen_algos     qprogrammer     balanced     proto     serial     matrix     tbitstream     feder_masse     diffusionsfilter     updater     kwirk     simpleray     openglsphere     nsudoku     wuerfelzauber