Blatt 13

for-loop; dp in haskell? : http://www2.informatik.uni-erlangen.de/teaching/WS2009/PFP/uebungen/uebung-13.pdf

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Blatt 13
Idee wir for-Schleifen und Dynamisches Programmieren
in Haskell funktionieren könnte?
Letzteres lässt mich an Akkumulatoren in Prolog denken…
Habt Ihr Ideen?

Glaubt ihr, dass IO-Ströme in Haskell klausurrelevant sind…


Meine For-Schleife:

-- for (int i=1; i<=10; i++) x += i*i                                                                           

loop :: a -> (a->Bool) -> (a->a) -> (a->b->b) ->b ->b

loop i while iterate f akk
         | while i   = loop (iterate i) while iterate f (f i akk)
         | otherwise = akk

test = loop 1 (\i -> (i<=10)) (\i -> i+1) (\i akk -> i*i+akk) 0
oder:
test2 = loop 1 (<=10) (+1) (\i akk -> i*i+akk) 0

Wobei es sinnvoller ist, gleich Haskells Listenabstraktionen zu verwenden…

test3 = foldr (+) 0 [i*i | i <- [1..10]]