40 lines
747 B
Plaintext
40 lines
747 B
Plaintext
#X = 5 : #Y = -5 : #Z = -2
|
|
#ONE = 1 : #THREE = 3 : #SEVEN = 7
|
|
Define j.i
|
|
Global prod.i = 1, sum.i = 0
|
|
|
|
Macro ipow(n, e)
|
|
Int(Pow(n, e))
|
|
EndMacro
|
|
|
|
Macro ifn(x)
|
|
FormatNumber(x,0,".",",")
|
|
EndMacro
|
|
|
|
Macro loop_for(start, stop, step_for=1)
|
|
For j = start To stop Step step_for
|
|
proc(j)
|
|
Next
|
|
EndMacro
|
|
|
|
Procedure proc(j.i)
|
|
sum + Abs(j)
|
|
If (Abs(prod) < ipow(2 , 27)) And (j<>0)
|
|
prod * j
|
|
EndIf
|
|
EndProcedure
|
|
|
|
loop_for(-#THREE, ipow(3, 3), #THREE)
|
|
loop_for(-#SEVEN, #SEVEN, #X)
|
|
loop_for(555, 550 - #Y)
|
|
loop_for(22, -28, -#THREE)
|
|
loop_for(1927, 1939)
|
|
loop_for(#X, #Y, #Z)
|
|
loop_for(ipow(11, #X), ipow(11, #X) + 1)
|
|
|
|
If OpenConsole("Loops/with multiple ranges")
|
|
PrintN("sum = " + ifn(sum))
|
|
PrintN("prod = " + ifn(prod))
|
|
Input()
|
|
EndIf
|