Thread View: bln.comp.lang.opal
2 messages
2 total messages
Started by Nikolaus Filus
Thu, 15 Nov 2001 12:51
Syntax von WHERE
Author: Nikolaus Filus
Date: Thu, 15 Nov 2001 12:51
Date: Thu, 15 Nov 2001 12:51
28 lines
1593 bytes
1593 bytes
Hi, ich sitze gerade an den Augaben vom Aufgabenblatt 3 fuer Info1 und habe mal wieder ein Verstaendnisproblem von WHERE. Kann mir jemand sagen wieso Beispiel 1 funktioniert und 2 nicht? Nach meiner Begrifflichkeit sind beide logisch aufgebaut. FUN skalprod : seq[nat] ** seq[nat] -> nat DEF skalprod (v1,v2) == IF <>?(v1) THEN 0 IF <>?(v2) THEN 0 ELSE ft(v1)*ft(v2) + skalprod(rt(v1),rt(v2)) FI FUN skalprod2 : seq[nat] ** seq[nat] -> nat DEF skalprod2 (v1,v2) == x WHERE x == a*b + skalprod2(rt(v1),rt(v2)) a == IF <>?(v1) THEN 0 ELSE ft(v1) FI b == IF <>?(v2) THEN 0 ELSE ft(v2) FI Danke schon mal, Nikolaus -- C rules! :)
Re: Syntax von WHERE
Author: Klaus Didrich
Date: Sat, 17 Nov 2001 17:31
Date: Sat, 17 Nov 2001 17:31
37 lines
2106 bytes
2106 bytes
Nikolaus Filus schrieb:
> Hi,
>
> ich sitze gerade an den Augaben vom Aufgabenblatt 3 fuer Info1 und habe
> mal wieder ein Verstaendnisproblem von WHERE. Kann mir jemand sagen wieso
> Beispiel 1 funktioniert und 2 nicht? Nach meiner Begrifflichkeit sind
> beide logisch aufgebaut.
>
> FUN skalprod : seq[nat] ** seq[nat] -> nat
> DEF skalprod (v1,v2) ==
> IF <>?(v1) THEN 0
> IF <>?(v2) THEN 0
> ELSE
> ft(v1)*ft(v2) + skalprod(rt(v1),rt(v2))
> FI
>
> FUN skalprod2 : seq[nat] ** seq[nat] -> nat
> DEF skalprod2 (v1,v2) == x
> WHERE
> x == a*b + skalprod2(rt(v1),rt(v2))
> a == IF <>?(v1) THEN 0 ELSE ft(v1) FI
> b == IF <>?(v2) THEN 0 ELSE ft(v2) FI
Der Unterschied ist, dass bei der zweiten Definition die Rekursion nicht
abbricht und deswegen irgendwann einmal rt(<>) aufegrufen wird. (Ich nehme
an, das war der Fehler den Du meintest.) Versuche einfach mal, per Hand den
Aufruf von skalprod<>, <>) und skalprod2(<>, <>) nachzuvollziehen.
MfG
Klaus
--
----------------------------------------------------------------------
Klaus Didrich
email: Klaus.Didrich@berlin.de
----------------------------------------------------------------------
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads