Trabb Pardo–Knuth algorithm: Difference between revisions

Added Wren
m (→‎{{header|REXX}}: change a comment.)
(Added Wren)
Line 3,062:
-1 = -4
10 = OVERFLOW
</pre>
 
=={{header|Wren}}==
{{libheader|Wren-fmt}}
<lang ecmascript>import "io" for Stdin, Stdout
import "/fmt" for Fmt
 
var f = Fn.new { |x| x.abs.sqrt + 5*x*x*x }
 
var s = List.filled(11, 0)
System.print("Please enter 11 numbers:")
var count = 0
while (count < 11) {
Fmt.write(" Number $-2d : ", count + 1)
Stdout.flush()
var number = Num.fromString(Stdin.readLine())
if (!number) {
System.print("Not a valid number, try again.")
} else {
s[count] = number
count = count + 1
}
}
s = s[-1..0]
System.print("\nResults:")
for (item in s) {
var fi = f.call(item)
if (fi < 400) {
Fmt.print(" f($6.3f) = $7.3f", item, fi)
} else {
Fmt.print(" f($6.3f) = overflow", item)
}
}</lang>
 
{{out}}
Entering the same numbers as the Ada example:
<pre>
Please enter 11 numbers:
Number 1 : 10
Number 2 : -1
Number 3 : 1
Number 4 : 2
Number 5 : 3
Number 6 : 4
Number 7 : 4.3
Number 8 : 4.305
Number 9 : 4.303
Number 10 : 4.302
Number 11 : 4.301
 
Results:
f( 4.301) = 399.886
f( 4.302) = overflow
f( 4.303) = overflow
f( 4.305) = overflow
f( 4.300) = 399.609
f( 4.000) = 322.000
f( 3.000) = 136.732
f( 2.000) = 41.414
f( 1.000) = 6.000
f(-1.000) = -4.000
f(10.000) = overflow
</pre>
 
9,490

edits