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.

 

(7438 Hits)

 

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