При вычитании чисел появляется остаток - PascalABC.NET

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

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

подскажите в чем проблема? когда razT прибавляется к элементу S[5,h1] то выводит вот такое число:0.0600000000000001, хотя должно 0.06, из-за этого в дальнейших расчетах получаются не те числа. С элементом S[5,h] все нормально, такое выдает если razT получается отрицательным, при положительном значении тоже все нормально выводит

Решение задачи: «При вычитании чисел появляется остаток»

textual
Листинг программы
begin
  var НомерЗвена        := 'A3';
  var Тип               := 3;
  var РазмерЗвена       := 200.06 + 1e-8;
  var ВерхнееОтклонение := 0.01 - 1e-8;
 
  // Без форматирования - как есть
  WriteLn('-'*57);
  WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  WriteLn('|    ', НомерЗвена, '     | ', Тип, '  | ', РазмерЗвена,
          ' |   ', ВерхнееОтклонение, '     |');
  WriteLn('-'*57, NewLine);
  
  // Способ c использованием формата вывода
  WriteLn('-'*57);
  WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  WriteLn('|    ', НомерЗвена:4, '     | ', Тип:2, '  | ', РазмерЗвена:12:4,
          ' |   ', ВерхнееОтклонение:12:4, '     |');
  WriteLn('-'*57, NewLine);
  
  // Cпособ с использованием форматной строки
  WriteLn('-'*57);
  WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  WriteLnFormat('|     {0,3}     | {1,2}  | {2,12:f4} |   {3,12:f4}     |',
                НомерЗвена, Тип, РазмерЗвена, ВерхнееОтклонение);
  WriteLn('-'*57, NewLine);
end.

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

  1. В первой строке объявляются четыре переменные:
    • НомерЗвена (строка, значение 'A3');
    • Тип (целое число, значение 3);
    • РазмерЗвена (число с плавающей точкой, значение 200.06);
    • ВерхнееОтклонение (число с плавающей точкой, значение 0.01).
  2. В следующих трех строках код выводит значения переменных на экран с использованием различных способов форматирования:
    • Без форматирования (просто выводит значения переменных, при этом числа выводятся как десятичные числа, а не как числа с плавающей точкой);
    • C использованием формата вывода (можно указать количество символов для вывода значения каждой переменной);
    • C использованием форматной строки (можно указать количество символов для вывода значения каждой переменной и указать формат вывода чисел с плавающей точкой).

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


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

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

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