Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 16 
  Версия для печати (полностью) Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Мне нужно выделить НДС (налог на добавленную стоимость) из стоимости товара. Есть простое правило: стоимость делим на 118 (получаем 1%) и умножаем на 18, получаем выделенный из стоимости НДС.
Пример в рублях: 118/118=1 (один процент), далее, 1*18=18. В данном случае, НДС равен восемнадцати рублям. Это тривиально.

Меня интересует теоретическое обоснование второго способа!

Пример в рублях: 118*18=2124 (что это за число???), далее 2124/118=18.
То есть, в первом случае, я могу обоснавать промежуточный результат, а именно, нахождение одного процента и умножение его на количество процентов равных ставке НДС (18%). А вот второй случай мне не понятен. Теоретически непонятен!!!
И первый и второй случаи дают одинаково правильный результат!
Может кто подскажет?
P.S. Стоимость в 118 рублей я взял для наглядности.



Партнер
 

Member
Статус: Не в сети
Регистрация: 08.05.2006
Откуда: Москва
Может быть я чего то недопонял, но какая разница, что выполнять первым: деление или умножение?
118 / 118 * 18 = 118 * 18 / 118


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Popik писал(а):
Может быть я чего то недопонял, но какая разница, что выполнять первым: деление или умножение?118 / 118 * 18 = 118 * 18 / 118

Блин, так и есть. Я предполагал подобное. Только арифметика и математика не то, в чём я силён. Тут, хотелось бы обосновать это простыми фразами. Доказать, то есть. Мне и первый и второй способы одинаковы. Я их использую в прикладном плане. Не более.


 

Advanced member
Статус: Не в сети
Регистрация: 16.12.2002
Откуда: TSC! | Москва
Maxxtro :)
С точки зрения точности расчётов обычно правильнее вначале умножать, потом делить. Особенно если применяется округление до копеек. :)

_________________
TSC! Russia - присоединяйтесь!


 

Member
Статус: Не в сети
Регистрация: 19.09.2003
Откуда: USSR\Rostov
Maxxtro ты чего, 1й и 2й это одно и тоже.

_________________
Why are you here?
Do you have anything worth living for?


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Hil писал(а):
С точки зрения точности расчётов обычно правильнее вначале умножать, потом делить. Особенно если применяется округление до копеек.

Так и было. Во втором случае я получал округление до двенадцати разрядов после запятой. Калькулятор, естесственно, 14-digit. В первом случае округлениебыло в промежуточном результате. Надо взять другое число, хотя бы 100. И посмотреть.
BW4ever писал(а):
Maxxtro ты чего, 1й и 2й это одно и тоже.

Да. Так. Но округления получаются разные.

Задача в том, что, мне надо доказать, что второй способ лучше. Точнее, что ли...


 

Advanced member
Статус: Не в сети
Регистрация: 11.05.2003
Откуда: фром Нижний
Maxxtro писал(а):
Задача в том, что, мне надо доказать, что второй способ лучше. Точнее, что ли...

Элементарно, Ватсон. ;) При делении в случае бесконечной дроби мы теряем информацию по причине дискретности ЭВМ. При умножении информация не теряется, так как в случае умножения целого числа на целое бесконечность не получится ;) Следовательно, если деление мы будем производить после умножения - мы будем терять меньше полезной информации ;)

_________________
Компьютер нужно покупать как телевизор или машину: имеет значение лишь где аппарат сделан и кем.
А комплектующие пусть подбирает сам производитель


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
RU_SilaVlad писал(а):
Элементарно, Ватсон.При делении в случае бесконечной дроби мы теряем информацию по причине дискретности ЭВМ. При умножении информация не теряется, так как в случае умножения целого числа на целое бесконечность не получитсяСледовательно, если деление мы будем производить после умножения - мы будем терять меньше полезной информации

ОК! :beer: Вполне доступно.


 

Member
Статус: Не в сети
Регистрация: 08.05.2006
Откуда: Москва
Maxxtro писал(а):
Задача в том, что, мне надо доказать, что второй способ лучше. Точнее, что ли...

Такой же он :)
Просто при вычислении этого дела на калькуляторе с округлением до десятичной дроби он точнее.

Вот например смотри: надо нам 1 разделить на 3 и умножить на 3.
Если сначала 1 разделим на 3, получим 1/3 а в калькуляторе 0.(3)
Но! Если калькулятор старый и немодный, то он округлит 0.(3) до 0.33333333 (до какой то конечной записи). Потом когда мы умножим на 3, то получим 0.99999999, а не 1 (хотя на современных калькуляторах будет 1).

А если сначала умножим на 3, а потом разделим на 3, то будет 1. ( это думаю очевидно)


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Popik писал(а):
Но! Если калькулятор старый и немодный, то он округлит 0.(3) до 0.33333333 (до какой то конечной записи). Потом когда мы умножим на 3, то получим 0.99999999, а не 1 (хотя на современных калькуляторах будет 1).

Тут имеется ввиду бесконечная периодическая дробь?
RU_SilaVlad
Если я правильно понял, то, в случае умножения, мы увеличиваем число на энное количество раз (энное количество отрезков) согласно коэффициенту умножения. То есть складываем его с самим собой согласно множителю. Тут понятно. Число увеличивается. И дробей не должно быть. А с делением ситуация другая. Коэффициент (делитель) может не соответствовать тому количеству отрезков, что были вложены при умножении. Так? Если непонятно, я попытаюсь объяснить, просто, я пытаюсь это понять, но есть проблема в терминах.


 

Member
Статус: Не в сети
Регистрация: 08.05.2006
Откуда: Москва
Maxxtro писал(а):
Popik писал(а):
Но! Если калькулятор старый и немодный, то он округлит 0.(3) до 0.33333333 (до какой то конечной записи). Потом когда мы умножим на 3, то получим 0.99999999, а не 1 (хотя на современных калькуляторах будет 1).

Тут имеется ввиду бесконечная периодическая дробь?

Да. Это стандартное обозначение.


 

Advanced member
Статус: Не в сети
Регистрация: 11.05.2003
Откуда: фром Нижний
Maxxtro
Гм... Ну, можно и так сказать :) Если, конечно, не коробит изъясняться терминами для 3-5 классов :) Хотя сути это не меняет :)
Можешь ещё почитать тут, раз уж захотелось обоснований: http://www.delphikingdom.com/asp/viewit ... mode=print

_________________
Компьютер нужно покупать как телевизор или машину: имеет значение лишь где аппарат сделан и кем.
А комплектующие пусть подбирает сам производитель


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Popik писал(а):
Да. Это стандартное обозначение.

Понял.
Добавлено спустя 15 минут, 18 секунд
RU_SilaVlad писал(а):
Гм... Ну, можно и так сказатьЕсли, конечно, не коробит изъясняться терминами для 3-5 классов

RU_SilaVlad
Статья из ссылки предполагает приближение математики к возможностям цифровых машин. Я прочитал статью из ссылки пару раз по диагонали. Может, мои выводы неправильны. Однако, я понимаю, что округлять надо до такой степени, после которой погрешность округления не влияет на результат. Ну, можно округлить до 0,01 цента, при бюджете в пару десятков миллиардов, это округление может иметь решающую роль. Но, после пятой позиции после запятой, бюджет, такую ошибку переварит. Она не критична. Тут стоит поговорить о бесконечной периодической дроби, что тривиально. И о бесконечной непериодической, пример - число ПИ.
Тут интересный вопрос. Число ПИ, является плавающей константой (после запятой, конечно) отношения длины окружности к длине её диаметра. Тут используется только деление, причём тот случай, когда один параметр делиться на другой и их длины (отрезки) не соответствуют друг другу. Результат - бесконечная не периодическая дробь.


 

Member
Статус: Не в сети
Регистрация: 13.06.2006
Maxxtro
Приичем тут Пи? Это иррациональное число, т.е. число которое нельзя получить делением одного целого (и даже рационального) на другое. В данном случае с ними врядли получится столкнутся :)


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 20.06.2005
Откуда: Москва.
Swappp писал(а):
Приичем тут Пи? Это иррациональное число,

Ответ:

Maxxtro писал(а):
Тут стоит поговорить о бесконечной периодической дроби, что тривиально. И о бесконечной непериодической, пример - число ПИ.


 

Member
Статус: Не в сети
Регистрация: 13.06.2006
Maxxtro
Ну так я не понял, к чему это? Иррациональных чисел из рациональных путем арифметических действий (+,-,*,/) не получить... И в принципе их даже представить в ЦВМ не так просто, так что их можно рассматривать как числа с конечным числом цифр после запятой. А с рациональными числами тоже не все так просто, как может показаться. Например 0.1, вполне нормальная десятичная дробь, но компьютер то оперирует двоичными числами, а в двоичном виде получается уже бесконечная периодическая дробь... Так же есть языки программирования, в которых есть тип дробь, не число с плавающей точкой, а именно дробь с числителем и знаменателем, и арифметические операции выполняются по всем правилам (по крайней мере для целых чисел и таких же дробей, на счет плавающей точки не уверен), это например Smalltalk.


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 16 
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 18


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan