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 đủ
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:
bai_giang_tin_hoc_dai_cuong_bai_5_cac_cau_lenh_lua_chon_pham.pdf

