#DEFINE CTAB CHR(9) LOCAL lcList As String, i As Integer, n As Integer n = 10 LOCAL ARRAY aa[n] CLEAR lcList = "90,47,58,29,22,32,55,5,55,73" FOR i = 1 TO n aa[i] = VAL(GETWORDNUM(lcList, i, ",")) ENDFOR ShowOutput("Original", @aa) k = n - 1 FOR i = 1 TO n - 1 ForwardDiff(@aa) ShowOutput("Difference " + TRANSFORM(i), @aa) ENDFOR PROCEDURE ForwardDiff(a) LOCAL i As Integer, n As Integer n = ALEN(a) LOCAL ARRAY b[n-1] FOR i = 1 TO n - 1 b[i] = a[i+1] - a[i] ENDFOR DIMENSION a[n-1] ACOPY(b, a) ENDPROC PROCEDURE ShowOutput(lcLabel, zz) LOCAL i As Integer, n As Integer, lcTxt As String n = ALEN(zz) lcTxt = lcLabel + ":" + CTAB FOR i = 1 TO n lcTxt = lcTxt + TRANSFORM(zz[i]) + CTAB ENDFOR lcTxt = LEFT(lcTxt, LEN(lcTxt) - 1) ? lcTxt ENDPROC