Loops/With multiple ranges: Difference between revisions
Content added Content deleted
(Realize in F#) |
No edit summary |
||
Line 1,383: | Line 1,383: | ||
</lang> |
</lang> |
||
=={{header|FutureBasic}}== |
|||
Note: This code uses NSInteger variables instead of int because NSInteger automatically adjusts to 32-bit or 64-bit Macintosh architecture. Also, since FB's abs() function takes either a legacy int or a float, this code uses a float for the abs() parameter to avoid a warning, |
|||
<lang futurebasic> |
|||
window 1, @"Loops with Ranges", ( 0, 0, 400, 400 ) |
|||
begin globals |
|||
NSInteger sum = 0 |
|||
float prod = 1 |
|||
end globals |
|||
local fn process( x as float ) |
|||
sum += abs(x) |
|||
if abs(prod) < (2 ^ 27) and x <> 0 then prod = prod * x |
|||
end fn |
|||
NSInteger j |
|||
NSInteger x = 5, y = -5, z = -2 |
|||
NSInteger one = 1, three = 3, seven = 7 |
|||
for j = -three to (3 ^ 3) step three: fn process(j): next j |
|||
for j = -seven to seven step x: fn process(j): next j |
|||
for j = 555 to 550 - y: fn process(j): next j |
|||
for j = 22 to -28 step -three: fn process(j): next j |
|||
for j = 1927 to 1939: fn process(j): next j |
|||
for j = x to y step z: fn process(j): next j |
|||
for j = (11 ^ x) to (11 ^ x) + one: fn process(j): next j |
|||
print using " sum = ###,###"; sum |
|||
print using "prod =-####,###,###"; prod |
|||
HandleEvents |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
sum = 348,173 |
|||
prod = -793,618,560 |
|||
</pre> |
|||
=={{header|Go}}== |
=={{header|Go}}== |