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.

 

(7444 Hits)

 

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