32 lines
737 B
Text
32 lines
737 B
Text
$ include "seed7_05.s7i";
|
|
include "float.s7i";
|
|
|
|
const func float: vdc (in var integer: number, in integer: base) is func
|
|
result
|
|
var float: vdc is 0.0;
|
|
local
|
|
var integer: denom is 1;
|
|
var integer: remainder is 0;
|
|
begin
|
|
while number <> 0 do
|
|
denom *:= base;
|
|
remainder := number rem base;
|
|
number := number div base;
|
|
vdc +:= flt(remainder) / flt(denom);
|
|
end while;
|
|
end func;
|
|
|
|
const proc: main is func
|
|
local
|
|
var integer: base is 0;
|
|
var integer: number is 0;
|
|
begin
|
|
for base range 2 to 5 do
|
|
writeln;
|
|
writeln("Base " <& base);
|
|
for number range 0 to 9 do
|
|
write(vdc(number, base) digits 6 <& " ");
|
|
end for;
|
|
writeln;
|
|
end for;
|
|
end func;
|