Вывести целую и дробную часть вещественного числа - 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.
Объяснение кода листинга программы
- Объявлены переменные a, b, i, n типа integer и переменные c, b2, a2 типа real.
- С помощью функции readln() вводится значение переменной c.
- Переменная a инициализируется целой частью числа c с помощью функции trunc().
- Переменная a2 инициализируется дробной частью числа c с помощью функции trunc().
- В цикле while происходит деление переменной a2 на 10 и увеличение переменной n до тех пор, пока a2 больше 0.
- Переменная b2 инициализируется как произведение переменной a2 на 10 и увеличенное значение переменной i.
- В цикле while происходит умножение переменной b2 на 10 и увеличение переменной i до тех пор, пока i не станет равным n.
- Переменная b2 приводится к ближайшему целому значению с помощью функции round().
- Выводится сообщение, содержащее значения переменных a и b2.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д