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.

 

(7434 Hits)

 

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