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.

 

(7458 Hits)

 

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