Напишите программу, которая для введенной десятичной дроби выполняет сдвиг десятичной точки на указанное число разрядов (позиций) вправо (если количество разрядов задано положительное) или влево (если количество разрядов задано отрицательное). язык pascal
Внимание! Если программа не работает, обновите версию!
begin
var a:=ReadReal('Введите число:');
var k:=ReadInteger('Введите величину сдвига десятичной точки:');
a:=a*10**k;
a.Println
end.
Примеры
Введите число: 12345.09876
Введите величину сдвига десятичной точки: -3
12.34509876
Введите число: 345.09876
Введите величину сдвига десятичной точки: 4
3450987.6
Введите число: 12345.09876
Введите величину сдвига десятичной точки: 8
1234509876000
Введите число: 12345.09876
Введите величину сдвига десятичной точки: 15
1.234509876E+19
Введите число: 1.23456789e-10
Введите величину сдвига десятичной точки: -25
1.23456789E-35
a:real;
begin
write('Введите число: ');
readln(a);
write('Введите число разрядов (позиций): ');
readln(r);
if(r>0) then for i:=1 to r do a:=a*10;
if(r<0) then for i:=1 to abs(r) do a:=a/10;
writeln(a)
end.