34 lines
868 B
Plaintext
34 lines
868 B
Plaintext
$ 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;
|