...
Về mặt toán học 2 công thức là tương đương nhau nhưng Vì sao 2 cho kết quả khác nhau?
Toán:
Phép +/- có tính cách phân bổ cho +/- khác
+(a - b) == +a +(-b) = + a - b
-(a - b) == -a -(-b) = -a + b
Biểu thức toàn +/- không có thứ tự tính toán
a - b + c == -b + a + c
Biểu thức gom theo dấu ngoặc
a - b + c == (a -b + c) == (a - b) + c == a +(-b + c)
Vì vậy
a1 - a2 - a3 - a4 == a1 - (a2 + a3 + a4) : hai biểu thức hoàn toàn tương đương
IT và lập trình:
Một biểu thức được tính theo thứ tự đẳng cấp toán tử.
Nếu đẳng cấp ngang nhau thì tính từ trái sang phải.
Phép +/- có ngang đẳng cấp thứ tự
Trong phép tính a - b + c, chương trình sẽ tính kết quả tạm t = a - b, sau đó tính t + c cho ra kết quả chính.
Tuy nhiên, dấu ngoặc có đẳng cấp cao nhất
Trong phép tính a1 - a2 - a3 - a4, Excel sẽ tính t = a1 - a2, kế đó t = t - a3, và cuối cùng kết quả = t - a4
Trong phép tính a1 - (a2 + a3 + a4), Excel sẽ tính a2 + a3 + a4 trước, t = a2 + a3, kế đó t = t + a4, và cuối cùng kết quả = a1 - t
Vật lý:
Khoảng năm lớp 10 hay 11 gì đó, có bài học về sai số và các phương pháp làm tròn.
Trong bài học này, học sinh sẽ được dạy rằng thực tế không hoàn toàn êm như lý tưởng của toán học.
(thậm chí có nhiều trường Đại học Âu Mẽo đặt trường Toán/Maths trong phân khoa Nghệ Thuật/Art, và Vật lý/Physics trong phân khoa Khoa học/Science)
Nếu không rớt câu hỏi về sai số, học sinh cũng biết rằng thực tế làm việc có những con số lẻ bắt buộc phải cắt bớt, với sai số nào đó. Và vì vậy
thứ tự tính toán có liên hệ mật thiết với sai số. Điển hình, gặp con toán a/3*b, người có căn bản khoa học sẽ tính a*b trước để giảm sai số.