Bài giảng Tin học đại cương - Bài 5: Các câu lệnh lựa chọn - Phạm Xuân Cường

TIN HỌC ĐẠI CƯƠNG  
BÀI 5: CÁC CÂU LỆNH LỰA CHỌN  
Phạm Xuân Cường  
Khoa Công nghệ thông tin  
Nội dung bài giảng  
•
•
•
•
Câu lệnh if  
Câu lệnh if−else  
Viết hàm đệ quy  
Câu lệnh switch−case  
1
Câu lệnh if  
Câu lệnh if: Ví dụ mở đầu  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap vao 1 hoac 2: ";  
cin >> n;  
if (n == 1)  
cout << "Chuc may man!\n"; // neu n = 1  
if (n == 2)  
cout << "Chuc vui ve!\n"; // neu n = 2  
return 0;  
}
2
Câu lệnh if  
• Cú pháp:  
if (điều−kiện)  
công−việc  
• Giải thích:  
- điều−kiện là một biểu thức lôgic  
- công−việc là câu lệnh đơn hoặc khối lệnh  
- Nếu điều−kiện đúng, thực hiện công−việc  
- Nếu điều−kiện sai, bỏ qua công−việc  
3
công−việc là câu lệnh/khối lệnh  
• công−việc là một câu lệnh đơn:  
if (x != 1)  
y = 1 / (x – 1);  
• công−việc là một khối lệnh (đặt giữa cặp dấu  
{}):  
if (x != 1)  
{
y = 1 / (x – 1);  
cout << y;  
}
4
Sự khác nhau khi có/không có cặp dấu { }  
• Khi có cặp dấu { }  
double x = 1.2, y = 3.4;  
if (x < 0) {  
x = 5.6;  
y = 7.8;  
}
cout << x << " " << y; // sẽ in ra 1.2 và 3.4  
• Khi không có cặp dấu { }  
double x = 1.2, y = 3.4;  
if (x < 0)  
x = 5.6;  
y = 7.8;  
cout << x << " " << y; // sẽ in ra 1.2 và 7.8  
5
Kiểm tra tính chẵn lẻ: Dùng hai câu lệnh if  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap vao mot so nguyen: ";  
cin >> n;  
if (n % 2 == 0)  
cout << n << " la mot so chan\n";  
if (n % 2 != 0)  
cout << n << " la mot so le\n";  
return 0;  
}
6
Kiểm tra tính chẵn lẻ: Dùng câu lệnh if-elses  
#include <iostream>  
using namespace std;  
int main()  
{
int n;  
cout << "Nhap vao mot so nguyen: ";  
cin >> n;  
if (n % 2 == 0)  
cout << n << " la mot so chan\n";  
else // nguoc lai  
cout << n << " la mot so le\n";  
return 0;  
}
7
Câu lệnh if−else  
Câu lệnh if−else  
• Cú pháp:  
if (điều−kiện)  
công−việc−1  
else  
công−việc−2  
• Giải thích:  
- điều−kiện là một biểu thức lôgic  
- công−việc−1 và 2 là câu lệnh đơn hoặc khối lệnh  
- Nếu điều−kiện đúng, thực hiện công−việc−1  
- Nếu điều−kiện sai, thực hiện công−việc−2  
8
Giải phương trình bậc nhất ax + b = 0  
#include <iostream>  
using namespace std;  
int main()  
{
double a, b, x;  
cout << "Chuong trinh giai phuong trinh bac nhat ax + b = 0\n";  
cout << "Nhap he so a: "; cin >> a;  
cout << "Nhap he so b: "; cin >> b;  
if (a != 0) {  
x = -b/a;  
cout << "Phuong trinh co nghiem duy nhat x = " << x << endl;  
} else if (b == 0)  
cout << "Phuong trinh nghiem dung voi moi x" << endl;  
else  
cout << "Phuong trinh vo nghiem" << endl;  
return 0;  
}
9
Bài tập về câu lệnh if  
• Bài 1 (về nhà): Giải phương trình bậc hai  
• Bài 2 (tại lớp): Nhập vào ba số thực và hiển thị số lớn nhất  
ra màn hình  
• Bài 3 (tại lớp):  
- Nhập một đường tròn có tâm O(x0, y0) và bán kính R  
- Nhập một điểm M(xm, ym)  
- Kiểm tra xem điểm M nằm trong, nằm trên hay nằm ngoài  
đường tròn (O, R)?  
10  
Viết hàm đệ quy  
Hàm đệ quy  
• Hàm đệ quy là hàm được định nghĩa bằng chính  
bản thân nó  
• Ví dụ: dãy Fibonacci được định nghĩa theo kiểu  
đệ quy  
F0 = 1  
F1 = 1  
Fn = Fn−1 + Fn−2 (n > 1)  
• C++ cho phép viết hàm đệ quy tương tự như  
vậy  
11  
Viết hàm đệ quy tính số Fibonacci  
#include <iostream>  
using namespace std;  
int fibo(int n) {  
if (n <= 1)  
return 1;  
else  
return fibo(n−1) + fibo(n−2) ;  
}
int main()  
{
int n;  
cout << "Nhap so tu nhien n: "; cin >> n;  
int fn = fibo(n); // tinh so thu n trong day Fibonacci  
cout << "So thu " << n << " trong day Fibonacci la ";  
cout << fn << endl;  
return 0;  
}
12  
Viết hàm đệ quy tính n!  
#include <iostream>  
using namespace std;  
int giai_thua(int n) {  
if (n <= 1)  
return 1;  
else  
return n * giai_thua(n−1) ;  
}
int main()  
{
int n;  
cout << "Nhap so tu nhien n: "; cin >> n;  
int gt = giai_thua(n); // tinh n!  
cout << n << "! = " << gt << endl;  
return 0;  
}
13  
Câu lệnh switch−case  
Câu lệnh switch−case: Ví dụ mở đầu  
#include <iostream>  
using namespace std;  
int main()  
int n;  
cout << "Nhap vao 1, hoac 2: ";  
cin >> n;  
switch (n) {  
case 1:  
cout << "Good morning!"; // nếu n = 1  
break;  
case 2:  
cout << "Good afternoon!"; // nếu n = 2  
break;  
default:  
cout << "Ban da nhap sai du lieu!"; // nếu n khác 1,2  
break;  
}
return 0;  
}
14  
Cú pháp câu lệnh switch-case  
switch (biểu−thức)  
{
Giải thích:  
case hằng−1:  
công−việc−1  
break;  
• Tùy theo giá trị của biểu thức  
bằng hằng nào thì công việc  
tương ứng sẽ được thực hiện,  
trong khi các công việc khác sẽ  
bị bỏ qua  
case hằng−2:  
công−việc-2  
break;  
• Nếu giá trị của biểu thức không  
bằng bất kỳ hằng nào, công việc  
ngầm định trong phần default sẽ  
được thực hiện  
. . .  
default:  
công−việc−ngầm−định  
break;  
}
15  
Tải về để xem bản đầy đủ
pdf 25 trang baolam 18440 Free
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học đại cương - Bài 5: Các câu lệnh lựa chọn - Phạm Xuân Cường", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfbai_giang_tin_hoc_dai_cuong_bai_5_cac_cau_lenh_lua_chon_pham.pdf