math - موقع - ماذا يعني مصطلح "بودماس"؟




mathematics موقع (5)

ما هو بودماس ولماذا هو مفيد في البرمجة؟


أنا لست متأكدا حقا كيف يمكن تطبيقها على برمجة بودماس منيمون القديم هو على أي حال. ليس هناك ضمان على ترتيب العمليات بين اللغات، وبينما يحتفظ العديد من العمليات القياسية في هذا النظام، وليس كل شيء. ثم هناك بعض اللغات حيث ترتيب العمليات ليست حقا كل معنى (ليسب اللهجات، على سبيل المثال). وبطريقة ما، ربما تكون أفضل حالا للبرمجة إذا نسيت الترتيب القياسي، واستخدمت الأقواس لكل شيء (على سبيل المثال (a * b) + c) أو تعرف على وجه التحديد الترتيب لكل لغة تعمل فيها.


عندما علمت هذا في مدرسة الصف (في كندا) كان يشار إليها باسم بدماس:

B مضارب
E زبوننتس
D إيفيون
M أولتيبليكاتيون
A دتيتيون
S السحب

فقط لأولئك من هذا الجزء من العالم ...


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؟

بودماس يمكن أن تأتي إلى الإنقاذ وتعطينا قواعد لمتابعة بحيث نحصل دائما على الجواب الصحيح:

(B) مضارب (O) ردر (D) إيفيسيون (M) أولتيبليكاتيون (A) التجريب (S)

وفقا ل بودماس، يجب أن يتم الضرب دائما قبل إضافة، وبالتالي 17 هو في الواقع الإجابة الصحيحة وفقا ل بودماس، وسوف يكون أيضا الجواب الذي سوف تعطي آلة حاسبة إذا كنت اكتب في 2 + 3 × 5.

لماذا هو مفيد في البرمجة؟ لا فكرة، ولكن افترض انها لانك يمكن التخلص من بعض الأقواس؟ أنا مبرمج دفاعي تماما، لذلك خطوط بلدي يمكن أن تبدو مثل هذا:

result = (((i + 4) - (a + b)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER;

مع بودماس يمكنك جعل هذا أكثر وضوحا قليلا:

result = (i + 4 - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;

أعتقد أنني كنت لا تزال تستخدم البديل الأول - المزيد من الأقواس، ولكن بهذه الطريقة لم يكن لديك لمعرفة بعد قاعدة أخرى، وأنا تشغيل في خطر أقل من نسيانها وتسبب تلك غريبة من الصعب تصحيح الأخطاء؟

مجرد التخمين في ذلك الجزء على الرغم من.

مايك ستون إديت: الرياضيات الثابتة كما يشير غيوس بها


ترتيب العمليات في تعبير، مثل:

foo * (bar + baz^2 / foo) 
  • ب مضارب أولا
  • (أي القوى والجذور التربيعية، وما إلى ذلك)
  • D إفيسيون أند M أولتيبليكاتيون (من اليسار إلى اليمين)
  • A دتيتيون و S السحب (من اليسار إلى اليمين)

المصدر: http://www.mathsisfun.com/operation-order-bodmas.html


ليس لدي القدرة على تحرير إجابةMichael ستوم ، ولكنها ليست صحيحة تماما. انه يقلل

(i + 4) - (a + b)

إلى

(i + 4 - a + b)

وهي ليست مكافئة. أفضل تخفيض يمكنني الحصول على التعبير كله هو

((i + 4) - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;

أو

(i + 4 - a - b) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;




math