Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной - Free Pascal

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

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

Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной (получить n знаков после запятой) и определить, сколько раз встречается в результате цифра 5.

Решение задачи: «Заданы числитель и знаменатель обыкновенной дроби. Представить эту дробь в виде десятичной»

textual
Листинг программы
  1. {$mode objfpc}{$H+}
  2. uses
  3.   sysutils, math, gmp;
  4.  
  5. const
  6.   n = 100;
  7.  
  8. var
  9.   num, denom : integer;
  10.   p_num, p_denom, res : mpfloat;
  11.   s : string;
  12.   ch : char;
  13.   five : integer;
  14. begin
  15.   num := 4; denom := 7;
  16.   f_set_default_prec(floor(n / log_10_2));
  17.   f_init_set_si(p_num, num);
  18.   f_init_set_si(p_denom, denom);
  19.  
  20.   res := f_div(p_num, p_denom);
  21.   s := format('%s', [string(res)]);
  22.   s := copy(s, 1, pos('.', s) + n);
  23.   writeln(s);
  24.  
  25.   five := 0;
  26.   for ch in s do if ch = '5' then inc(five);
  27.   writeln('5''s -> ', five);
  28. end.

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

В данном коде задачей является представление обыкновенной дроби в виде десятичной.

  1. Импортируются необходимые модули: sysutils, math, gmp.
  2. Устанавливается константа n равная 100.
  3. Задаются числитель и знаменатель обыкновенной дроби в переменных num и denom соответственно.
  4. Создаются переменные p_num и p_denom типа mpfloat и инициализируются значениями числителя и знаменателя соответственно.
  5. Вычисляется результат деления числителя на знаменатель и сохраняется в переменной res.
  6. Полученный результат представляется в виде строки в переменной s с помощью функции format.
  7. Строка s обрабатывается таким образом, чтобы оставить только числительную часть (до десятичной точки).
  8. Полученная строка выводится на экран с помощью функции writeln.
  9. Инициализируется переменная five равной нулю.
  10. Происходит проверка каждого символа строки s. Если символ равен '5', то к переменной five прибавляется единица.
  11. Выводится количество символов '5' в переменной five.

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


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

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

6   голосов , оценка 4.667 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы