"बोडामा" शब्द का क्या अर्थ है?

बोडामा क्या है और यह प्रोग्रामिंग में क्यों उपयोगी है?

0
जोड़ा संपादित
विचारों: 2
मैं आम तौर पर चार + - * * संचालन पर संचालन के क्रम को दिखाने के लिए सफेद स्थान का उपयोग करता हूं, जैसे: ए + बी * सी अन्य सभी ऑपरेटरों के लिए, मैं संचालन के आदेश को स्पष्ट करने के लिए ब्रांड्स का उपयोग करता हूं।
जोड़ा लेखक Jeremy Ruten, स्रोत
मैंने आज पहले बोडामा को कभी नहीं देखा है। मैंने पेम्दास (माता-पिता, एक्सपोनेंट्स, गुणा, डिवीजन, एडिशन, घटाव) सीखा।
जोड़ा लेखक FishBasketGordo, स्रोत
जोड़ा लेखक foxy, स्रोत

7 उत्तर

जब मैंने ग्रेड स्कूल (कनाडा में) में यह सीखा तो इसे बेडमास के रूप में जाना जाता था:

Brackets
Exponents
Division
Multiplication
Addition
Subtraction

बस दुनिया के इस हिस्से से उन लोगों के लिए ...

0
जोड़ा
इसी तरह न्यूजीलैंड में भी। 'एक्सपोनेंट' सामान्य रूप से नामित 'ऑर्डर' की तुलना में मेरे लिए अधिक समझ में आता है
जोड़ा लेखक Orion Edwards, स्रोत

http://www.easymaths.com/What_on_earth_is_Bodmas.htm:

आपको क्या लगता है कि 2 + 3 x 5 का उत्तर है?

     

क्या यह (2 + 3) x 5 = 5 x 5 = 25 है?

     <�पी> या 2 + (3 एक्स 5) = 2 + 15 = 17?      

बोडामा बचाव के लिए आ सकते हैं और हमें पालन करने के लिए नियम दे सकते हैं ताकि हम हमेशा सही उत्तर प्राप्त कर सकें:

     <�पी> (बी) रैकेट (ओ) rder (डी) ivision (एम) ultiplication (ए) डीडिशन (एस) ubtraction      

बीओडीएमएएस के अनुसार, गुणा को हमेशा जोड़ा जाने से पहले किया जाना चाहिए, इसलिए 17 वास्तव में बोडामा के अनुसार सही उत्तर है और यदि आप 2 + 3 x 5 टाइप करते हैं तो आपका कैलकुलेटर भी जवाब देगा।

प्रोग्रामिंग में यह क्यों उपयोगी है? कोई विचार नहीं, लेकिन मुझे लगता है कि ऐसा इसलिए है क्योंकि आप कुछ ब्रैकेट से छुटकारा पा सकते हैं? मैं एक काफी रक्षात्मक प्रोग्रामर हूं, इसलिए मेरी लाइनें इस तरह दिख सकती हैं:

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

बोडामा के साथ आप इसे थोड़ा स्पष्ट कर सकते हैं:

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

मुझे लगता है कि मैं अभी भी पहले संस्करण का उपयोग करूंगा - अधिक ब्रैकेट्स, लेकिन इस तरह मुझे अभी तक एक और नियम नहीं सीखना है और मैं इसे भूलने के कम जोखिम में भाग लेता हूं और उन अजीब त्रुटियों को डीबग करने के लिए कठिन बनाता हूं?

हालांकि उस हिस्से पर बस अनुमान लगाया।

माइक स्टोन संपादित करें: गायस के रूप में निश्चित गणित बताता है

0
जोड़ा
ईमानदार होने के लिए, मैं अनुमानित रूप से अनुकूलित संस्करण की बजाय आपकी "ब्रैकेट" शैली के साथ हूं। शायद यह सिर्फ मुझे है, लेकिन मुझे लगता है> परिणाम = (((i + 4) - (ए + बी)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER; मानसिक रूप से विश्लेषण करना आसान है ...
जोड़ा लेखक ZombieSheep, स्रोत

मुझे सच में यकीन नहीं है कि पुरानी बोडामास निमोनिक प्रोग्रामिंग के लिए कितना लागू है वैसे भी। भाषाओं के बीच संचालन के आदेश पर कोई गारंटी नहीं है, और कई लोग उस क्रम में मानक संचालन करते हैं, सभी नहीं। और फिर कुछ ऐसी भाषाएं हैं जहां संचालन का आदेश वास्तव में सभी अर्थपूर्ण नहीं है (उदाहरण के लिए लिस्प बोलीभाषाएं)। एक तरह से, यदि आप मानक ऑर्डर भूल जाते हैं और या तो सब कुछ के लिए ब्रांड्स का उपयोग करते हैं (उदाहरण के लिए (ए * बी) + सी) या विशेष रूप से आपके द्वारा काम की जाने वाली प्रत्येक भाषा के लिए ऑर्डर सीखते हैं, तो आप शायद प्रोग्रामिंग के लिए बेहतर हो सकते हैं।

0
जोड़ा

एक अभिव्यक्ति में संचालन का आदेश, जैसे कि:

foo * (bar + baz^2 / foo) 
  • Brackets first
  • Orders (ie Powers and Square Roots, etc.)
  • Division and Multiplication (left-to-right)
  • Addition and Subtraction (left-to-right)

source: http://www.mathsisfun.com/operation-order-bodmas.html

0
जोड़ा

इसका एक और संस्करण (मिडिल स्कूल में) "कृपया क्षमा करें मेरी प्रिय चाची सैली"।

  • कोष्ठक
  • Exponents
  • गुणा
  • प्रभाग
  • अतिरिक्त
  • घटाव

स्नोमोनिक डिवाइस स्कूल में सहायक था, और आज भी प्रोग्रामिंग में उपयोगी है।

0
जोड़ा

मेरे पास @ माइकल स्टम का उत्तर संपादित करने की शक्ति नहीं है, लेकिन यह बिल्कुल सही नहीं है। वह कम करता है

(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;
0
जोड़ा

मैंने कहीं पढ़ा है कि विशेष रूप से सी / सी ++ में छोटे अभिव्यक्तियों में आपकी अभिव्यक्तियों को विभाजित करना अनुकूलन के लिए बेहतर था; तो एक पंक्ति में बेहद जटिल अभिव्यक्तियों को लिखने के बजाय, आप भागों को चर में कैश करते हैं और प्रत्येक को चरणों में करते हैं, फिर साथ ही साथ उन्हें बनाते हैं।

ऑप्टिमाइज़ेशन दिनचर्या उन स्थानों पर रजिस्टरों का उपयोग करेगी जहां आपके पास चर थे इसलिए इसे अंतरिक्ष को प्रभावित नहीं करना चाहिए, लेकिन यह संकलक को थोड़ा सा मदद कर सकता है।

0
जोड़ा