BODMAS nedir ve neden programlamada yararlıdır?"BODMAS" terimi ne anlama geliyor?
cevap
http://www.easymaths.com/What_on_earth_is_Bodmas.htm:
sen 2 + 3 x 5'e cevabı ne düşünüyorsunuz?
Bu (2 + 3) x 5 = 5 x 5 = 25 mi?
veya 2 + (3 x 5) = 2 + 15 = 17?
BODMAS imdadına ve her zaman doğru cevap almak o kadar takip etmeye bize kuralları verebilir: (
(B) raketleri (O) order (D) ivision (M) ürem esi (A) Ayrıca bu yöntem S) ubtraction
BODMAS göre, çarpma daima bu nedenle 17 aslında BODMAS göre doğru cevaptır ve ayrıca 2 + 3 x 5 yazarsanız sizin hesap verecek cevap olacak, ilaveten önce yapılmalıdır.
Neden programlamada kullanışlıdır? Hiçbir fikrim yok, ama sanırım bazı parantezlerden kurtulabiliyorsunuz? Ben oldukça defansif programcı değilim, bu yüzden benim hatları şöyle olabilir:
result = (((i + 4) - (a + b)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER;
BODMAS ile bu biraz daha net yapabilirsiniz:
result = (i + 4 - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
Ben hala ilk varyasyonu kullanacak düşünüyorum - daha fazla parantez, ama bu şekilde başka bir kuralı öğrenmek zorunda değilim ve bunu unutmadan daha az riskle karşılaşıyorum ve hata ayıklama hatalarının çok zor olmasına neden oluyorsunuz?
Sadece bu kısımda tahmin et.
Mike Stone DÜZENLEME: Gaius olarak düzeltildi matematik "My Dear Teyze Sally bağışlayın lütfen" (ortaokulda) Bunun başka versiyonu oldu dışarı
Dürüst olmak gerekirse, sözde optimize edilmiş versiyondan ziyade "bracketty" stiliniz var. Belki de sadece ben varım, ama ben buluyorum sonuç = (((i + 4) - (a + b)) * MAGIC_NUMBER) - ANOTHER_MAGIC_NUMBER; Zihinsel olarak ayrıştırmak için daha kolay ... – ZombieSheep
işaret ediyor.
- Parantez
- Üslü
- Çarpma
- Lig
- eklenmesi
- Çıkarma
anımsatıcı cihaz Bugün okulda yararlı ve programlamada hala faydalı oldu. gibi bir ifadede işlemleri,
al: raket ilk
foo * (bar + baz^2/foo)
- B
- O rders (vs yani Yetki ve Karekök,)
- D ivision ve M ürem esi (soldan sağa)
- bir Ayrıca bu yöntem ve S ubtraction (soldan sağa)
kaynak: http://www.mathsisfun.com/operation-order-bodmas.html
o BEDMAS olarak sevk edildi:
B raket
e xponents
D ivision
M ürem esi
bir Ayrıca bu yöntem
S Sadece dünyanın bu gelenler için ubtraction
. ..
Benzer şekilde burada yeni zelanda. 'Üsler', genel olarak 'Emir' olarak adlandırılandan daha mantıklı. –
Ben zaten kaç yaşında BODMAS anımsatıcı programlama için geçerli gerçekten emin değilim. Diller arasındaki operasyonların düzenlenmesi konusunda bir garanti yoktur ve birçoğu standart işlemleri bu sıraya göre sürdürürken, hepsi değil. Ve sonra, operasyonların düzeninin gerçekten anlamlı olmadığı bazı diller var (örneğin Lisp lehçeleri). Eğer standart düzeni unutup ya her şey için parantez kullanın (örneğin, (a * b) + c) ya da özel olarak çalışmak her dil için sipariş öğrendikleri takdirde şekilde, programlama için muhtemelen daha çok işinize.
@Michael Stum's answer'u düzenleme gücüm yok, ancak bu doğru değil. O Onlar eşdeğer değildir
(i + 4) - (a + b)
(i + 4 - a + b)
için azaltır. Ben bütün ifadesi için alabileceğiniz en iyi azalma
((i + 4) - (a + b)) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
veya
(i + 4 - a - b) * MAGIC_NUMBER - ANOTHER_MAGIC_NUMBER;
O özellikle küçük tablolar halinde ifadeleri bölme optimizasyonu için daha iyiydi C/C++ içinde okumuştum olduğu; bunun yerine bir satırda derece karmaşık ifadeler yazma, sen değişkenlere parçaları önbelleğe ve adımda her birini, o zaman ilerledikçe onları kurmak. Eğer değişkenler vardı nerede boşluk etkilememelidir ancak derleyici biraz yardımcı olabilir böylece
optimizasyon rutinleri yerlerde kayıtlarını kullanacaktır.
- 1. "->" ne anlama geliyor?
- 2. Programlamada "sarma" ne anlama geliyor?
- 3. PHP'de "&" ne anlama geliyor?
- 4. Aslında ne anlama geliyor?
- 5. , bu ne anlama geliyor?
- 6. getActivity() ne anlama geliyor?
- 7. Field.Index.NOT_ANALYZED_NO_NORMS ne anlama geliyor
- 8. ^{} git'te ne anlama geliyor?
- 9. kotlin'de "::" ne anlama geliyor?
- 10. "ctx" ne anlama geliyor?
- 11. DTMobileIS ne anlama geliyor?
- 12. Javascript'te ne anlama geliyor?
- 13. jQuery'de $ ([]) ne anlama geliyor?
- 14. Futex_ ne anlama geliyor?
- 15. JQuery'de ne anlama geliyor?
- 16. JSX ne anlama geliyor?
- 17. Haskell'de '@' ne anlama geliyor?
- 18. Bu ne anlama geliyor?
- 19. 'ALFKI' ne anlama geliyor?
- 20. Prolog'da \ + ne anlama geliyor?
- 21. "_" burada ne anlama geliyor?
- 22. Kısmi ne anlama geliyor?
- 23. SGBD ne anlama geliyor?
- 24. CSS'de "*" ne anlama geliyor?
- 25. AVMediaTypeMuxed ne anlama geliyor?
- 26. Swift: "_, _" ne anlama geliyor?
- 27. `hl` ne anlama geliyor?
- 28. \ u003C ne anlama geliyor?
- 29. Bu ne anlama geliyor?
- 30. [[...]] python'da ne anlama geliyor?
[C ve C++ 'da işleç önceliği) (http://en.wikipedia.org/wiki/Operators_in_C_and_C%2B%2B#Operator_precedence) – foxy
Genellikle dört + -/üzerindeki işlem sırasını göstermek için beyaz boşluk kullanıyorum * işlemler, bunun gibi: a + b * c Diğer tüm operatörler için, işlem sırasını netleştirmek için parantezler kullanıyorum. –
Bugün BODMAS'ı daha önce hiç görmedim. PEMDAS (Parens, Exponents, Çarpma, Bölme, Toplama, Çıkarma) öğrendim. – FishBasketGordo