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.

 

( 164 Hits )

 

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