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.

 

(7467 Hits)

 

  vokabel     galton_brett     dxtools     fakenet     hex     raetsel     rubik_cube2     pwm     binomial     episodenmanager     qprogrammer     gpu_info     wuerfelzauber     dcf77     textfilter     sirpinksy     race_condition     greenfoot     3d_puzzle     basic     sprite_engine     socket     opengl_graphikengine     fourier     pentago     anty_krypt     turing_maschine     button_tool     vedische_multiplication     klab     knack     passbildcreator     iq_block     winkonfig     rsa     kwirk     exp_func     mandelbrot     baum     hilbert     proof2e1     4_gewinnt     generische_liste     stm     stereoprojektion     partikelengine     euler     desktop_lock     io_adapter     bww     balanced     dcommenter     crc     8x8x8     pi     calender     ae20125     cleanup     trackball     netzwerkprotokol     summe_n     hoertest     delforlaz     matrix     mauskoordinaten     mastermind     codeviewer     sortieren     wii_headtrack     wii_whiteboard     atmegaboard     picturerotate     ccm     heapsim     tbitstream     wireworld     wecker     gorilla     codecounter     cubemap     gedanken_leser     projizierte_schatten     send_get_file     cpu_load     tg12864b     file_transfer     farbspectrum     gebmanager     numeric_instability     hough_transformation     ym1602c     copycommander     tipp_it     td     funkuhr     feder_masse     ctools     fir_iir     puzzle     piemenue     balanced2     induktion     5ermedian     rollenspiel     wuerfel     diffusionsfilter     4_wins     bezier     c_depencies     tasker     bignumber     quadtree     pointer     alt_f2     ntools     address_db     game_of_life     gc_solver     textur_filterung     verzeichnung     l_system     picking     affenpuzzle     rubik_cube     dithering_filtering     picam     sudoku     tankplan     filetools     serial     portal     laufschrift     fouriersynthese     maw     bigprim     jazzball     xml     network_listener     io_serializer     tippsy3     suchen_dialog     steganographie     proto     weihnachtsstern     trio     bitverknupfung     2048     simple_cad     c_libs     digiman     gefangenen_dilemma     openglsphere     clickomania     screensaveblocker     funplay2     fpc_depencies     clear_engine     sortieren2     perlin_noise     imageinspector     bmp_font     ascii     nsudoku     parken     uuart     screeny     zufall     zauber