mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 09:40:21 +00:00
43 lines
842 B
Mathematica
43 lines
842 B
Mathematica
;------------------------------------
|
|
; These first two routines illustrate
|
|
; the dynamic scope of variables in M
|
|
;------------------------------------
|
|
triangle1(x) ;;
|
|
set sum=0
|
|
for do quit:x'>1
|
|
. set sum=sum+x
|
|
. set x=x-1
|
|
quit sum
|
|
|
|
main1() ;;
|
|
set sum=1500
|
|
set x=6
|
|
write "sum before=",sum,!
|
|
set y=$$triangle1(x)
|
|
write "sum after=",sum,!
|
|
write "triangle of ",x," is ",y,!
|
|
quit
|
|
|
|
|
|
;------------------------------------
|
|
; These next two routines illustrate
|
|
; the use of the NEW command to make
|
|
; variables limited to the local scope
|
|
;------------------------------------
|
|
triangle2(x) ;;
|
|
new sum ; <-- HERE !!
|
|
set sum=0
|
|
for do quit:x'>1
|
|
. set sum=sum+x
|
|
. set x=x-1
|
|
quit sum
|
|
|
|
main2() ;;
|
|
set sum=1500
|
|
set x=6
|
|
write "sum before=",sum,!
|
|
set y=$$triangle2(x)
|
|
write "sum after=",sum,!
|
|
write "triangle of ",x," is ",y,!
|
|
quit
|