Напишите программу, которая для введенной десятичной дроби выполняет сдвиг десятичной точки на указанное число разрядов (позиций) вправо (если количество разрядов задано положительное) или влево (если количество разрядов задано отрицательное). язык pascal

rast2k17 rast2k17    2   23.09.2019 07:01    0

Ответы
ebanat3 ebanat3  08.10.2020 11:42
PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

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
ПОКАЗАТЬ ОТВЕТЫ
kristinalyapina1 kristinalyapina1  08.10.2020 11:42
Var r,i:integer;
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.
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика