TIN HỌC 11 (C++) – Bài 9:
CẤU TRÚC RẼ NHÁNH
Hãy là chính mình
Be yourself
8/15/23
NỘI DUNG BÀI HỌC
1
Rẽ nhánh
2
Câu lệnh if
3
Câu lệnh ghép
4
Một số ví dụ
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
2
I. RẼ NHÁNH
Chiều mai, nếu trời khơng mưa
thì Ngọc sẽ đến nhà Châu, nếu
mưa thì sẽ gọi điện cho Châu để
trao đổi.
Chiều mai, nếu trời khơng mưa
thì Châu sẽ đến nhà Ngọc.
Mệnh đề:
Nếu … thì …
Nếu … thì …
Nếu … thì … nếu khơng thì …
Mệnh đề:
Nếu … thì …
Nếu … thì … ngược lại …
Tin học 11 - Ngơn ngữ lập trình
C++
Châu
08/15/2023
3
Ngọc
I. RẼ NHÁNH
Mệnh đề được dùng:
Nếu … thì …
Nếu … thì … nếu khơng thì … hoặc Nếu … thì … ngược lại …
1> Mệnh đề dạng thiếu:
Nếu … thì …
2> Mệnh đề dạng đủ:
Nếu … thì … ngược lại …
Ví dụ: Giải phương trình bậc hai: ax2 + bx + c = 0 (a # 0)
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
4
I. RẼ NHÁNH
Hãy nêu các bước giải
phương trình bậc hai:
ax2 + bx + c = 0 (a # 0)
Nhập các hệ số a, b, c.
Tính Delta = b2 – 4ac
Nếu Delta < 0 thì thơng báo vơ nghiệm. Kết thúc.
Nếu Delta ≥ 0 thì tính và đưa ra nghiệm. Kết thúc.
Tin học 11 - Ngôn ngữ lập trình
C++
08/15/2023
5
I. RẼ NHÁNH
Các em hãy vẽ sơ
đồ thuật toán giải
phương trình bậc 2
(với a#0)
Sau khi tính Delta, tùy
thuộc vào giá trị Delta,
một trong hai thao tác sẽ
thực hiện.
08/15/2023
Sơ đồ thể hiện cấu trúc rẽ nhánh
Tin học 11 - Ngôn ngữ lập trình
C++
6
II. CÂU LỆNH IF
Hãy nêu cấu trúc mệnh đề dạng thiếu
của lệnh rẽ nhánh?
if ( <điều_kiện> ) <câu_lệnh> ;
Hãy trình bày ý nghĩa các câu lệnh của
mệnh đề dạng thiếu?
Tính giá trị của <điều_kiện>
Nếu <điều_kiện> có giá trị đúng thì thực hiện <câu_lệnh>,
nếu <điều_kiện> có giá trị sai thì khơng thực hiện gì.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
7
II. CÂU LỆNH IF
1. Dạng thiếu:
if ( <điều_kiện> ) <câu_lệnh> ;
Đúng
Điều kiện
Câu lệnh
Sai
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
8
II. CÂU LỆNH IF
Hãy nêu cấu trúc mệnh đề dạng đủ của
lệnh rẽ nhánh?
if ( <điều_kiện> ) <câu_lệnh_1> ;
else <câu_lệnh_2> ;
Hãy trình bày ý nghĩa các câu lệnh của
mệnh đề dạng đủ?
Tính giá trị của <điều_kiện>
Nếu <điều_kiện> có giá trị đúng thì thực hiện <câu_lệnh_1>,
ngược lại thì thực hiện <câu_lệnh_2>.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
9
II. CÂU LỆNH IF
2. Dạng đủ:
if ( <điều_kiện> )
else <câu_lệnh_2> ;
<câu_lệnh_1> ;
Sai
Đúng
Điều kiện
Câu lệnh 2
Câu lệnh 1
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
10
II. CÂU LỆNH IF
1. Dạng thiếu:
if ( <điều_kiện> ) <câu_lệnh> ;
2. Dạng đủ:
if ( <điều_kiện> ) <câu_lệnh_1> ;
else <câu_lệnh_2> ;
trong đó,
Điều_kiện là biểu thức quan hệ hoặc biểu thức lôgic.
Câu_lệnh, câu_lệnh_1, câu_lệnh_2 là một câu lệnh đơn hoặc
câu lệnh ghép của C++.
Tin học 11 - Ngôn ngữ lập trình
C++
08/15/2023
11
II. CÂU LỆNH IF
Ví dụ 1
• Viết chương trình nhập vào hai số a, b.
• Xuất ra màn hình số lớn nhất trong hai
số trên.
Ví dụ 2
• Viết chương trình nhập vào ba số a, b, c.
• Xuất ra màn hình số lớn nhất, số nhỏ
nhất trong ba số trên.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
12
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật tốn.
3. Viết chương trình.
4. Test chương trình.
1. Xác định bài toán
Input: Nhập giá trị bất
kỳ cho hai số a, b từ bàn
phím.
Output: Xuất kết quả
tìm số lớn nhất ra màn
hình.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
13
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật tốn.
3. Viết chương trình.
4. Test chương trình.
2. Xây dựng thuật toán
Nhập giá trị bất kỳ cho a từ
bàn phím.
Nhập giá trị bất kỳ cho b từ
bàn phím.
Nếu a > b thì xuất số lớn nhất
là giá trị a ra màn hình.
Ngược lại thì xuất số lớn
nhất là giá trị b ra màn hình.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
14
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật tốn.
3. Viết chương trình.
4. Test chương trình.
3. Viết chương trình
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
15
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
#include <iostream>
using namespace std;
int main()
{
// Khai bao bien
int a, b ;
// Nhap gia tri tu ban phim
cout<< " Nhap gia tri a: " ;
cin>> a ;
cout<< " Nhap gia tri b: " ;
cin>> b ;
// Tim so lon nhat va xuat ra man hinh
if ( a > b )
cout<< "\n So lon nhat = " << a ;
else
cout<< "\n So lon nhat = " << b ;
....
e
e
s
l
s
.. eel
.
.
f
i
f
hh i
n
n
ệ
l
ệ
l
C
Cââuu
cout<< endl ; // xuong hang
return 0 ;
}
08/15/2023
Tin học 11 - Ngơn ngữ lập trình
C++
16
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật tốn.
3. Viết chương trình.
4. Test chương trình.
4. Test chương trình
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
17
Ví dụ 1: Viết chương trình nhập vào hai số a, b.
Xuất ra màn hình số lớn nhất trong hai số trên.
Kết quả hiển thị ra màn hình:
08/15/2023
Tin học 11 - Ngơn ngữ lập trình
C++
18
Ví dụ 2: Viết chương trình nhập vào ba số a, b, c.
Xuất ra màn hình số lớn nhất, số nhỏ nhất trong ba số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật toán.
3. Viết chương trình.
4. Test chương trình.
1. Xác định bài tốn
Input: Nhập giá trị bất
kỳ cho các hệ số a, b, c
từ bàn phím.
Output: Xuất kết quả
tìm số lớn nhất, số nhỏ
nhất ra màn hình.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
19
Ví dụ 2: Viết chương trình nhập vào ba số a, b, c.
Xuất ra màn hình số lớn nhất, số nhỏ nhất trong ba số trên.
Các bước giải bài toán
1. Xác định bài toán.
2. Xây dựng thuật toán.
3. Viết chương trình.
4. Test chương trình.
2. Xây dựng thuật tốn
Nhập giá trị bất kỳ cho a từ bàn
phím.
Nhập giá trị bất kỳ cho b từ bàn
phím.
Nhập giá trị bất kỳ cho c từ bàn
phím.
Tìm số lớn nhất trong ba số a, b, c.
Tìm số nhỏ nhất trong ba số a, b, c.
Xuất giá trị lớn nhất ra màn hình.
Xuất giá trị nhỏ nhất ra màn hình.
Tin học 11 - Ngơn ngữ lập trình
C++
08/15/2023
20