Составьте программу на Паскале, переводящую дробное недесятичное число с основанием р в десятичную систему счисления. р больше или равно двум, меньше или равно девяти

27 Сен 2019 в 19:44
269 +1
0
Ответы
1

Программа на Паскале:

program ConvertFractionalNumber;
var
number: real;
base, integerPart: integer;
fractionalPart: real;
begin
write('Введите дробное число: ');
read(number);
write('Введите основание системы счисления (от 2 до 9): ');
read(base);
integerPart := trunc(number); // извлекаем целую часть
fractionalPart := number - integerPart; // извлекаем дробную часть
// переводим целую часть в десятичную систему
writeln('Целая часть:');
while integerPart > 0 do
begin
write(integerPart mod 10);
integerPart := integerPart div 10;
end;
// переводим дробную часть в десятичную систему
writeln;
writeln('Дробная часть:');
for integerPart := 1 to 10 do
begin
fractionalPart := fractionalPart * base;
write(trunc(fractionalPart));
fractionalPart := fractionalPart - trunc(fractionalPart);
end;
end.

Пример работы программы:

Введите дробное число: 3.14159
Введите основание системы счисления (от 2 до 9): 2
Целая часть:
11
Дробная часть:
0010010000

Данная программа переводит дробное число 3.14159 из двоичной системы счисления в десятичную.

19 Апр 2024 в 19:10
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир