n!は1*2*3*…(n-1)*nの計さんですから、1からnまでの積を作ればいいでしょう。
マクロは次のように書きます。
@ function prog32(n as integer) as integer
A dim count integer
B prog32 = 1
C for count = 1 to n
D prog32 = prog32 * count
E next count
F end function
C式が繰返しを行う文で、1からnまでnext文まで繰り返します。
Dでfor文のcount(制御変数)が順次1からnまで変化していく過程でprog32に1*2*3*…*nの計算をしてくれます。
countが1から始まり1づづふえてnまで増えたらfor文を終了します。即ち、prog32には1からnまでの積が作られます。
もうひとつ、例をあげましょう。
次のプログラムのfor文の記述でも結果は同じになります。
@ function prog320(n as integer) as integer
A dim count integer
B prog320 = 1
C for count = n to 1 step -1
D prog320 = prog320 * count
E next count
F end function
for文の増分がstep -1 のように記述してますからcount(制御変数)は n,(n-1),…,3,2,1と変化していきます。
即ち、prog320にはnから1までの積が作られます。