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

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

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

Листинг программы
  1. razT:=S[5,b]-sumT;
  2. razT:=razT/2;
  3. S[5,h]:=S[5,h]+razT;
  4. writeln ('T',h,'=',S[5,h]);
  5. S[5,h1]:=S[5,h1]+razT;
  6. writeln ('T',h1,'=',S[5,h1]);
подскажите в чем проблема? когда razT прибавляется к элементу S[5,h1] то выводит вот такое число:0.0600000000000001, хотя должно 0.06, из-за этого в дальнейших расчетах получаются не те числа. С элементом S[5,h] все нормально, такое выдает если razT получается отрицательным, при положительном значении тоже все нормально выводит

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

textual
Листинг программы
  1. begin
  2.   var НомерЗвена        := 'A3';
  3.   var Тип               := 3;
  4.   var РазмерЗвена       := 200.06 + 1e-8;
  5.   var ВерхнееОтклонение := 0.01 - 1e-8;
  6.  
  7.   // Без форматирования - как есть
  8.   WriteLn('-'*57);
  9.   WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  10.   WriteLn('|    ', НомерЗвена, '     | ', Тип, '  | ', РазмерЗвена,
  11.           ' |   ', ВерхнееОтклонение, '     |');
  12.   WriteLn('-'*57, NewLine);
  13.  
  14.   // Способ c использованием формата вывода
  15.   WriteLn('-'*57);
  16.   WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  17.   WriteLn('|    ', НомерЗвена:4, '     | ', Тип:2, '  | ', РазмерЗвена:12:4,
  18.           ' |   ', ВерхнееОтклонение:12:4, '     |');
  19.   WriteLn('-'*57, NewLine);
  20.  
  21.   // Cпособ с использованием форматной строки
  22.   WriteLn('-'*57);
  23.   WriteLn('| Номер звена | Тип | Размер звена | Верхнее отклонение |');
  24.   WriteLnFormat('|     {0,3}     | {1,2}  | {2,12:f4} |   {3,12:f4}     |',
  25.                 НомерЗвена, Тип, РазмерЗвена, ВерхнееОтклонение);
  26.   WriteLn('-'*57, NewLine);
  27. end.

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

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

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


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

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

11   голосов , оценка 4.364 из 5

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

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

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