Вывести целую и дробную часть вещественного числа - PascalABC.NET

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

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

Если целая и дробная часть числа равны - вывести на экран True Нет - False Приведенный ниже код не работает. Неверно считает дробную часть (вернее не так, как нужно). Решить нужно без строк, ифов и тп.

Решение задачи: «Вывести целую и дробную часть вещественного числа»

textual
Листинг программы
var a, b, i, n: integer;
//i - Г‘Г‘‡ГђµГ‘‚Г‘‡ГђВёГђВє ГђВІГ‘‚ГђВѕГ‘€ГђВѕГђВіГђВѕ Г‘†ГђВёГђВєГђ»Гђ° n - ГђВєГђВѕГђ»ГђВІГђВѕ Г‘†ГђВёГ‘„Г‘€ ГђВІ Г‘†ГђµГђВґГђВѕГђВ№ Г‘‡Гђ°Г‘Г‘‚ГђВё
c, b2, a2 : real;
begin
  readln(c);
  a := trunc(c); //ГђВїГђВѕГђ»Г‘ƒГ‘‡ГђВёГђ»ГђВё Г‘†ГђµГђ»Г‘ƒГ‘Ž Г‘‡Гђ°Г‘Г‘‚Г‘Œ
  a2 := trunc(c); //ГђВІГ‘‚ГђВѕГ‘€ГђВѕГђВ№ Г‘€Гђ°Гђ· ГђВїГђВѕГђ»Г‘ƒГ‘‡ГђВёГђ»ГђВё Г‘†ГђµГђ»Г‘ƒГ‘Ž Г‘‡Гђ°Г‘Г‘‚Г‘Œ, Г‘‡ГђµГ‘€ГђµГђ· ГђВЅГђµГђµ Г‘ƒГђ·ГђВЅГђ°ГђµГђВј,ГђВЅГђ° Г‘ГђВєГђВѕГђ»Г‘ŒГђВєГђВѕ ГђВїГђВѕГ‘‚ГђВѕГђВј Гђ±Г‘ƒГђВґГђµГђВј Г‘ƒГђВјГђВЅГђВѕГђ¶Гђ°Г‘‚Г‘Œ
  while trunc(a2) > 0 do
  begin
    a2 := a2/10;
    Inc(n);
  end;
  //ГђВЈГђ·ГђВЅГђ°Гђ»ГђВё, Г‘ГђВєГђВѕГђ»Г‘ŒГђВєГђВѕ Г‘†ГђВёГ‘„Г‘€ ГђВІ Г‘†ГђµГђ»ГђВѕГђВ№ Г‘‡Гђ°Г‘Г‘‚ГђВё, Г‘‚ГђµГђВїГђµГ‘€Г‘Œ ГђВЅГ‘ƒГђ¶ГђВЅГђВѕ ГђВїГђВѕГђ»Г‘ƒГ‘‡ГђВёГ‘‚Г‘Œ ГђВЅГђВѕГ‘€ГђВјГђ°Гђ»Г‘ŒГђВЅГђВѕГђµ Г‘‡ГђВёГ‘Гђ»ГђВѕ ГђВёГђ· ГђВґГ‘€ГђВѕГђ±ГђВЅГђВѕГђВ№
  b2 := frac(c);
  while i <> n do
  begin
    b2 := b2 * 10;
    Inc(i);
  end;
  b2 := round (b2);
  writeln(a=b2);
end.

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

  1. Объявлены переменные a, b, i, n типа integer и переменные c, b2, a2 типа real.
  2. С помощью функции readln() вводится значение переменной c.
  3. Переменная a инициализируется целой частью числа c с помощью функции trunc().
  4. Переменная a2 инициализируется дробной частью числа c с помощью функции trunc().
  5. В цикле while происходит деление переменной a2 на 10 и увеличение переменной n до тех пор, пока a2 больше 0.
  6. Переменная b2 инициализируется как произведение переменной a2 на 10 и увеличенное значение переменной i.
  7. В цикле while происходит умножение переменной b2 на 10 и увеличение переменной i до тех пор, пока i не станет равным n.
  8. Переменная b2 приводится к ближайшему целому значению с помощью функции round().
  9. Выводится сообщение, содержащее значения переменных a и b2.

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


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

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

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