Напишите программу, которая переводит правильную дробь в десятичную, выделив (если нужно), период дроби - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Напишите программу, которая переводит правильную дробь в десятичную, выделив (если нужно), период дроби. Входные данные Входная строка содержит два числа M и N , разделённых пробелами. Гарантируется, что M < N . Выходные данные Программа должна вывести десятичную запись дроби , выделив (если нужно) её период. В качестве разделителя целой и дробной части используйте запятую. Примеры входные данные 1 2 выходные данные 0,5 входные данные 3 14 выходные данные 0,2(142857)

Решение задачи: «Напишите программу, которая переводит правильную дробь в десятичную, выделив (если нужно), период дроби»

textual
Листинг программы
var n, m, dot: integer;
    s: string;
begin
  read(n, m);
  s := FloatToStr(n / m);
  dot := pos('.', s);
  if (length(copy(s, dot, length(s) - dot)) <> 1) then begin
    insert('(', s, dot + 2);
    insert(')', s, length(s) + 1);
  end;
  delete(s, dot, 1);
  insert(',', s, dot);
  writeln(s);
end.

Объяснение кода листинга программы

  1. Объявлены переменные: n, m, dot (целые числа), s (строка).
  2. Ввод чисел n и m с помощью функции read.
  3. Вычисление и вывод десятичного числа с помощью функции FloatToStr.
  4. Поиск позиции десятичной точки в строке с помощью функции pos.
  5. Если длина числа меньше 2 (не является правильной дробью), то вставка скобок в числе.
  6. Удаление десятичной точки из числа.
  7. Вставка запятой после десятичной точки.
  8. Вывод полученного числа.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

7   голосов , оценка 4.286 из 5
Похожие ответы