Bài viết

2.1: Các câu lệnh và toán tử logic


XEM TRƯỚC HOẠT ĐỘNG ( PageIndex {1} ): Câu lệnh kết hợp

Các nhà toán học thường phát triển các cách để xây dựng các đối tượng toán học mới từ các đối tượng toán học hiện có. Có thể hình thành các câu lệnh mới từ các câu lệnh hiện có bằng cách nối các câu lệnh với các từ như “và” và “hoặc” hoặc bằng cách phủ định câu lệnh. MỘT toán tử logic (hoặc liên kết) trên các câu lệnh toán học là một từ hoặc tổ hợp các từ kết hợp một hoặc nhiều câu lệnh toán học để tạo ra một phát biểu toán học mới. MỘT Tuyên bố phức hợp là một câu lệnh chứa một hoặc nhiều toán tử. Bởi vì một số toán tử được sử dụng rất thường xuyên trong logic và toán học, chúng tôi đặt tên cho chúng và sử dụng các ký hiệu đặc biệt để biểu diễn chúng.

  • Sự kết hợp của các câu lệnh (P ) và (Q ) là câu lệnh “ (P ) (Q ) ”và nó được ký hiệu là (P wedge Q ). Câu lệnh (P wedge Q ) chỉ đúng khi cả hai (P ) (Q ) là đúng.
  • Các phân ly của các câu lệnh (P ) và (Q ) là câu lệnh “ (P ) hoặc (Q ) ”và nó được ký hiệu là (P vee Q ). Câu lệnh (P vee Q ) chỉ đúng khi ít nhất một trong các lệnh (P ) hoặc (Q ) là đúng.
  • Các sự phủ định (của một tuyên bố) của câu lệnh (P ) là câu lệnh “không phải (P ) ”và được ký hiệu là ( urcorner P ). Sự phủ định của (P ) chỉ đúng khi (P ) là sai và ( urcorner P ) chỉ sai khi (P ) là đúng.
  • Các hàm ý hoặc có điều kiện là tuyên bố “Nếu như (P) sau đó (Q ) ”và được ký hiệu là (P thành Q ). Câu lệnh (P to Q ) thường được đọc là “ (P ) ngụ ý (Q ) và chúng ta đã thấy trong Phần 1.1 rằng (P thành Q ) chỉ sai khi (P ) là đúng và (Q ) là sai.

Một số nhận xét về sự tách rời.
Điều quan trọng là phải hiểu việc sử dụng toán tử “hoặc.” Trong toán học, chúng tôi sử dụng “bao gồm hoặc”Trừ khi có quy định khác. Điều này có nghĩa là (P vee Q ) đúng khi cả (P ) và (Q ) đều đúng và cũng khi chỉ một trong số chúng đúng. Nghĩa là, (P vee Q ) đúng khi ít nhất một trong số (P ) hoặc (Q ) đúng hoặc (P vee Q ) chỉ sai khi cả hai (P ) và (Q ) đều sai.

Một cách sử dụng khác của từ “hoặc” là “độc quyền hoặc. ” Đối với câu lệnh độc quyền hoặc, câu lệnh kết quả là sai khi cả hai câu lệnh đều đúng. Nghĩa là, “ (P ) độc quyền hoặc (Q )” chỉ đúng khi chính xác một trong số (P ) hoặc (Q ) là đúng. Trong cuộc sống hàng ngày, chúng ta thường sử dụng độc quyền hoặc. Khi ai đó nói, "Tại giao lộ, rẽ trái hoặc đi thẳng", người này đang sử dụng phím hoặc.

Một số nhận xét về sự phủ định. Mặc dù câu lệnh, ( urcorner P ), có thể được đọc là "Không phải là trường hợp (P )", nhưng thường có nhiều cách tốt hơn để nói hoặc viết điều này bằng tiếng Anh. Ví dụ, chúng ta thường nói (hoặc viết):

  • Phủ định của tuyên bố, "391 là số nguyên tố" là "391 không phải là số nguyên tố".
  • Phủ định của câu lệnh, “ (12 <9 )” là “ (12 ge 9 ).”
  1. Đối với các tuyên bố

    (P ): 15 là số lẻ (Q ): 15 là số nguyên tố
    Viết mỗi câu sau dưới dạng câu tiếng Anh và xác định

    cho dù chúng đúng hay sai.
    (a) (P nêm Q ). (b) (P vee Q ). (c) (P wedge urcorner Q ). (d) ( urcorner P vee urcorner Q ).

  2. Đối với các tuyên bố

    P: 15 là số lẻ R: 15 <17

    viết mỗi câu lệnh sau ở dạng tượng trưng bằng cách sử dụng các toán tử ( wedge ), ( vee ) và ( urcorner )

    (a) 15 ( ge ) 17. (b) 15 là số lẻ hoặc 15 ( ge ) 17.
    (c) 15 chẵn hoặc 15 <17. (d) 15 là số lẻ và 15 ( ge ) 17.

XEM TRƯỚC HOẠT ĐỘNG ( PageIndex {2} ): Giá trị trung thực của tuyên bố

Chúng tôi sẽ sử dụng hai câu lệnh sau cho tất cả Hoạt động xem trước này:

  • (P ) là câu "Trời đang mưa."
  • (Q ) là tuyên bố "Daisy đang chơi gôn."

Trong mỗi phần trong số bốn phần sau, một giá trị sự thật sẽ được gán cho các câu lệnh (P ) và (Q ). Ví dụ, trong Câu hỏi (1), chúng ta sẽ giả định rằng mỗi câu lệnh đều đúng. Trong Câu hỏi (2), chúng tôi sẽ giả định rằng (P ) là đúng và (Q ) là sai. Trong mỗi phần, hãy xác định giá trị chân lý của mỗi câu sau:

(a) ( (P wedge Q )) Trời đang mưa và Daisy đang chơi gôn.

(b) ( (P vee Q )) Trời đang mưa hoặc Daisy đang chơi gôn.

(c) ( (P to Q )) Nếu trời đang mưa, thì Daisy đang chơi gôn.

(d) ( ( urcorner P )) Trời không mưa.

Câu nào trong bốn câu [(a) đến (d)] là đúng và câu nào sai trong bốn trường hợp sau?

1. Khi (P ) là true (trời đang mưa) và (Q ) là true (Daisy đang chơi gôn).
2. Khi (P ) là true (trời đang mưa) và (Q ) là false (Daisy không chơi gôn).
3. Khi (P ) sai (trời không mưa) và (Q ) là đúng (Daisy đang chơi gôn).
4. Khi (P ) sai (trời không mưa) và (Q ) sai (Daisy không chơi gôn).

Trong các hoạt động xem trước cho phần này, chúng ta đã học về câu lệnh ghép và giá trị chân lý của chúng. Thông tin này có thể được tóm tắt bằng bảng sự thật như được hiển thị bên dưới.

(P) ( urcorner P )
NSNS
NSNS
(P)(NS) (P nêm Q )
NSNSNS
NSNSNS
NSNSNS
NSNSNS
(P)(NS) (P vee Q )
NSNSNS
NSNSNS
NSNSNS
NSNSNS
(P)(NS) (P đến Q )
NSNSNS
NSNSNS
NSNSNS
NSNSNS

Thay vì ghi nhớ các bảng chân trị, đối với nhiều người, việc nhớ các quy tắc được tóm tắt trong Bảng 2.1 sẽ dễ dàng hơn.

Bảng 2.1: Giá trị thực cho các kết nối chung
Nhà điều hànhHình thức tượng trưngTóm tắt các giá trị sự thật
Sự liên kết (P nêm Q )Chỉ đúng khi cả (P ) và (Q ) đều đúng
Phân ly (P vee Q )Chỉ sai khi cả (P ) và (Q ) đều sai
Phủ định ( urcorner P )Giá trị chân lý đối lập của (P )
Có điều kiện (P đến Q )Chỉ sai khi (P ) đúng và (Q ) sai

Các dạng khác của câu lệnh có điều kiện

Câu lệnh điều kiện cực kỳ quan trọng trong toán học vì hầu hết tất cả các định lý toán học đều được (hoặc có thể) phát biểu dưới dạng một câu lệnh điều kiện dưới dạng sau:

Nếu "một số điều kiện được đáp ứng", thì "điều gì đó sẽ xảy ra"

Điều bắt buộc là tất cả các sinh viên học toán phải hiểu cặn kẽ ý nghĩa của một câu lệnh điều kiện và bảng chân trị cho một câu lệnh điều kiện.

Chúng ta cũng cần lưu ý rằng trong ngôn ngữ tiếng Anh, có nhiều cách khác để diễn đạt câu điều kiện (P thành Q ) ngoài “If (P ), then (Q ).” Sau đây là một số cách phổ biến để diễn đạt câu lệnh điều kiện (P thành Q ) bằng tiếng Anh:

  • Nếu (P ), thì (Q ).
  • (P ) ngụ ý (Q ).
  • (P ) chỉ khi (Q ).
  • (Q ) nếu (P ).
  • Bất cứ khi nào (P ) là true, (Q ) là true.
  • (Q ) đúng bất cứ khi nào (P ) đúng.
  • (Q ) là cần thiết cho (P ). (Điều này có nghĩa là nếu (P ) là đúng, thì (Q ) nhất thiết phải đúng.)
  • (P ) là đủ cho (Q ). (Điều này có nghĩa là nếu bạn muốn (Q ) là đúng, thì chỉ cần chứng minh rằng (P ) là đúng.)

    Trong tất cả các trường hợp này, (P ) là giả thuyết của câu lệnh điều kiện và (Q ) là phần kết luận của câu lệnh điều kiện.

Kiểm tra Tiến trình 2.1: Trạng thái "Chỉ khi "T

Nhắc lại rằng một tứ giác là một đa giác bốn cạnh. Hãy để (S ) đại diện cho câu lệnh điều kiện đúng sau:

Nếu một tứ giác là một hình vuông thì nó là một hình chữ nhật.

Viết câu điều kiện này bằng tiếng Anh bằng cách sử dụng

  1. từ "bất cứ khi nào"
  2. cụm từ “chỉ khi”
  3. cụm từ "cần thiết cho"
  4. cụm từ "là đủ cho"
Trả lời

Thêm văn bản ở đây. Đừng xóa văn bản này trước.

Xây dựng bảng sự thật

Bảng chân trị cho câu lệnh ghép có thể được xây dựng bằng cách sử dụng bảng chân trị cho các kết nối cơ bản. Để minh họa điều này, chúng tôi sẽ xây dựng một bảng chân trị cho. ((P wedge urcorner Q) đến R ). Bước đầu tiên là xác định số hàng cần thiết.

  • Đối với một bảng chân trị có hai câu lệnh đơn giản khác nhau, cần có bốn hàng vì có bốn tổ hợp giá trị chân lý khác nhau cho hai câu lệnh. Chúng ta nên nhất quán với cách chúng ta thiết lập các hàng. Cách chúng ta sẽ thực hiện trong văn bản này là gắn nhãn các hàng cho câu lệnh đầu tiên với (T, T, F, F) và các hàng cho câu lệnh thứ hai với (T, F, T, F). Tất cả các bảng sự thật trong văn bản đều có sơ đồ này.
  • Đối với một bảng chân trị có ba câu lệnh đơn giản khác nhau, cần có tám hàng vì có tám tổ hợp giá trị chân lý khác nhau cho ba câu lệnh. Sơ đồ tiêu chuẩn của chúng tôi cho loại bảng chân lý này được thể hiện trong Bảng 2.2.

Bước tiếp theo là xác định các cột sẽ được sử dụng. Một cách để làm điều này là làm việc ngược lại từ dạng của câu lệnh đã cho. Đối với ((P wedge urcorner Q) to R ), bước cuối cùng là xử lý toán tử điều kiện (( to) ). Để làm điều này, chúng ta cần biết giá trị chân lý của ((P wedge urcorner Q) ) và (R ). Để xác định các giá trị chân lý cho ((P wedge urcorner Q) ), chúng ta cần áp dụng các quy tắc cho toán tử kết hợp (( wedge) ) và chúng ta cần biết các giá trị chân lý cho (P ) và ( urcorner Q ).

Bàn 2.2 là một bảng sự thật hoàn chỉnh cho ((P wedge urcorner Q) đến R ) với các số bước được chỉ ra ở cuối mỗi cột. Số bước tương ứng với thứ tự hoàn thành các cột.

Bảng 2.2: Bảng Chân lý cho ((P wedge urcorner Q) đến R )
(P)(NS)(NS) ( urcorner Q ) ((P wedge urcorner Q) ) ((P wedge urcorner Q) đến R )
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
NSNSNSNSNSNS
111234
  • Khi hoàn thành cột cho (P wedge urcorner Q ), hãy nhớ rằng thời điểm duy nhất kết hợp là đúng là khi cả (P ) và ( urcorner Q ) đều đúng.
  • Khi hoàn thành cột cho ((P wedge urcorner Q) đến R ), hãy nhớ rằng lần duy nhất câu lệnh điều kiện sai là khi giả thuyết ((P wedge urcorner Q) ) là đúng và kết luận, (R ), là sai.

Cột cuối cùng được nhập là bảng sự thật cho câu lệnh ((P wedge urcorner Q) to R ) bằng cách sử dụng thiết lập trong ba cột đầu tiên.

Kiểm tra tiến độ 2.2: Xây dựng bảng chân lý

Xây dựng bảng chân trị cho mỗi câu lệnh sau:

  1. (P wedge urcorner Q )
  2. ( urcorner (P wedge Q) )
  3. ( urcorner P wedge urcorner Q )
  4. ( urcorner P vee urcorner Q )

Có câu nào trong số này có cùng bảng chân lý không?

Trả lời

Thêm văn bản ở đây. Đừng xóa văn bản này trước.

Tuyên bố về hai điều kiện

Một số kết quả toán học được nêu ở dạng “ (P ) nếu và chỉ khi (Q )” hoặc “ (P ) là cần và đủ cho (Q ).” Một ví dụ sẽ là, "Một tam giác đều nếu và chỉ khi ba góc trong của nó đồng dạng." Dạng biểu tượng cho câu lệnh hai điều kiện “ (P ) nếu và chỉ khi (Q )” là (P leftrightarrow Q ). Để xác định bảng chân trị cho một câu lệnh hai điều kiện, bạn nên xem xét cẩn thận dạng của cụm từ “ (P ) nếu và chỉ khi (Q ).” Từ “và” gợi ý rằng câu lệnh này là một kết hợp. Trên thực tế, nó là sự kết hợp của các câu lệnh “ (P ) if (Q )” và “ (P ) chỉ khi (Q ).” Dạng biểu tượng của kết hợp này là ([(Q to P) wedge (P to Q] ).

Kiểm tra tiến trình 2.3: Bảng chân lý cho tuyên bố về điều kiện

Hoàn thành bảng sự thật cho ([(Q to P) wedge (P to Q] ). Sử dụng các cột sau: (P ), (Q ), (Q to P ) , (P to Q ) và ([(Q to P) wedge (P to Q] ). Cột cuối cùng của bảng này sẽ là sự thật cho (P leftrightarrow Q ) .

Trả lời

Thêm văn bản ở đây. Đừng xóa văn bản này trước.

Các hình thức khác của tuyên bố có điều kiện

Giống như với câu lệnh điều kiện, có một số cách phổ biến để diễn đạt câu lệnh hai điều kiện, (P leftrightarrow Q ), bằng ngôn ngữ tiếng Anh.

Thí dụ

  • (P ) là và chỉ khi (Q ).
  • (P ) là cần thiết và đủ cho (Q ).
  • (P ) ngụ ý (Q ) và (Q ) ngụ ý (P ).

Tautologies và mâu thuẫn

Định nghĩa: tautology

MỘT sự căng thẳng là một câu lệnh ghép S đúng với tất cả các tổ hợp giá trị chân lý có thể có của các câu lệnh thành phần là một phần của (S ). MỘT mâu thuẫn là một câu lệnh ghép sai đối với tất cả các tổ hợp giá trị chân lý có thể có của các câu lệnh thành phần là một phần của (S ).

Nghĩa là, một luận điểm nhất thiết phải đúng trong mọi hoàn cảnh, và một mâu thuẫn nhất thiết phải sai trong mọi hoàn cảnh.

Kiểm tra tiến độ 2.4 (Tautology và mâu thuẫn)

Đối với các câu lệnh (P ) và (Q ):

  1. Sử dụng bảng sự thật để chỉ ra rằng ((P vee urcorner P) ) là một phép tính toán.
  2. Sử dụng bảng sự thật để chỉ ra rằng ((P wedge urcorner P) ) là một mâu thuẫn.
  3. Sử dụng bảng chân lý để xác định xem (P to (P vee P) ) có phải là một phép rút gọn, một mâu thuẫn hay không.
Trả lời

Thêm văn bản ở đây. Đừng xóa văn bản này trước.

Bài tập Phần 2.1

  1. Giả sử rằng Daisy nói, "Nếu trời không mưa, thì tôi sẽ chơi gôn." Đến hôm sau bạn mới biết trời đổ mưa nhưng Daisy vẫn chơi gôn. Tuyên bố của Daisy đúng hay sai? Hỗ trợ kết luận của bạn.
  2. Giả sử rằng (P ) và (Q ) là các câu lệnh mà (P thành Q ) là đúng và ( urcorner Q ) là đúng. Kết luận nào (nếu có) về giá trị chân lý của mỗi phát biểu sau đây?

    (a) (P )
    (b) (P nêm Q )
    (c) (P vee Q )

  3. Giả sử rằng (P ) và (Q ) là các câu lệnh mà (P thành Q ) là sai. Kết luận nào (nếu có) về giá trị chân lý của mỗi phát biểu sau đây?

    (a) ( urcorner P đến Q )
    (b) (Q đến P )
    (c) (P vee Q )

  4. Giả sử rằng (P ) và (Q ) là các câu lệnh mà (Q ) là sai và ( urcorner P thành Q ) là đúng (và không biết (R ) có phải là không đúng hay sai). Kết luận nào (nếu có) về giá trị chân lý của mỗi phát biểu sau đây?

    (a) ( urcorner Q đến P )
    (b) (P )
    (c) (P nêm R )
    (d) (R to urcorner P )

  5. Xây dựng bảng chân trị cho mỗi câu lệnh sau:

    (a) (P đến Q )
    (b) (Q đến P )
    (c) ( urcorner P to urcorner Q )
    (d) ( urcorner Q to urcorner P )

    Có câu nào trong số này có cùng bảng chân lý không?

  6. Xây dựng bảng chân trị cho mỗi câu lệnh sau:

    (a) (P vee urcorner Q )
    (b) ( urcorner (P vee Q) )
    (c) ( urcorner P vee urcorner Q )
    (d) ( urcorner P wedge urcorner Q )

    Có câu nào trong số này có cùng bảng chân lý không?

  7. Xây dựng bảng chân lý cho (P wedge (Q vee R) ) và ((P wedge Q) vee (P wedge R) ). Bạn quan sát thấy gì.
  8. Giả sử mỗi câu sau đây là đúng.
    • Laura đang học lớp bảy.
    • Laura đạt điểm A trong bài kiểm tra toán học hoặc Sarah đạt điểm A trong bài kiểm tra toán học.
    • Nếu Sarah đạt điểm A trong bài kiểm tra toán, thì Laura chưa học lớp bảy.

      Nếu có thể, hãy xác định giá trị chân lý của mỗi câu sau. Giải thích cẩn thận lý do của bạn.

      (a) Laura đạt điểm A trong bài kiểm tra toán học.
      (b) Sarah đạt điểm A trong bài kiểm tra toán học.
      (c) Laura hoặc Sarah không đạt điểm A trong bài kiểm tra toán học.

  9. Đặt (P ) là viết tắt của "số nguyên (x ) là chẵn," và (Q ) là viết tắt của " (x ^ 2 ) là chẵn." Diễn đạt câu lệnh điều kiện (P to Q ) bằng tiếng Anh bằng cách sử dụng

    (a) Dạng "nếu thì" của câu lệnh điều kiện
    (b) Từ "ngụ ý"
    (c) Dạng "only if" của câu lệnh điều kiện
    (d) Cụm từ "cần thiết cho"
    (e) Cụm từ "đủ cho"

  10. Lặp lại Bài tập (9) cho câu lệnh điều kiện (Q to P ).
  11. Đối với các câu lệnh (P ) và (Q ), hãy sử dụng các bảng chân lý để xác định xem mỗi câu lệnh sau đây là một phép suy luận, một mâu thuẫn hay không.
    (a) ( urcorner Q vee (P đến Q) ).
    (b) (Q wedge (P wedge urcorner Q) ).
    (c) ((Q wedge P) wedge (P to urcorner Q) ).
    (d) ( urcorner Q to (P wedge urcorner P) ).
  12. Đối với các câu lệnh (P ), (Q ) và (R ):
    (a) Chứng tỏ rằng ([(P to Q) wedge P] to Q ) là một phép rút gọn. Ghi chú: Trong logic biểu tượng, đây là một dạng lập luận logic quan trọng được gọi là modus ponens.
    (b) Chứng tỏ rằng ([(P to Q) wedge (Q to R)] to (P to R) ) là atautology. Ghi chú: Trong logic biểu tượng, đây là một dạng lập luận logic quan trọng được gọi là thuyết âm tiết.

    Khám phá và Hoạt động

  13. Làm việc với các câu lệnh có điều kiện. Hoàn thành bảng sau:
    Hình thức tiếng AnhGiả thuyếtSự kết luậnHình thức tượng trưng
    Nếu (P ), thì (Q )(P)(NS) (P đến Q )
    (Q ) chỉ khi (P )(NS)(P) (Q đến P )
    (P ) là cần thiết cho (Q )
    (P ) là đủ cho (Q )
    (Q ) là cần thiết cho (P )
    (P ) ngụ ý (Q )
    (P ) chỉ khi (Q )
    (P ) nếu (Q )
    if (Q ) then (P )
    if ( urcorner Q ) then ( urcorner P )
    if (Q ), then (Q wedge R )
    nếu (P vee Q ), thì (R )
  14. Làm việc với Giá trị Sự thật của Tuyên bố. Giả sử rằng (P ) và (Q ) là các câu lệnh đúng, (U ) và (V ) là các câu lệnh sai và (W ) là một câu lệnh và không biết nếu (W ) đúng hay sai.

    Câu nào sau đây đúng, câu nào sai, câu nào không xác định được là đúng hay sai? Biện minh cho kết luận của bạn.

    (a) ((P vee Q) vee (U wedge W) ) (f) (( urcorner P vee urcorner U) wedge (Q vee urcorner V) )
    (b) (P wedge (Q to W) ) (g) ((P wedge urcorner Q) wedge (U vee W) )
    (c) (P wedge (W to Q) ) (h) ((P vee urcorner Q) to (U wedge W) )
    (d) (W to (P wedge U) ) (i) ((P vee W) to (U wedge W) )
    (e) (W to (P wedge urcorner U) ) (j) ((U wedge urcorner V) to (P wedge W) )

Trả lời

Thêm văn bản ở đây. Đừng xóa văn bản này trước.


Các toán tử logic PowerShell kết nối các biểu thức và câu lệnh, cho phép bạn sử dụng một biểu thức duy nhất để kiểm tra nhiều điều kiện.

Ví dụ, câu lệnh sau sử dụng toán tử và và toán tử or để kết nối ba câu lệnh điều kiện. Câu lệnh chỉ đúng khi giá trị của $ a lớn hơn giá trị của $ b và $ a hoặc $ b nhỏ hơn 20.

PowerShell hỗ trợ các toán tử logic sau.

Nhà điều hành Sự miêu tả Thí dụ
-và Logic AND. ĐÚNG khi cả hai (1 -eq 1) -và (1 -eq 2)
câu lệnh là ĐÚNG. Sai
-hoặc Logic HOẶC. ĐÚNG khi một trong hai (1 -eq 1) -hoặc (1 -eq 2)
tuyên bố là ĐÚNG. Đúng vậy
-xor Logic ĐỘC QUYỀN HAY. ĐÚNG khi (1 -eq 1) -xor (2 -eq 2)
chỉ có một tuyên bố là ĐÚNG Sai
-không phải Không logic. Phủ định tuyên bố -không (1 -eq 1)
sau đó. Sai
! Giống như-không ! (1 -eq 1)
Sai

Các ví dụ trước cũng sử dụng toán tử bằng với so sánh -eq. Để biết thêm thông tin, hãy xem about_Comparison_Operators. Các ví dụ cũng sử dụng các giá trị Boolean của số nguyên. Số nguyên 0 có giá trị là FALSE. Tất cả các số nguyên khác có giá trị là TRUE.

Cú pháp của các toán tử logic như sau:

Các câu lệnh sử dụng toán tử logic trả về giá trị Boolean (TRUE hoặc FALSE).

Các toán tử logic PowerShell chỉ đánh giá các câu lệnh cần thiết để xác định giá trị chân lý của câu lệnh. Nếu toán hạng bên trái trong một câu lệnh có chứa toán tử và là FALSE, thì toán hạng bên phải không được đánh giá. Nếu toán hạng bên trái trong một câu lệnh có chứa câu lệnh hoặc là TRUE, thì toán hạng bên phải không được đánh giá. Do đó, bạn có thể sử dụng các câu lệnh này giống như cách bạn sử dụng câu lệnh If.


Mẫu 2: Nhiều toán tử logic

Định nghĩa chính sách này đánh giá tài nguyên cho một mẫu đặt tên. Nếu một tài nguyên không khớp, nó sẽ bị từ chối.

Mẫu 2: Giải thích

Cái này policyRule.if khối cũng bao gồm một tất cả, nhưng mỗi điều kiện được bao bọc bằng không phải toán tử logic. Điều kiện bên trong không phải toán tử logic đánh giá đầu tiên và sau đó đánh giá không phải để xác định xem toàn bộ mệnh đề là đúng hay sai. Nếu cả hai không phải toán tử logic đánh giá thành true, hiệu ứng chính sách sẽ kích hoạt.


Truy xuất SQL đơn giản

Phủ định

Toán tử logic NOT (hoặc!) Đảo ngược kết quả của biểu thức logic. Nếu một hàng đáp ứng tiêu chí trong một vị ngữ, thì đặt KHÔNG ở trước tiêu chí loại trừ hàng từ kết quả. Tương tự, nếu một hàng không đáp ứng tiêu chí trong một vị từ, thì hãy đặt KHÔNG ở trước biểu thức bao gồm hàng trong kết quả. Ví dụ,

truy xuất tất cả các hàng có chi phí không nhỏ hơn hoặc bằng $ 50 (nói cách khác, lớn hơn $ 50). Đầu tiên, DBMS đánh giá giá trị trong hỏi giá cột chống lại biểu thức hỏi giá & lt = 50. Nếu hàng đáp ứng các tiêu chí, thì DBMS không làm gì cả. Nếu hàng không đáp ứng tiêu chí, nó sẽ bao gồm hàng trong kết quả.

Các dấu ngoặc trong ví dụ trước nhóm biểu thức KHÔNG được áp dụng. Trong ví dụ sau, toán tử NOT chỉ áp dụng cho biểu thức hỏi giá & lt = 50.

AND sell_price & lt ask_price

NOT có thể hơi phức tạp khi nó được áp dụng cho các biểu thức phức tạp Như một ví dụ, hãy xem xét biểu thức này:

AND sell_price & lt ask_price)

Các hàng có cả giá chào bán nhỏ hơn hoặc bằng $ 50 và giá bán nhỏ hơn giá chào bán sẽ đáp ứng các tiêu chí trong ngoặc đơn. Tuy nhiên, toán tử NOT loại trừ chúng khỏi kết quả. Những hàng có giá chào bán lớn hơn $ 50 hoặc giá bán lớn hơn hoặc bằng giá chào bán sẽ không đạt tiêu chí trong ngoặc đơn, nhưng sẽ được đưa vào kết quả bởi KHÔNG. Điều này có nghĩa là biểu thức thực sự giống như

HOẶC sell_price & gt = ask_price

HOẶC KHÔNG (giá_bán & lt giá_chính_phí)


Hợp lý Toán tử AND (& amp & amp)

Kết cấu

Hợp lý toán tử cho đúng chỉ một nếu cả hai Tuyên bố 1 và Statement2 là sự thật. Nếu một trong hai Statement1 hoặc Statement2 hoặc cả hai đều sai, thì nó sẽ dẫn đến sai. Dưới đây nếu bảng sự thật:

Statement1Statement2Câu lệnh1 || Statemen2
000
010
100
111

Dưới đây là một ví dụ cho thấy cách sử dụng logic nhà điều hành:

Đầu ra màn hình nối tiếp:


Toán tử logic được sử dụng để xác định logic giữa các biến hoặc giá trị.

Cho rằng x = 6 và y = 3, bảng dưới đây giải thích các toán tử logic:

Nhà điều hành Sự miêu tả Thí dụ Thử nó
& amp & amp (x & lt 10 & amp & amp y & gt 1) là đúng Hãy thử và raquo
|| hoặc (x == 5 || y == 5) là sai Hãy thử nó & raquo
! không phải ! (x == y) là đúng Hãy thử và raquo

Giới thiệu về R

Các chức năng mà chúng tôi đã tạo cho đến nay hoàn toàn phù hợp với những gì chúng tôi cần, mặc dù chúng khá đơn giản. Hãy thử tạo một hàm phức tạp hơn một chút. Chúng tôi sẽ thực hiện một hàm để xác định xem hôm nay có phải là một ngày tốt lành hay không dựa trên hai tiêu chí. Tiêu chí đầu tiên sẽ phụ thuộc vào ngày trong tuần (thứ sáu hay không) và tiêu chí thứ hai là mã của bạn có hoạt động hay không (TRUE hoặc FALSE). Để thực hiện điều này, chúng tôi sẽ sử dụng các câu lệnh if và else. Sự phức tạp sẽ đến từ các câu lệnh if ngay sau câu lệnh else có liên quan. Chúng tôi sẽ sử dụng các câu lệnh có điều kiện như vậy bốn lần để đạt được tất cả các kết hợp giữa việc đó có phải là thứ Sáu hay không và mã của bạn có hoạt động hay không.

Lưu ý rằng chúng tôi chưa bao giờ chỉ định phải làm gì nếu ngày đó không phải là thứ sáu? Đó là bởi vì, đối với chức năng này, điều duy nhất quan trọng là có phải là Thứ Sáu hay không.

Chúng tôi cũng đang sử dụng các toán tử logic bất cứ khi nào chúng tôi sử dụng các câu lệnh if. Các toán tử logic là phần cuối cùng của câu ghép các điều kiện logic. Dưới đây là bảng tóm tắt các toán tử. Hai toán tử đầu tiên là toán tử logic và sáu toán tử cuối cùng là toán tử quan hệ. Bạn có thể sử dụng bất kỳ hàm nào trong số này khi tạo các hàm (hoặc vòng lặp) của riêng mình.


Toán tử logic

Các nếu như, nếu như. khác, trong khi, làm. trong khi mỗi câu lệnh yêu cầu một điều kiện để xác định cách tiếp tục luồng điều khiển của chương trình. Cho đến nay, chúng tôi mới chỉ nghiên cứu các điều kiện đơn giản, chẳng hạn như count & lt = 10, number! = sentinelValue và tổng & gt 1000. Các điều kiện đơn giản được thể hiện dưới dạng các toán tử quan hệ & gt, & lt, & gt =& lt = và các toán tử bình đẳng ==!=và mỗi biểu thức chỉ kiểm tra một điều kiện. Để kiểm tra nhiều điều kiện trong quá trình đưa ra quyết định, chúng tôi đã thực hiện các kiểm tra này trong các câu lệnh riêng biệt hoặc trong nếu như hoặc nếu như. khác các câu lệnh. Đôi khi, các câu lệnh điều khiển yêu cầu các điều kiện phức tạp hơn để xác định luồng điều khiển của chương trình.

Java cung cấp toán tử logic để cho phép người lập trình hình thành các điều kiện phức tạp hơn bằng cách kết hợp các điều kiện đơn giản. Các toán tử logic là & amp & amp (AND có điều kiện), || (OR có điều kiện), & amp (boolean logic AND), | (boolean logic bao gồm HOẶC), ^ (boolean logic loại trừ HOẶC) và ! (KHÔNG hợp lý).

AND có điều kiện (& amp & amp) Nhà điều hành

Giả sử rằng chúng ta muốn đảm bảo tại một thời điểm nào đó trong chương trình rằng hai điều kiện đều đúng trước khi chúng ta chọn một đường dẫn thực thi nhất định. Trong trường hợp này, chúng ta có thể sử dụng & amp & amp (AND có điều kiện) toán tử, như sau:

Cái này nếu như câu lệnh chứa hai điều kiện đơn giản. Điều kiện giới tính == FEMALE so sánh biến giới tính đến hằng số GIỐNG CÁI. Ví dụ, điều này có thể được đánh giá để xác định xem một người có phải là nữ hay không. Điều kiện tuổi & gt = 65 có thể được đánh giá để xác định xem một người có phải là công dân cao cấp hay không. Các nếu như tuyên bố xem xét điều kiện kết hợp

điều này đúng nếu và chỉ khi cả hai điều kiện đơn giản đều đúng. Nếu điều kiện kết hợp là đúng, nếu như gia số nội dung câu lệnh & # 39 SeniorFemales qua 1. Nếu một trong hai hoặc cả hai điều kiện đơn giản là sai, chương trình sẽ bỏ qua bước tăng. Một số lập trình viên thấy rằng điều kiện kết hợp trước dễ đọc hơn khi thêm dấu ngoặc đơn thừa, như trong:

Bảng trong Hình 5.14 tóm tắt & amp & amp nhà điều hành. Bảng hiển thị tất cả bốn kết hợp có thể có của saithật các giá trị cho biểu thức1 và biểu thức2. Những bảng như vậy được gọi là bảng sự thật. Java đánh giá sai hoặc thật tất cả các biểu thức bao gồm toán tử quan hệ, toán tử bình đẳng hoặc toán tử logic.


Toán tử logic NOT AND OR trong SQL

Trong ví dụ 'NOT' 'AND' 'OR' toán tử cùng với SQL SELECT STATEMENT đã được sử dụng.

Để nhận dữ liệu của 'cust_code', 'cust_name', 'cust_city', 'cust_country' và 'grade' từ bảng 'customer' với các điều kiện sau:

1. 'cust_country' không phải là "UK",

2. hoặc 'cust_city' phải khác với 'Bangalore',

3. và 'cấp độ' của 'khách hàng' phải lớn hơn 1,

câu lệnh SQL sau có thể được sử dụng:

Để nhận dữ liệu dữ liệu của tất cả 'cust_code', 'cust_name', 'cust_city', 'cust_country' và 'grade' từ bảng 'customer' với các điều kiện sau:

1. lớp là 1 hoặc 'agent_code' là A003 sẽ không đến,

2. và 'cust_country' là 'Ấn Độ' sẽ không đến,

đây là câu lệnh SQL có thể được sử dụng:


Các toán tử logic được sử dụng để thực hiện các hoạt động trên một hoặc hai biến để đánh giá và truy xuất kết quả logic. Thông thường, giá trị trả về cho các phép toán logic ở định dạng boolean và được áp dụng trong chương trình để thiết lập khả năng kiểm soát tốt hơn trong luồng thực thi của chương trình & # 8217s. Trong Java, các toán tử logic được sử dụng là & # 8216 & amp & # 8217 để thực hiện hoạt động AND, & # 8216 | & # 8217 cho hoạt động OR, & # 8216! & # 8217 cho hoạt động NOT và & # 8216 ^ & # 8217 cho hoạt động XOR .

Các tính năng của toán tử logic trong Java

    để kiểm soát luồng thực thi.
  • Toán tử logic Boolean luôn trả về giá trị Boolean.
  • Các toán tử này được áp dụng cho một hoặc nhiều toán hạng Boolean.
  • Java cung cấp 4 toán tử logic “& amp”, ”|”, ”!” Hoặc ”

Hãy xem xét bảng sau để biết kết quả của mỗi thao tác trên một đầu vào cụ thể.

Phát triển web, ngôn ngữ lập trình, kiểm thử phần mềm và những thứ khác

Các toán tử logic khác nhau trong Java với mô tả

Bảng sau đây cho thấy toán tử và mô tả của nó.

1. Toán tử logic VÀ “& amp”

Toán tử “& amp” hợp lý thực hiện phép toán AND kỹ thuật số. Toán tử này hoạt động trên hai toán hạng Boolean, và kết quả sẽ là Boolean. Toán tử AND được biểu thị bằng ký hiệu “& amp” hoặc “& amp & amp” tức là hoạt động AND ngắn mạch.

Operand1 và Operand2 là bất kỳ giá trị Boolean nào.

  1. Đúng vậy: kết quả là True nếu và chỉ khi cả hai giá trị toán hạng đều True.
  2. Sai: kết quả là Sai khi bất kỳ một trong các giá trị toán hạng là sai. Và nếu cả hai giá trị là Sai.

Bảng sự thật của AND:

MỘT NS A & amp B
FALSE (0) FALSE (0) FALSE (0)
FALSE (0) ĐÚNG (1) FALSE (0)
ĐÚNG (1) FALSE (0) FALSE (0)
ĐÚNG (1) ĐÚNG (1) ĐÚNG (1)

Ví dụ về Toán tử AND

gói com.java.demo
DemoAND lớp công khai
<
public static void main (String [] args)
<
boolean a = true
boolean b = false
int num1 = 0
int num2 = 1
boolean out1 = (a & amp a)
boolean out2 = (a & amp b)
boolean out3 = (b & amp a)
boolean out4 = (b & amp b)
System.out.println ("True & amp True:" + out1)
System.out.println ("Đúng & amp Sai:" + out2)
System.out.println ("Sai & amp Đúng:" + out3)
System.out.println ("Sai & amp Sai:" + out4)
if (num1 == 0 & amp num2 == 1)
<
System.out.println ("Điều kiện là Đúng.")
>
>
>

2. Toán tử HOẶC logic “|.”

Toán tử OR logic trong java được sử dụng để thực hiện hoạt động OR kỹ thuật số thực tế trong java. Toán tử này được sử dụng với hai toán hạng Boolean và kết quả sẽ là Boolean, tức là true hoặc False. Trong java, toán tử logic OR được biểu diễn bằng ký hiệu “|” (Đơn giản HOẶC) hoặc “||” (Ngắn mạch HOẶC).

Operand1 và Operand2 là bất kỳ giá trị Boolean nào.

  • Đúng vậy: Nếu cả hai giá trị toán hạng là True. Giả sử bất kỳ giá trị Toán hạng nào là True.
  • Sai: Nếu cả hai giá trị toán hạng là Sai.

Bảng sự thật của OR:

MỘT NS A | B
FALSE (0) FALSE (0) FALSE (0)
FALSE (0) ĐÚNG (1) ĐÚNG (1)
ĐÚNG (1) FALSE (0) ĐÚNG (1)
ĐÚNG (1) ĐÚNG (1) ĐÚNG (1)

Ví dụ về Toán tử OR

gói com.java.demo
DemoOR lớp công khai
<
public static void main (String [] args)
<
boolean a = true
boolean b = false
int num = 0
boolean out1 = (a | a)
boolean out2 = (a | b)
boolean out3 = (b | a)
boolean out4 = (b | b)
System.out.println ("Đúng | Đúng:" + out1)
System.out.println ("Đúng | Sai:" + out2)
System.out.println ("Sai | Đúng:" + out3)
System.out.println ("Sai | Sai:" + out4)
nếu (num == 0 | num == 1)
<
System.out.println ("Số là nhị phân ..")
>
>
>

3. Toán tử KHÔNG logic “!” hoặc "

Toán tử NOT logic thực hiện hoạt động NOT kỹ thuật số thực tế trong java, tức là phủ định giá trị đầu vào. Toán tử logic này là toán tử logic đơn nhất, nó được sử dụng với chỉ một toán hạng. Trong java Toán tử logic NOT được biểu thị bằng ký hiệu “!” hoặc "

”.Sử dụng đơn giản của! Toán tử là để phủ định giá trị đầu vào. Ví dụ: đầu vào, True làm cho nó Sai hoặc nếu đầu vào là False để biến nó thành True.

Toán hạng giữ bất kỳ giá trị Boolean nào. Điều kiện là bất kỳ giá trị Boolean nào, tức là kết quả của bất kỳ phép toán logic nào.

  • Đúng vậy: Kết quả là True nếu giá trị đầu vào là False.
  • Sai: Kết quả là Sai nếu các giá trị đầu vào là Đúng.

Bảng sự thật của KHÔNG:

MỘT !MỘT
FALSE (0) ĐÚNG (1)
ĐÚNG (1) FALSE (0)

Ví dụ về Toán tử NOT

Demo lớp công khai
<
public static void main (String [] args)
<
boolean a = true
boolean b = false
int num1 = 0
int num2 = 1
boolean out1 = (a ^ a)
boolean out2 = (a ^ b)
boolean out3 = (b ^ a)
boolean out4 = (! b ^ b)
System.out.println ("True ^ True:" + out1)
System.out.println ("Đúng ^ Sai:" + out2)
System.out.println ("Sai ^ Đúng:" + out3)
System.out.println (! B + "^ Sai:" + out4)
System.out.println ("a = true! A Điều kiện là Đúng.")
>
>
>

4. Toán tử XOR logic “^.”

Toán tử XOR logic là một dạng ngắn gọn của toán tử OR độc quyền. Toán tử logic này là khi chúng ta phải kiểm tra hoặc so sánh các giá trị của bất kỳ toán hạng nào là True thì kết quả đầu ra là true. Trong Java, Logical XOR được biểu thị bằng ký hiệu “^”. Toán tử này là Toán tử logic nhị phân, tức là có thể được sử dụng với hai toán hạng / điều kiện. Đầu ra toán tử này cũng là một giá trị Boolean.

Toán hạng1 ^ Toán hạng2 hoặc Điều kiện1 ^ Điều kiện2

Operand1 và Operand2 giữ bất kỳ giá trị Boolean nào. Điều kiện1 và Điều kiện2 giữ bất kỳ giá trị Boolean nào, tức là xuất ra bất kỳ hoạt động logic nào.

  • Đúng vậy: Kết quả là True nếu bất kỳ đầu vào nào là True.
  • Sai: Kết quả là Sai nếu cả hai đầu vào giống nhau.

Bảng sự thật của XOR:

MỘT NS A ^ B
FALSE (0) FALSE (0) FALSE (0)
FALSE (0) ĐÚNG (1) ĐÚNG (1)
ĐÚNG (1) FALSE (0) ĐÚNG (1)
ĐÚNG (1) ĐÚNG (1) FALSE (0)

Ví dụ về Toán tử XOR

lớp công khai DemoXOR
<
public static void main (String [] args)
<
boolean a = true
boolean b = false
int num1 = 0
int num2 = 1
int num3 = 5
int num4 = 7
boolean out1 = (a ^ a)
boolean out2 = (a ^ b)
boolean out3 = (b ^ a)
boolean out4 = (b ^ b)
System.out.println ("True ^ True:" + out1)
System.out.println ("Đúng ^ Sai:" + out2)
System.out.println ("Sai ^ Đúng:" + out3)
System.out.println ("Sai ^ Sai:" + out4)
System.out.println ("5 ^ 7 0101 ^ 0111 = 0010")
if ((num1 == 2) ^ (num2 == 1))
<
System.out.println ("Điều kiện là Đúng.")
>
>
>

Sự kết luận

Nó làm cho mã java mạnh mẽ và linh hoạt hơn. Sử dụng các toán tử logic trong các câu lệnh điều kiện hoặc câu lệnh lặp để trông rất rõ ràng. The most important benefit of the logical operator is it reduces the code complexity. For example, it reduces the number of if…else conditional statements. This indirectly benefits in code compilation, run time etc.…overall code performance is increased.


Xem video: Оператор билан сухбат Жуда кулгули (Tháng Giêng 2022).