2013-06-17 27 views
5

Tôi đang tạo thanh "Tìm kiếm cơ bản" mà người dùng có thể nhập theo thuật ngữ. Tôi không chắc chắn về thứ tự hoạt động của logic boolean.Boolean Logic (thứ tự của các hoạt động) A và B hoặc C

Nếu ai đó về (Nếu không có dấu ngoặc kép):

A và B hoặc C

cách chính xác để điều trị này là gì?

(A và B) hoặc (C)

HOẶC

(A) và (B hoặc C)

+1

Tôi nghĩ rằng điều này thuộc về ux.stackexchange.com, nhưng FWIW trong logic Boolean chuẩn, các quy tắc ưu tiên KHÔNG cao nhất, sau đó AND, sau đó là OR. – dodgethesteamroller

+0

@dodgethesteamroller Tại sao? Không có đề cập đến Unix, vv trong câu hỏi ..? – RBarryYoung

+0

@RBarryYoung 'ux' trong ux.stackexchange.com là dành cho" trải nghiệm người dùng ", không phải Unix. Quan điểm của tôi là có những vấn đề tiềm ẩn ở đây về cách trình bày các tùy chọn tìm kiếm Boolean - là ứng dụng sao cho người dùng cuối được mong đợi hiểu logic Boolean (ví dụ trong ngữ cảnh lập trình), hoặc chúng có thể hầu như không biết chữ (vi tính) ví dụ: trong tìm kiếm danh mục thẻ thư viện), hoặc ở đâu đó ở giữa? Nếu OP là "không chắc chắn về thứ tự của các hoạt động" thì làm thế nào tự tin là ông rằng người dùng của mình không bằng nhau không chắc chắn? – dodgethesteamroller

Trả lời

-1

Vâng điều đó phụ thuộc vào cách bạn muốn thiết kế hệ thống của bạn . Tôi biết trong Java và C++ AND có ưu tiên cao hơn (một cấp) so với OR, nhưng bạn đang tạo hệ thống này, vì vậy bạn quyết định.

+4

Tính nhất quán ngầm định phá vỡ các tiêu chuẩn tồi tệ hơn là không có sự nhất quán nào cả. – dodgethesteamroller

-3

(A) và (B hoặc C)

và phương tiện giao lộ hoặc "like" đoàn

Giống như trong toán học

"VÀ" cũng giống như một số nhân và "OR" như một khoản tiền

trong một "bảng chân lý"

HOẶC
A | B | kết quả
đúng | đúng | đúng
đúng | sai | đúng
đúng | sai | đúng
sai | sai | false

AND
A | B | kết quả
đúng | đúng | đúng
đúng | sai | false
true | sai | false
false | sai | sai

+0

OP không hỏi về ý nghĩa của AND và OR, nhưng ưu tiên tương đối của chúng. – dodgethesteamroller

4

Dựa trên phản ứng Quetzalcoatl của, câu trả lời đúng cho câu hỏi OP là:

(A và B) hoặc C

Đó là tương đương cho "A và B hoặc C"

Mặc dù Liên kết của Quetzalcoatl (http://en.wikipedia.org/wiki/Order_of_operations#Programming_languages) nói về ngôn ngữ lập trình (như trang web này), ưu tiên phổ biến hơn được chỉ định cho logic chung trong wikipedia:

https://en.wikipedia.org/wiki/Logical_connective#Order_of_precedence

Các vấn đề liên quan