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)

 

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