Module: (C++) Câu lệnh điều kiện lồng nhau. Điều kiện khó khăn


Problem

2/14

Điều kiện khó khăn

Theory Click to read/hide

Điều kiện phức tạp
Bài toán trước có thể được giải theo cách ngắn hơn bằng cách sử dụng các điều kiện phức tạp. 

Hãy hiểu điều kiện phức tạp là gì.

Các điều kiện đơn giản bao gồm một quan hệ (lớn hơn, nhỏ hơn, v.v.). Nhưng đôi khi cần phải kết hợp các điều kiện đơn giản thành những điều kiện phức tạp hơn. Ví dụ, bên ngoài trời lạnh và đang mưa. Hai điều kiện đơn giản (bên ngoài trời lạnh), (bên ngoài trời mưa) được liên kết ở đây bởi AND.
 
Điều kiện phức tạp - bao gồm hai hoặc nhiều điều kiện đơn giản được kết hợp với các phép toán logic .
 
Liên kết logic trong C++
&& - phép nhân logic (AND);
||  - phép cộng logic (OR);
!    - phủ định logic (NOT).

Phép nhân logic (phép toán AND)  đòi hỏi phải đáp ứng đồng thời hai điều kiện:
điều kiện_1 && điều kiện_2  
sẽ được đánh giá là đúng chỉ khi cả hai điều kiện đơn giản đều đúng cùng một lúc.
Ngoài ra, trong ngôn ngữ lập trình C, nếu condition_1 là sai thì condition_2 sẽ không được chọn.

Phép nhân logic (phép toán OR) yêu cầu ít nhất một trong các điều kiện sau:
điều kiện_1 || điều kiện_2
sẽ đánh giá sai chỉ khi cả hai điều kiện đơn giản là sai cùng một lúc.
Ngoài ra, trong ngôn ngữ lập trình C, nếu condition_1 là true thì condition_2 sẽ không được kiểm tra.

Phép nhân logic (KHÔNG hoạt động)
 !condition_1 
sẽ đánh giá là sai nếu condition_1  đúng và ngược lại.
Ví dụ: hai điều kiện sau là tương đương:   A>B   và  !(A<=B).
 
Ưu tiên thực hiện các phép toán logic và quan hệ
1. Các phép toán trong ngoặc.
2. Thao tác NOT.
3. Quan hệ logic >, <, >=, <=, ==, !=.
4. Thao tác I.
5. Phép toán OR.
Dấu ngoặc đơn được dùng để thay đổi thứ tự của các hành động.

 
Biến Boolean
Trong nhiều ngôn ngữ lập trình, có thể sử dụng các biến lưu trữ giá trị boolean ("true"/"false"). Trong C++, các biến như vậy có thể nhận giá trị true (true) hoặc false (false). Ví dụ: một đoạn mã chương trình:  bool a, b; a = đúng; b=sai; cout << một || b; Hiển thị 1 (là true, false 0).

Các biến boolean thuộc loại bool, được đặt theo tên của nhà toán học người Anh George Boole, người tạo ra đại số logic.

Problem

Trong bài toán trước chúng ta đã phân tích, cần kiểm tra điều kiện số phải lớn hơn hoặc bằng 20 và nhỏ hơn hoặc bằng 40
Sử dụng các điều kiện phức tạp, bạn có thể rút gọn nghiệm của bài toán trước.

Trong dòng thứ 6 của chương trình, thay vì dấu gạch dưới (_), hãy đặt liên kết logic mong muốn.