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.

 

(7473 Hits)

 

  pathfinder     steganographie     gorilla     partikelengine     episodenmanager     ccm     opengl_graphikengine     wii_whiteboard     simple_cad     binomial     passbildcreator     cleanup     piemenue     mauskoordinaten     xml     io_serializer     parken     tclockex     rsa     gc_solver     sortieren2     copycommander     farbspectrum     torus_chess     imageinspector     pointer     newton_interpolation     balanced2     galton_brett     8x8x8     qprogrammer     dxtools     weihnachtskalender     rubik_cube     formelparser     network_listener     send_get_file     stereoprojektion     address_db     perlin_noise     raetsel     heapsim     dithering_mask     sudoku     delforlaz     dithering_filtering     loop     wecker     codecounter     rubik_cube2     button_tool     serial     hough_transformation     gefangenen_dilemma     pingpong     pi     kwirk     pwm     tasker     picking     shannon_fano_coding     knack     reihen     clear_engine     projizierte_schatten     picturerotate     quadtree     updater     c_depencies     vedische_multiplication     ntools     rent_it     verzeichnung     greenfoot     openglsphere     tbitstream     fpc_depencies     project_collector     sdl_tcp_ip     fakenet     td     feder_masse     tankplan     vokabel     ascii     generische_liste     screensaveblocker     binaeruhr     gpu_info     pentago     kartei     opengl_spriteengine     bezier     sql     weihnachtsstern     socket     puzzle     anty_krypt     fingerspeed     2048     calender     transparenz     tippsy3     simpleray     trio     tg12864b     desktop_lock     labyrintcreator     l_system     fouriersynthese     chunkmanager     crc     filetools     cpu_load     wuerfel     nsudoku     textur_filterung     screeny     cubemap     laufschrift     funkuhr     netzwerkprotokol     atmegaboard     rollenspiel     io_adapter     fir_iir     minipaint     bmp_font     codeviewer     tetris     3d_puzzle     ym1602c     hoertest     baum     stm     wii_headtrack     euler     jazzball     trackball     winkonfig     info     zufall     sprite_engine     lzw     klab     matrix     proto     summe_n     maw     bww     sfxr     schachprobleme     file_transfer     library     dcf77     proof2e1     newton     clickomania     zauber     gebmanager     alt_f2     network_bandwidth_limiter     graphen_algos     suchen_dialog     funplay2     sortieren     ctools     numeric_instability     attributgrammatik     boxmuller     einstein     induktion     hex     basic     digiman     tipp_it     wuerfelzauber     balanced     uuart     waage     wireworld     simple_font     mandelbrot     bigprim     4_gewinnt     gedanken_leser     multilanguage     textfilter     4_wins     dcommenter     exp_func     diffusionsfilter     bitverknupfung     bignumber     mastermind     c_libs     turing_maschine     picam     hilbert     ae20125     fourier     5ermedian     iq_block     kollision