Gõ 6÷2(1+2) vào hai máy tính, có thể máy này ra 9 còn máy kia ra 1. Gõ -3^2 vào máy tính và vào bảng tính, có thể nhận −9 và 9. Bấm 50 + 10 % trên máy tính bán hàng ra 55, còn máy tính khoa học ra 50,1. Không máy nào hỏng cả. Mỗi máy theo một quy tắc, và các quy tắc khác nhau ở vài chỗ cụ thể: phép nhân ngầm, dấu trừ đứng đầu, phím phần trăm, và việc máy có chờ đọc hết biểu thức hay không. Bài này đi qua từng trường hợp, giải thích lập luận, và cho biết máy tính khoa học trên trang này đọc theo cách nào. Mọi kết quả trích dẫn cho nó đều được tính bằng chính bộ phân tích của nó.
Phần mọi người đều đồng ý
Thứ tự cốt lõi không có gì tranh cãi. Ngoặc trước, rồi lũy thừa, rồi nhân và chia, rồi cộng và trừ. Các phép cùng bậc làm từ trái sang phải:
2+3×4bằng 14, vì nhân làm trước.(2+3)×4bằng 20.10-4-3bằng 3: (10 − 4) − 3, không bao giờ là 10 − (4 − 3).100/10/5bằng 2: (100 ÷ 10) ÷ 5.
Các câu thần chú như "nhân chia trước, cộng trừ sau" hay PEMDAS, BODMAS đều mô tả điều này, và chung một điểm yếu: chúng liệt kê nhân trước chia, khiến nhiều người nghĩ nhân được ưu tiên hơn chia. Không phải vậy. Nhân và chia cùng bậc, làm từ trái sang phải; cộng và trừ cũng thế.
Máy tính không chờ
Bất đồng đơn giản nhất đến từ máy tính bốn phép tính cơ bản, kể cả nhiều ứng dụng máy tính trên điện thoại ở chế độ đơn giản. Chúng tính ngay khi bấm: mỗi lần bạn bấm một phép toán, kết quả đến lúc đó được tính luôn. Bấm 2 + 3 × 4 =, máy tính 2 + 3 = 5 khi bạn bấm ×, rồi 5 × 4 = 20. Máy chưa bao giờ thấy cả biểu thức nên không thể áp dụng thứ tự ưu tiên.
Máy tính khoa học, bảng tính và ngôn ngữ lập trình đọc cả biểu thức trước rồi mới tính, nên ra 14. Nếu cần kiểm tra một phép tính làm trên máy cơ bản, hãy làm lại từng bước theo thứ tự đã bấm, không theo thứ tự toán học.
Phép nhân ngầm: 6÷2(1+2)
Đây là ví dụ nổi tiếng. Đọc đúng theo các quy tắc trên, 2(1+2) chỉ là 2 × (1 + 2), và nhân chia làm từ trái sang phải:
6 ÷ 2 × 3 = 3 × 3 = 9Nhưng nhiều người, và một số máy tính, coi một số viết sát dấu ngoặc là gắn chặt hơn dấu × tường minh: 2(1+2) được đọc như một khối, giống trong đại số khi 1/2x thường được hiểu là 1/(2x). Cách đọc đó cho:
6 ÷ (2 × 3) = 6 ÷ 6 = 1Không quy ước nào là "luật". Văn bản toán học thường tránh câu hỏi này bằng gạch phân số, làm cho cách nhóm hiện rõ. Trên một dòng chữ thì không có gạch phân số, nên thói quen an toàn duy nhất là viết đúng dấu ngoặc bạn muốn.
Máy tính trên trang này coi phép nhân ngầm giống hệt dấu ×, làm từ trái sang phải, nên 6÷2(1+2) bằng 9 và 6÷(2(1+2)) bằng 1. Quy tắc này áp dụng cả với hằng số: 1/2pi là (1/2) × π = 1.5707963267949, còn 1/(2pi) là 0.159154943091895. Khi chia cho một tích, hãy đặt tích đó trong ngoặc.
Dấu trừ đứng đầu: -3^2
Trong toán học viết tay, −3² nghĩa là −(3²) = −9: số mũ áp dụng cho số 3, dấu trừ áp dụng sau. Phần lớn máy tính khoa học và các ngôn ngữ lập trình có phép lũy thừa làm theo cách này. Bảng tính là ngoại lệ nổi tiếng: trong Excel và nhiều chương trình tương tự, =-3^2 trả về 9, vì phép đổi dấu được áp dụng cho số 3 trước khi lũy thừa. Microsoft có ghi rõ thứ tự này; đó là quy tắc chứ không phải lỗi, nhưng nó gây bất ngờ khi chuyển công thức giữa các công cụ.
Máy tính trên trang này theo cách đọc toán học:
-3^2= −9(-3)^2= 92^-2= 0.25 (dấu trừ đứng ngay sau^thuộc về số mũ)
Lũy thừa cũng nhóm từ phải: 2^3^2 là 2^(3^2) = 2^9 = 512, không phải (2^3)^2 = 64. Lũy thừa chồng tầng trong sách được đọc từ trên xuống, và máy tính cũng làm như vậy.
Phím phần trăm
Trên phần lớn máy tính cơ bản và máy tính bán hàng, % không phải một con số mà là một lệnh phụ thuộc phép toán đứng trước. 50 + 10 % nghĩa là "cộng thêm 10 % của 50", nên màn hình hiện 55; 50 − 10 % cho 45. Rất tiện khi tính giá, nhưng vô dụng cho việc khác, vì cùng một phím mang nghĩa khác nhau ở các vị trí khác nhau.
Trên máy tính khoa học này, % chỉ có nghĩa là "chia cho 100", ở bất cứ đâu:
200×15%= 30 (15 % của 200)50+10%= 50.1 (50 + 0,1)50*(1+10%)= 55 (50 tăng thêm 10 %)
Muốn kết quả như máy tính bán hàng, hãy viết như dòng cuối: nhân với (1 + tỷ lệ phần trăm). Với bài toán ngược, tìm một số bằng bao nhiêu phần trăm của số khác, công cụ tính phần trăm hiện luôn công thức đã dùng.
Toán tử đứng sau và hàm
Giai thừa và phần trăm đứng ngay sau một số và gắn chặt hơn mọi thứ, kể cả lũy thừa và dấu trừ đứng đầu:
3!^2= (3!)² = 36, và2^3!= 2^(3!) = 64-3!= −(3!) = −6
Tên hàm ở đây cần dấu ngoặc: sin(30), không phải sin 30. Một số máy chấp nhận sin 30^2 và phải tự quyết đó là sin(30²) hay (sin 30)²; bắt buộc dấu ngoặc loại bỏ câu hỏi đó. Đơn vị góc là một nguồn "sai" khác: sin(90) bằng 1 theo độ và 0.893996663600558 theo radian. Hãy kiểm tra chế độ độ/radian trước khi đổ lỗi cho thứ tự phép tính.
Độ chính xác là chuyện khác
Có những khác biệt hoàn toàn không liên quan đến thứ tự. Máy tính lưu số ở hệ nhị phân nên 0,1 và 0,2 không lưu chính xác được, và 0,1 + 0,2 thực ra là 0,30000000000000004. Máy tính hiển thị 15 chữ số có nghĩa sẽ hiện 0,3; cửa sổ lập trình hiện bản dài. sin(pi) theo radian cũng vậy: chính π đã bị làm tròn, nên kết quả là 1.22464679914735e-16 chứ không phải 0. Điều đó đúng với π đã làm tròn, không phải lỗi thứ tự phép tính.
Những lỗi thường gặp
- Tin vào thứ tự chữ trong câu thần chú. Nhân không đứng trước chia, cộng không đứng trước trừ. Cùng bậc, làm từ trái sang phải.
- Chia cho một tích viết ngầm.
1/2xvà6÷2(1+2)có nghĩa khác nhau trên các máy khác nhau. Hãy thêm ngoặc. - Bình phương số âm mà không có ngoặc.
-3^2là −9 trên máy tính và 9 trong bảng tính.(-3)^2là 9 ở mọi nơi. - Dùng phím % để tăng giá trên máy tính khoa học. Kết quả là 50,1 chứ không phải 55. Hãy nhân với 1,1.
- Quên chế độ góc. Một đáp số lượng giác trông vô lý thường là do sai đơn vị.
- Kiểm tra lại kết quả máy tính cơ bản bằng thứ tự ưu tiên. Máy đã tính từ trái sang phải theo đúng thứ tự bạn bấm; hãy làm lại theo cách đó.
Máy tính khoa học ghi rõ quy tắc của nó ngay trên trang, hiện đáp số khi bạn gõ và chỉ ra vị trí của mọi lỗi, để bạn thấy chính xác biểu thức được đọc thế nào trước khi tin vào kết quả.