Bài 9. Cấu trúc rẽ nhánh
Chia sẻ bởi Bùi Văn Vẹn |
Ngày 10/05/2019 |
49
Chia sẻ tài liệu: Bài 9. Cấu trúc rẽ nhánh thuộc Tin học 11
Nội dung tài liệu:
1
TRƯỜNG THPT NGUYỄN THỊ MINH KHAI
CHÀO MỪNG QUÝ THẦY CÔ
Giáo viên : Trần Thanh Phong
Tổ : Anh Văn - Tin Học
2
Kiểm tra bài cũ
?
Để thực hiện chương trình được viết bằng một ngôn ngữ lập trình ta cần phải làm gì?
Soạn thảo :Viết chương trình, nhập chương trình vào máy.
Dịch (Alt+F9): Phát hiện và thông báo lỗi cú pháp, NLT sửa lỗi.
Thực hiện chương trình (Ctrl+F9).
Nhập vào các giá trị chạy thử - Nhấn Enter.
3
Chương III. CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 : CẤU TRÚC RẼ NHÁNH
Mục tiêu bài học.
- Biết được khái niệm của cấu trúc rẽ nhánh.
- Hiểu được cấu trúc chung của câu lệnh rẽ nhánh và câu
lệnh ghép.
- Biết cách sử dụng hai dạng cấu trúc rẽ nhánh trong lập
trình: dạng thiếu và dạng đủ.
4
Chương III. CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 : CẤU TRÚC RẼ NHÁNH
NỘI DUNG
1. Rẽ nhánh
2. Câu lệnh If …. Then
3. Câu lệnh ghép
4. Một số ví dụ
5. Câu hỏi trắc nghiệm
6. Củng cố
7. Dặn dò
5
Xem tình huống
Nhà
Châu
Nếu chiều mai trời không mưa Thì Chaâu sẽ đến nhà Ngoïc
Câu chuyện của Châu và Ngo?c
1. RẼ NHÁNH
6
Chiều hôm sau
Trời mưa lớn
7
Nhưng Châu vẫn sang nhà Ngọc vào chiều hôm ấy
dù trời giông bảo
8
Đến nhà Ngọc thì.
Ngọc đi sang nhà hàng xóm ăn bánh nướng
vì tưởng trời mưa Châu sẽ không đến
9
Nhà
Châu
Hôm qua mình đến nhà Ngọc mà Ngọc đi đâu vậy ?
10
Em hãy nhận xét câu nói của Châu
Câu nói của Châu cho ta biết một việc làm cụ thể (Châu đến nhà Ngọc)
sẽ được thực hiện nếu một điều kiện cụ thể(Trời không mưa)thỏa mãn.
Ngoài ra không đề cập gì đến việc gì sẽ xảy ra nếu điều kiện đó không
Thỏa mãn(trời mưa).
Ta nói cách diễn đạt như vậy thuộc dạng thiếu:
Nếu.thì.
11
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.
Nhà
Ngọc
Một hôm khác
12
Em hãy nhận xét câu nói của Ngọc
Câu nói của Ngọc khẳng định một trong hai việc Cụ thể
(Ngọc đến nhà Châu hay Ngọc gọi điện cho Châu)
Chắc chắn sẽ xảy ra.Tuy nhiên, việc nào trong hai việc sẽ
Được thực hiện thì tùy thuộc vào điều kiện cụ thể
(trời không mưa) thỏa mãn hay không.
Ta nói cách diễn đạt như vậy thuộc dạng đủ:
Nếu.thì.,nếu không thì.
13
Vậy cấu trúc rẽ nhánh có hai dạng:
Nếu (Điều kiện đúng) thì (Hoạt động );
Nếu (Điều kiện đúng) thì (Hoạt động 1)
còn không thì (Hoạt động 2);
a. Dạng thiếu(dạng khuyết).
Có dạng: Nếu … thì …
Cấu trúc điều kiện hành động
b. Dạng đủ.
Có dạng: Nếu … thì … còn không thì…;
Cấu trúc điều kiện hành động
14
Ví dụ : Giải phương trình bậc 2 :
với (a <> 0)
+ Tính Delta
+ Nếu Delta <0 thì kết luận là phương trình vô nghiệm.
+ Nếu Delta>=0 thì kết luận là phương trình có nghiệm:
x1:=(-b +sqrt(Delta))/(2*a);
x2:=(-b - sqrt(Delta))/(2*a);
?
Em hãy cho biết các bước giải phương trình bậc hai ở trên?
15
Bắt đầu
Nhập a, b, c
Delta:=b*b-4*a*c
Nếu delta>=0
Thông báo pt vô nghiệm
Tính và in ra nghiệm
Kết thúc
Đúng
Sai
Kết thúc
Kết thúc
Vẽ sơ đồ thực hiện của các bước .
16
Vậy để giải các bài toán như trên, trong ngôn ngữ lập trình PASCAL ta có một cấu trúc gọi là cấu trúc câu lệnh IF – THEN.
17
Cấu trúc câu lệnh IF – THEN có mấy dạng?
Cấu trúc IF – THEN có có hai dạng.
Dạng thiếu và dạng đủ.
2. Câu lệnh IF - Then
?
18
Cú pháp:
If <Điều kiện> Then;
Em hãy nêu cú pháp câu lệnh IF - THEN dạng thiếu ?
a. Dạng thiếu ( Dạng khuyết ):
?
b. Dạng đủ:
?
Em hãy nêu cú pháp câu lệnh IF - THEN dạng đủ?
Cú pháp:
If <Điều kiện> Then else;
19
* Trong đó:
- If, Then, else: là từ khóa (tên dành riêng).
- Điều kiện: có thể là biểu thức logic hoặc biểu thức quan hệ.(có 2 giá trị là True hoặc False).
- Câu lệnh, Câu lệnh1, câu lệnh2: là một câu lệnh trong Pascal
20
Sơ đồ thực hiện cấu trúc IF - THEN dạng thiếu
Điều kiện
Câu lệnh
T
F
Điều kiện
21
Điều kiện
T
Câu lệnh 1
Câu lệnh 2
F
Điều kiện
Sơ đồ thực hiện cấu trúc IF - THEN dạng đủ
22
* Ý nghĩa câu lệnh rẽ nhánh:
- Dạng thiếu:
Em hãy nêu ý nghĩa của câu lệnh rẽ nhánh dạng thiếu?
?
Nếu ĐK đúng thì thực hiện Câu lệnh, ngược lại thì bỏ qua câu lệnh.
- Dạng đủ:
Em hãy nêu ý nghĩa của câu lệnh rẽ nhánh dạng đủ?
?
Nếu ĐK đú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.
23
Ví dụ 2: Kết luận nghiệm PT bậc hai:
Ví dụ 1: Tìm số lớn nhất của hai số a và b?
IF D<0 then writeln(`phuong trinh vo nghiem`)
ELSE writeln(`phuong trinh co nghiem`);
* VÍ DỤ
24
Trường hợp sau then hoặc else có nhiều Câu lệnh. Pascal cho phép gộp các Câu lệnh đó thành câu lệnh ghép. Có dạng:
Begin
;
End;
Ví dụ:
If D<0 then writeln(`pt vo nghiem`)
Else Begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
end;
Chú ý: Trước Else không có “;”
Sau End phải có “;”
25
Tìm nghiệm thực của phương trình bậc 2:
Input : Các hệ số a, b, c nhập từ bàn phím.
Output : Đưa ra màn hình các nghiệm hoặc câu thông báo “Phương trình vô nghiệm”
4. Một số ví dụ :
Hãy xác định INPUT và
OUTPUT của bài toán?
26
đ
s
Sơ đồ thuật toán giải phương trỡnh bậc hai
2
B1
B2
B3
B4
B5
B6
s
đ
B7
27
a,b,c= 1 3 5
D = 3*3 - 4*5 = - 11
-11 < 0
PT vô nghiệm
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 1:
28
a,b,c= 1 2 1
D = 2*2 - 4*1*1 = 0
PT vô nghiệm
PT có nghiệm x=-b/2a
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 2:
Đ
? = 0
PT có nghiệm kép x=-1
29
a,b,c= 1 -5 6
D = 25 - 24 = 1
PT vô nghiệm
PT có nghiệm x=-b/2a
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 3:
Đ
? = 0
PT có nghiệm x1 = 3
x2 = 2
30
Câu 1: Cấu trúc câu lệnh điều kiện tổng quát có dạng:
if then ;
if <điều kiện> then < câu lệnh>;
if <điều kiện> then < câu lệnh1>; else< câu lệnh 2>;
if <điều kiện> then < câu lệnh1> else < câu lệnh 2>;
Trắc nghiệm củng cố kiến thức
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
31
Câu 2: Đoạn code sau sai bao nhiêu lỗi:
VAR a,b: interger;
BEGIN
Write(‘Nhap a,b: ’); Readln(a,b);
If (a>b) Then
Write (‘Max: ’,a);
Eles Write (‘Max: ’,b);
END
Trắc nghiệm củng cố kiến thức
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
32
Củng cố :
1. Rẽ nhánh
Có 2 mệnh đề là :
Nếu … thì …
Nếu …. Thì….., nếu ….. Không thì …….
a. Dạng thiếu :
If <điều kiện> then
b. Dạng đủ :
If <điều kiện> then else
2. Câu lệnh If - then
3. Câu lệnh ghép
Begin
end;
33
Dặn dò :
Các em về nhà học bài và chuẩn bị trước
Bài 10 : CẤU TRÚC LẶP
34
XIN CHÂN THÀNH CẢM ƠN
QÚI THẦY CÔ
TIẾT HỌC KẾT THÚC!
TRƯỜNG THPT NGUYỄN THỊ MINH KHAI
CHÀO MỪNG QUÝ THẦY CÔ
Giáo viên : Trần Thanh Phong
Tổ : Anh Văn - Tin Học
2
Kiểm tra bài cũ
?
Để thực hiện chương trình được viết bằng một ngôn ngữ lập trình ta cần phải làm gì?
Soạn thảo :Viết chương trình, nhập chương trình vào máy.
Dịch (Alt+F9): Phát hiện và thông báo lỗi cú pháp, NLT sửa lỗi.
Thực hiện chương trình (Ctrl+F9).
Nhập vào các giá trị chạy thử - Nhấn Enter.
3
Chương III. CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 : CẤU TRÚC RẼ NHÁNH
Mục tiêu bài học.
- Biết được khái niệm của cấu trúc rẽ nhánh.
- Hiểu được cấu trúc chung của câu lệnh rẽ nhánh và câu
lệnh ghép.
- Biết cách sử dụng hai dạng cấu trúc rẽ nhánh trong lập
trình: dạng thiếu và dạng đủ.
4
Chương III. CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 : CẤU TRÚC RẼ NHÁNH
NỘI DUNG
1. Rẽ nhánh
2. Câu lệnh If …. Then
3. Câu lệnh ghép
4. Một số ví dụ
5. Câu hỏi trắc nghiệm
6. Củng cố
7. Dặn dò
5
Xem tình huống
Nhà
Châu
Nếu chiều mai trời không mưa Thì Chaâu sẽ đến nhà Ngoïc
Câu chuyện của Châu và Ngo?c
1. RẼ NHÁNH
6
Chiều hôm sau
Trời mưa lớn
7
Nhưng Châu vẫn sang nhà Ngọc vào chiều hôm ấy
dù trời giông bảo
8
Đến nhà Ngọc thì.
Ngọc đi sang nhà hàng xóm ăn bánh nướng
vì tưởng trời mưa Châu sẽ không đến
9
Nhà
Châu
Hôm qua mình đến nhà Ngọc mà Ngọc đi đâu vậy ?
10
Em hãy nhận xét câu nói của Châu
Câu nói của Châu cho ta biết một việc làm cụ thể (Châu đến nhà Ngọc)
sẽ được thực hiện nếu một điều kiện cụ thể(Trời không mưa)thỏa mãn.
Ngoài ra không đề cập gì đến việc gì sẽ xảy ra nếu điều kiện đó không
Thỏa mãn(trời mưa).
Ta nói cách diễn đạt như vậy thuộc dạng thiếu:
Nếu.thì.
11
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.
Nhà
Ngọc
Một hôm khác
12
Em hãy nhận xét câu nói của Ngọc
Câu nói của Ngọc khẳng định một trong hai việc Cụ thể
(Ngọc đến nhà Châu hay Ngọc gọi điện cho Châu)
Chắc chắn sẽ xảy ra.Tuy nhiên, việc nào trong hai việc sẽ
Được thực hiện thì tùy thuộc vào điều kiện cụ thể
(trời không mưa) thỏa mãn hay không.
Ta nói cách diễn đạt như vậy thuộc dạng đủ:
Nếu.thì.,nếu không thì.
13
Vậy cấu trúc rẽ nhánh có hai dạng:
Nếu (Điều kiện đúng) thì (Hoạt động );
Nếu (Điều kiện đúng) thì (Hoạt động 1)
còn không thì (Hoạt động 2);
a. Dạng thiếu(dạng khuyết).
Có dạng: Nếu … thì …
Cấu trúc điều kiện hành động
b. Dạng đủ.
Có dạng: Nếu … thì … còn không thì…;
Cấu trúc điều kiện hành động
14
Ví dụ : Giải phương trình bậc 2 :
với (a <> 0)
+ Tính Delta
+ Nếu Delta <0 thì kết luận là phương trình vô nghiệm.
+ Nếu Delta>=0 thì kết luận là phương trình có nghiệm:
x1:=(-b +sqrt(Delta))/(2*a);
x2:=(-b - sqrt(Delta))/(2*a);
?
Em hãy cho biết các bước giải phương trình bậc hai ở trên?
15
Bắt đầu
Nhập a, b, c
Delta:=b*b-4*a*c
Nếu delta>=0
Thông báo pt vô nghiệm
Tính và in ra nghiệm
Kết thúc
Đúng
Sai
Kết thúc
Kết thúc
Vẽ sơ đồ thực hiện của các bước .
16
Vậy để giải các bài toán như trên, trong ngôn ngữ lập trình PASCAL ta có một cấu trúc gọi là cấu trúc câu lệnh IF – THEN.
17
Cấu trúc câu lệnh IF – THEN có mấy dạng?
Cấu trúc IF – THEN có có hai dạng.
Dạng thiếu và dạng đủ.
2. Câu lệnh IF - Then
?
18
Cú pháp:
If <Điều kiện> Then
Em hãy nêu cú pháp câu lệnh IF - THEN dạng thiếu ?
a. Dạng thiếu ( Dạng khuyết ):
?
b. Dạng đủ:
?
Em hãy nêu cú pháp câu lệnh IF - THEN dạng đủ?
Cú pháp:
If <Điều kiện> Then
19
* Trong đó:
- If, Then, else: là từ khóa (tên dành riêng).
- Điều kiện: có thể là biểu thức logic hoặc biểu thức quan hệ.(có 2 giá trị là True hoặc False).
- Câu lệnh, Câu lệnh1, câu lệnh2: là một câu lệnh trong Pascal
20
Sơ đồ thực hiện cấu trúc IF - THEN dạng thiếu
Điều kiện
Câu lệnh
T
F
Điều kiện
21
Điều kiện
T
Câu lệnh 1
Câu lệnh 2
F
Điều kiện
Sơ đồ thực hiện cấu trúc IF - THEN dạng đủ
22
* Ý nghĩa câu lệnh rẽ nhánh:
- Dạng thiếu:
Em hãy nêu ý nghĩa của câu lệnh rẽ nhánh dạng thiếu?
?
Nếu ĐK đúng thì thực hiện Câu lệnh, ngược lại thì bỏ qua câu lệnh.
- Dạng đủ:
Em hãy nêu ý nghĩa của câu lệnh rẽ nhánh dạng đủ?
?
Nếu ĐK đú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.
23
Ví dụ 2: Kết luận nghiệm PT bậc hai:
Ví dụ 1: Tìm số lớn nhất của hai số a và b?
IF D<0 then writeln(`phuong trinh vo nghiem`)
ELSE writeln(`phuong trinh co nghiem`);
* VÍ DỤ
24
Trường hợp sau then hoặc else có nhiều Câu lệnh. Pascal cho phép gộp các Câu lệnh đó thành câu lệnh ghép. Có dạng:
Begin
End;
Ví dụ:
If D<0 then writeln(`pt vo nghiem`)
Else Begin
x1:=(-b-sqrt(D))/(2*a);
x2:=(-b+sqrt(D))/(2*a);
end;
Chú ý: Trước Else không có “;”
Sau End phải có “;”
25
Tìm nghiệm thực của phương trình bậc 2:
Input : Các hệ số a, b, c nhập từ bàn phím.
Output : Đưa ra màn hình các nghiệm hoặc câu thông báo “Phương trình vô nghiệm”
4. Một số ví dụ :
Hãy xác định INPUT và
OUTPUT của bài toán?
26
đ
s
Sơ đồ thuật toán giải phương trỡnh bậc hai
2
B1
B2
B3
B4
B5
B6
s
đ
B7
27
a,b,c= 1 3 5
D = 3*3 - 4*5 = - 11
-11 < 0
PT vô nghiệm
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 1:
28
a,b,c= 1 2 1
D = 2*2 - 4*1*1 = 0
PT vô nghiệm
PT có nghiệm x=-b/2a
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 2:
Đ
? = 0
PT có nghiệm kép x=-1
29
a,b,c= 1 -5 6
D = 25 - 24 = 1
PT vô nghiệm
PT có nghiệm x=-b/2a
KT
BD
S
PT có 2 nghiệm
x1, x2 = (-b ??? )/2a
Đ
S
D = b*b - 4*a*c
nhập vào a,b,c
? < 0
Mô phỏng thuật toán giải phương trỡnh bậc hai
Bộ TEST 3:
Đ
? = 0
PT có nghiệm x1 = 3
x2 = 2
30
Câu 1: Cấu trúc câu lệnh điều kiện tổng quát có dạng:
if
if <điều kiện> then < câu lệnh>;
if <điều kiện> then < câu lệnh1>; else< câu lệnh 2>;
if <điều kiện> then < câu lệnh1> else < câu lệnh 2>;
Trắc nghiệm củng cố kiến thức
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
31
Câu 2: Đoạn code sau sai bao nhiêu lỗi:
VAR a,b: interger;
BEGIN
Write(‘Nhap a,b: ’); Readln(a,b);
If (a>b) Then
Write (‘Max: ’,a);
Eles Write (‘Max: ’,b);
END
Trắc nghiệm củng cố kiến thức
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
32
Củng cố :
1. Rẽ nhánh
Có 2 mệnh đề là :
Nếu … thì …
Nếu …. Thì….., nếu ….. Không thì …….
a. Dạng thiếu :
If <điều kiện> then
b. Dạng đủ :
If <điều kiện> then
2. Câu lệnh If - then
3. Câu lệnh ghép
Begin
end;
33
Dặn dò :
Các em về nhà học bài và chuẩn bị trước
Bài 10 : CẤU TRÚC LẶP
34
XIN CHÂN THÀNH CẢM ƠN
QÚI THẦY CÔ
TIẾT HỌC KẾT THÚC!
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Bùi Văn Vẹn
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)