FUNCTION jz()
PARAMETER A
CLEAR
IF MOD(A,2)=0
MESSAGEBOX('請輸入大于3的基數!',64,'溫馨提示')
RETURN 0
ENDIF
IF A<3
MESSAGEBOX('請輸入大于3的基數!',64,'溫馨提示')
RETURN 0
ENDIF
&&定義矩陣arr[a][a]
DECLARE ARR(A,A) && 產生遞增數列
DECLARE TEMP(A*A) &&B:依次向斜上角填充
FOR I=1 TO A*A
TEMP(I)=I
NEXT
ARR=0
MID=INT(A/2)+1
I=1
J=MID
ARR(I,J)=TEMP(1) &&A:從中間開始
FOR K=2 TO A*A
X=I
Y=J
I=I-1 &&C:?當行列出界時,填充到行列的末尾
J=J-1
IF I<1
I=A
ENDIF
IF J<1
J=A
ENDIF
IF ARR(I,J)<>0 &&D:當斜上角數字存在時,填充到原來數字的下方
I=X+1
J=Y
ENDIF
ARR(I,J)=TEMP(K)
NEXT
FOR I=1 TO A &&E:輸出矩陣
FOR J=1 TO A
printprintARR(I,J)
NEXT J
print
NEXT I
ENDFUNC