DIM A(9) A() = 90.0, 47.0, 58.0, 29.0, 22.0, 32.0, 55.0, 5.0, 55.0, 73.0 PRINT "Original array: " FNshowarray(A()) PROCforward_difference(1, A(), B()) PRINT "Forward diff 1: " FNshowarray(B()) PROCforward_difference(2, A(), C()) PRINT "Forward diff 2: " FNshowarray(C()) PROCforward_difference(9, A(), D()) PRINT "Forward diff 9: " FNshowarray(D()) END DEF PROCforward_difference(n%, a(), RETURN b()) LOCAL c%, i%, j% DIM b(DIM(a(),1) - n%) FOR i% = 0 TO DIM(b(),1) b(i%) = a(i% + n%) c% = 1 FOR j% = 1 TO n% c% = -INT(c% * (n% - j% + 1) / j% + 0.5) b(i%) += c% * a(i% + n% - j%) NEXT NEXT ENDPROC DEF FNshowarray(a()) LOCAL i%, a$ FOR i% = 0 TO DIM(a(),1) a$ += STR$(a(i%)) + ", " NEXT = LEFT$(LEFT$(a$))