от
Что BODMAS и почему это полезно в программировании?

Ваш ответ

Отображаемое имя (по желанию):
Конфиденциальность: Ваш электронный адрес будет использоваться только для отправки уведомлений.

7 Ответы

0 голосов
от
http://www.easymaths.com/What_on_earth_is_Bodmas.htm: Как вы думаете, ответ на 2 3 х 5 есть? Это (2 3) х 5 = 5 х 5 = 25 ? или 2 (3 х 5) = 2 15 = 17 ? BODMAS может прийти на помощь и дать нам правила таким образом, что мы всегда получаем правильный ответ: (Б)ракетки (о)приказ (д)платформу (м)ultiplication (а)добавить (с)ubtraction По данным BODMAS, умножение всегда должно быть сделано до того, поэтому 17-это на самом деле правильный ответ в соответствии с BODMAS, а также будет ответ что ваш калькулятор даст, если вы наберете в 2 3 х 5 . Почему это полезно в программировании? Понятия не имею, но я предполагаю, что это потому, что вы можете избавиться от некоторых скобках? Я довольно оборонительный программист, поэтому мои строки могут выглядеть так:
result = (((i   4) 

с BODMAS вы можете сделать это немного яснее:

result = (i   4 

Я думаю, что я бы все-таки использовать первый вариант - больше скобок, но таким образом, я не придется выучить еще одно правило, и я сталкиваюсь с меньшим риском забыл он и вызывает эти странные трудно отлаживать ошибки?

Только гадать на эту часть.

Майк Стоун редактировать: исправлена математике как Гаюс указывает
0 голосов
от
Другая версия этого (в средней школе) был "пожалуйста, простите мои дорогие тетя Салли". Скобки Экспоненты Умножение Отдел Дополнение Вычитание Мнемонические устройства был полезным в школе, и еще полезно в программировании сегодня.
0 голосов
от
Порядок выполнения операций в выражении, например:
foo * (bar   baz^2 / foo) 
Скобки сначала Заказы (т. е. полномочия и квадратные корни, и т. д.) Деление и умножение (слева-направо) Сложение и вычитание (слева направо) источник: http://www.mathsisfun.com/operation-order-bodmas.html
0 голосов
от
Я не имею возможность редактировать ответ @Михаил Бурчак, но это не совсем правильно. Он уменьшает
(i   4) 

для

(i   4 

Они не эквивалентны. Лучшие сокращения я могу сделать для всего выражения

((i   4) 

или

(i   4
0 голосов
от
Когда я узнал об этом в школе (в Канаде) он был передан в качестве BEDMAS: Скобки Экспоненты Отдел Умножение Дополнение Вычитание Просто для тех, кто из этой части мира...
0 голосов
от
Я не уверен, насколько это применимо к программированию старый BODMAS мнемосхема будет в любом случае. Нет никакой гарантии о порядке операций между языками, и хотя многие держат стандартные операции в таком порядке, не все это делают. И тогда есть языки, где порядок операций не является действительно все, что содержательное (диалектов Лиспа, например). Таким образом, вы, вероятно, лучше для программирования, если вы забыли стандартный заказ и либо использовать скобки для все(например (А*Б) С) или конкретно узнать того, для каждого языка вы работаете.
0 голосов
от
Я где-то читал, что особенно в Си/Си разбиение выражения на мелкие заявлений было лучше для оптимизации; поэтому вместо того, чтобы писать чрезвычайно сложных выражений в одной строке, вы кэш деталей на переменные и делать каждый в шаги, а затем построить их, как вы идете вдоль. Оптимизация процедуры будет использовать регистры в местах, где вы были переменными, так что это не должно влиять на пространство, но это может помочь компилятору немного.
...