$ include "seed7_05.s7i"; const func array integer: forwardDifference (in array integer: data) is func result var array integer: diffResult is 0 times 0; local var integer: index is 0; begin for index range 1 to pred(length(data)) do diffResult &:= -data[index] + data[succ(index)]; end for; end func; const proc: main is func local var array integer: data is [] (90, 47, 58, 29, 22, 32, 55, 5, 55, 73); var integer: level is 0; var integer: number is 0; var boolean: firstElement is TRUE; begin for level range 0 to length(data) do firstElement := TRUE; for number range data do if not firstElement then write(", "); end if; firstElement := FALSE; write(number); end for; writeln; data := forwardDifference(data); end for; end func;