xemsomenh.com-Vòng Thái Tuế và Ý Nghĩa Các Sao Tại Cung Mệnh.pdf
Bai Giang 2
1. Nội dung trình bày
• Biểu thức logic và các toán tử logic
• Tối ưu biểu thức
• Câu lệnh rẽ nhánh if
• Câu lệnh if lồng nhau
• Câu lệnh rẽ nhánh switch
• So sánh if và switch
2. Biểu thức logic
• Biểu thức Logic (hay còn gọi là biểu thức điều
kiện hoặc biểu thức nhị phân) là biểu thức trong
đó có thể chứa các toán tử so sánh, biến logic,
hằng logic, các toán tử logic. Giá trị của biểu
thức Logic chỉ là 1 trong 2 giá trị true (đúng ; 1)
hoặc false (sai ; 0)
• Ví dụ:
a > (b + 4)
2<0
3. Biểu thức Logic đơn
• Biểu thức Logic đơn là biểu thức chứa
một hằng số hoặc một biến số thuộc kiểu
bool
• Ví dụ:
false
bool x, y;
x = true; // true là một biểu thức logic đơn
y = x; // x là một biểu thức logic đơn
4. Các toán tử so sánh
• Ký hiệu của các toán tử so sánh
– So sánh bằng: ‘==‘
– So sánh khác: ‘!=‘
– So sánh lớn hơn: ‘>’
– So sánh nhỏ hơn: ‘<‘
– So sánh lớn hơn hoặc bằng: ‘>=‘
– So sánh nhỏ hơn hoặc bằng: ‘<=‘
5. Biểu thức Logic được tạo thành từ
các toán tử so sánh
• Bằng việc sử dụng một toán tử so sánh ta
có thể tạo thành một biểu thức logic.
• Ví dụ:
15 < 20 => BThức Logic mang giá trị false
float x = 3.5;
const float PI = 3.14;
bool y = (x == PI);
//ở đây (x == PI) là BThức Logic mang giá trị false
6. Biểu thức Logic được tạo thành từ
các toán tử so sánh
• Giả sử ta có các giá Biểu thức Kết quả
trị sau: A == B false
A=5
A == 5 true
B=6
A>B false
A<B true
A >= B false
A >= 5 true
A <= 5 true
A != B true
(-1+B) != A false
7. Các toán tử Logic
• Ký hiệu của các toán tử Logic:
– Toán tử Và: ‘&&’
– Toán tử Hoặc: ‘||’
– Toán tử Phủ định: ‘!’
8. Bảng chân lý của các toán tử Logic
A B A&&B A B A||B A !A
true true true true true true false true
true false false true false true true false
false true false false true true
false false false false false false
• Nhận xét:
– A && B chỉ nhận giá trị true khi cả A và B đều bằng
true.
– A || B chỉ nhận giá trị false khi cả A và B đều bằng
false.
9. Biểu thức Logic được tạo thành từ
các toán tử logic
• Bằng việc sử dụng kết hợp các toán tử
logic với nhau ta có thể tạo thành một biểu
thức logic.
• Ví dụ:
Giả sử A, B, C, D là các biến số kiểu bool, ta có:
– A && B //Đây là một biểu thức Logic
– bool y;
y = A && (B || C) || (!D) // Vế phải cũng là một
biểu thức Logic
10. Biểu thức Logic phức tạp
• Biểu thức Logic phức tạp được tạo thành
bởi sự kết hợp giữa các toán tử so sánh,
các toán tử logic, …
• Ví dụ:
– (A>5) && (B<=6)
– (A!=B) || (B==4)
– ! (B>6)
– ! (A==4) && (B<3)
– (A>2) && ((B<3) || (A>4)))
11. Mức ưu tiên của các toán tử
• Mức ưu tiên của các toán tử theo thứ tự giảm
dần như sau:
!
*, /, %
+, -
<, <=, >=, >
==, !=
&&
||
=
12. Bảng mã ASCII
ASCII (American Standard Code for Information Interchange -
Chuẩn mã trao đổi thông tin Hoa Kì), là bộ kí tự và bộ mã kí tự
dựa trên bảng chữ cái La Tinh được dùng trong tiếng Anh hiện
đại và các ngôn ngữ Tây Âu khác. Nó thường được dùng để
hiển thị văn bản trong máy tính và các thiết bị thông tin khác.
13. So sánh ký tự
• Tất cả các ký tự được sắp xếp theo một
thứ tự nhất định trong bảng mã ASCII. Do
đó việc so sánh 2 ký tự chính là so sánh
thứ tự (hay mã) của chúng.
• Ví dụ:
– ‘a’ > ‘c’ => BThức Logic mang giá trị false
– ‘1’ < ‘A’ => BThức Logic mang giá trị true
– ‘$’ > ‘1’ => BThức Logic mang giá trị false
14. Câu lệnh rẽ nhánh if
• Câu lệnh if thực hiện rẽ nhánh công việc
bằng cách xét đến yếu tố thỏa mãn hay
không thỏa mãn một điều kiện nào đó.
Ví dụ: Nếu A thỏa mãn điều kiện B thì thực hiện
công việc C, còn nếu A không thỏa mãn điều
kiện B thì thực hiện công việc D.
• Có 2 dạng câu lệnh rẽ nhánh if
– Dạng khuyết
– Dạng đầy đủ
15. Câu lệnh rẽ nhánh if dạng khuyết
• Ví dụ:
– Kiểm tra xem giá trị của a có nhỏ hơn giá trị của b hay không ?
if (a < b)
cout << “Gia tri cua a nho hon gia tri cua b.” << endl;
– Nếu giá trị của a lớn hơn hoặc bằng giá trị của b thì thực
hiện công việc sau:
• a sẽ bằng hiệu của a và b
• In giá trị mới của a ra màn hình
if (a >= b)
{
a = a – b;
cout << “Gia tri moi cua a la: “ << a << endl;
}
16. Câu lệnh rẽ nhánh if dạng đầy đủ
• Ví dụ: Sử dụng lại ví dụ trên ta có thể viết kết
hợp cả 2 ý vào một câu lệnh if dạng đầy đủ như
sau:
if (a < b)
cout << “Gia tri cua a nho hon gia tri cua b.” << endl;
else
{
a = a – b;
cout << “Gia tri moi cua a la: “ << a << endl;
}
17. Câu lệnh rẽ nhánh if lồng nhau
• Ví dụ 1: Tính nghiệm của phương trình
bậc 2
if (delta < 0)
cout<<“Vo nghiem”;
else
if (delta > 0)
{
x1 = (-b + sqrt(delta)) / (2*a);
x2 = (-b + sqrt(delta)) / (2*a);
}
else // delta == 0
x1 = -b / (2*a);
18. Câu lệnh rẽ nhánh if lồng nhau
• Ví dụ 2: Xếp loại
if (diem >= 9)
cout<<‘A’;
else if (diem >= 8)
cout<<‘B’;
else if (diem >= 7)
cout<<‘C’;
else if (diem >= 6)
cout<<‘D’;
else // diem < 6
cout<<‘F’;
19. Câu lệnh rẽ nhánh switch
• Dùng để thể hiện sự rẽ nhánh dựa trên giá trị của một
biểu thức.
• Cú pháp:
switch (biểu thức)
{
case <giá trị 1>:
<câu lệnh 1>;
break;
case <giá trị 2>:
<câu lệnh 2>;
break;
...
default:
<câu lệnh n>;
break;
}
20. Câu lệnh rẽ nhánh switch
• Ví dụ: Viết dạng chữ của một số từ 1 đến 3
switch (so)
{
case 1:
cout<<“So mot nhe !”;
break;
case 2:
cout<<“Ah so hai !”;
break;
case 3:
cout<<“So ba day ma !”;
break;
default:
cout<<“Ban nhap sai roi !”;
break;
}