Bài 9. Cấu trúc rẽ nhánh

Chia sẻ bởi Lam Van Len | Ngày 10/05/2019 | 53

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:

CHÀO CÔ CÙNG CÁC BẠN 10ST
9/9/2011
CẤU TRÚC RẼ NHÁNH
1
TIN HỌC 11
LÂM VĂN LEN
TRƯỜNG ĐẠI HỌC AN GIANG
9/9/2011
CẤU TRÚC RẼ NHÁNH
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 PASCAL 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, 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.
9/9/2011
CẤU TRÚC RẼ NHÁNH
3
Chương III. CẤU TRÚC RẼ NHÁNH VÀ LẶP
Bài 9 : CẤU TRÚC RẼ NHÁNH
Bài giảng nhằm mục tiêu:
1.Kiến thức:
Biết được khái niệm của cấu trúc rẽ nhánh,lặp
Giúp cho học sinh nắm được ý nghĩa của cấu trúc rẽ nhánh,lặp
Học sinh biết được cấu trúc chung của cấu trúc rẽ nhánh, lặp và vận dụng đúng cú pháp
2. Kĩ năng:
Bước đầu sử dụng cấu trúc rẽ nhánh If… then… else… trong ngôn ngữ lập trình Pascal để viết chương trình giải quyết được một số bài toán đơn giản.
9/9/2011
CẤU TRÚC RẼ NHÁNH
4
NỘI DUNG
1. Rẽ nhánh
3. Câu lệnh ghép
2. Câu lệnh If …. Then
4. Một số ví dụ
5. Củng cố
6.Dặn dò
9/9/2011
CẤU TRÚC RẼ NHÁNH
5
1. RẼ NHÁNH
Xem tình huống
Tình huống 1:Câu chuyện giữa A và B
Chiều mai nếu trời không mưa thì CHÂU sẽ đến nhà LINH học
Nhà LINH
Nhà CHÂU
9/9/2011
CẤU TRÚC RẼ NHÁNH
6
Tình huống 2:
Trong đợt xét tuyển vào lớp 10 năm học vừa qua điểm chuẩn để vào trường là 45.5 điểm.
Vậy: Những học sinh thi tốt nghiệp lớp 9 sẽ được xét tuyển là những học sinh có điểm lớn hơn hoặc bằng 45.5 sẽ có cơ hội được vào học trường chúng ta
Như vậy :
Nếu A đạt được 45.5 thì A sẽ có cơ hội học ở trường chúng ta còn không đạt được 45.5 thì A sẽ rớt tốt nghiệm
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
7
Cách diễn đạt của CHÂU như vậy ta nói thuộc dạng mệnh đề thiếu:
Nếu … Thì …
Cách diễn đạt của A như vậy ta nói thuộc dạng mệnh đề đủ:
Nếu … Thì …, Nếu Không Thì …
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
8
Như vậy: Trong nhiều thuật toán, các thao tác tiếp theo sẽ phụ thuộc vào kết quả nhận được từ các bước trước đó.
Cấu trúc dùng để mô tả mệnh đề có dạng như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ.
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
9
Xét ví dụ sau
Ví dụ:Giải phương trình bậc hai: ax2+bx+c=0 (a  0)
Các em hãy cho biết các bước để giải một phương trình bậc hai trên lập trình ?
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
10
Xét ví dụ sau
Nhập các hệ số a, b, c (a  0)
Tính biệt số Delta: D = b2 - 4ac
Nếu D không âm, tính và đưa ra các nghiệm, ngược lại thì thông báo phương trình vô ngiệm
1. RẼ NHÁNH
Trả Lời
9/9/2011
CẤU TRÚC RẼ NHÁNH
11
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
Sơ đồ thực hiện của các bước .
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
12
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.
1. RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
13
2. Câu lệnh IF - Then
?
Cấu trúc câu lệnh IF – THEN có mấy dạng?
Cấu trúc câu lệnh IF – THEN có hai dạng.
Dạng thiếu và dạng đủ.
9/9/2011
CẤU TRÚC RẼ NHÁNH
14
Trả Lời
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 ):
?
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
15
b. Dạng đủ:
?
Em hãy nêu cú pháp câu lệnh IF - THEN dạng đủ?
Trả Lời
Cú pháp:
If <Điều kiện> Then else;
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
16
* 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
17
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
Sơ đồ thực hiện cấu trúc IF - THEN dạng thiếu
18
Điều kiện
Câu lệnh
T
F
Điều kiện
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
Câu lệnh
Điều kiện
Sơ đồ thực hiện cấu trúc IF - THEN dạng đủ
Điều kiện
T
Câu lệnh 1
Câu lệnh 2
F
Điều kiện
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
19
* Ý nghĩa câu lệnh rẽ nhánh:
- Dạng thiếu:
?
Trả Lời.
Nếu ĐK đúng thì thực hiện câu lệnh, ngược lại thì bỏ qua câu lệnh.
Các em hay rút ra ý nghĩa của câu lệnh rẽ nhánh dang thiếu ?
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
20
* Ý nghĩa câu lệnh rẽ nhánh:
- Dạng đủ:
?
Trả lời.
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.
Em hóy nờu ý nghia c?a cõu l?nh d?ng d? ?
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
21
Xét Ví Dụ
Ví Dụ: Các em hãy dùng lệnh IF – THEN theo
hai dạng để tìm số lớn nhất trong hai số a và b
Dùng câu lệnh gán max:=a vào lệnh IF-THEN
dạng thiếu: IF b > a THEN max:=b;
Dùng một lệnh IF-THEN dạng đủ:
IF b > a THEN max:=b ELSE max:=a;
2. Câu lệnh IF - Then
9/9/2011
CẤU TRÚC RẼ NHÁNH
9/9/2011
CẤU TRÚC RẼ NHÁNH
22
3. CÂU LỆNH GHÉP
Sau từ khóa (then hoặc else) phải là một câu lệnh.Trong trường hợp nhiều lệnh thì trong Turbo Pascal cho phép gợp nhiều câu lệnh thành một câu lệnh ghép, nó có dạng sau:
BEGIN
;
END;
VÍ DỤ
IF D<0 then writeln(‘phuong trinh vo nghiem’)
ELSE
BEGIN
X1:= (-B + SQRT(D))/(2*A);
X2:= (-B - SQRT(D))/(2*A);
END;
9/9/2011
CẤU TRÚC RẼ NHÁNH
23
4. Một số ví dụ :
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”
H�y x�c d?nh INPUT v�
OUTPUT c?a b�i tốn?
9/9/2011
CẤU TRÚC RẼ NHÁNH
24
Sơ đồ của phương trình bậc hai
D
s
2
B1
B2
B3
B4
B5
s
D
B6
9/9/2011
CẤU TRÚC RẼ NHÁNH
25
a
b
c
1
3
5
D
-11
Mô phỏng thuật toán giải phương
trình bậc hai
D
s
s
D
a=1, b=3, c=5
Nhập vào a, b, c
D = b*b - 4*a*c
D = 3*3 - 4*5 = - 11
? < 0
-11 < 0
PT vô nghiệm
PT vô nghiệm
Kết thúc
9/9/2011
CẤU TRÚC RẼ NHÁNH
26
a
b
c
1
2
1
D
0
Mô phỏng thuật toán giải phương
trình bậc hai
D
s
s
D
a=1, b=2, c=1
Nhập vào a, b, c
D = b*b - 4*a*c
? = 2*2 - 4*1*1 = 0
? < 0
PT vô nghiệm
PT vô nghiệm
Kết thúc


? = 0
? = 0
9/9/2011
CẤU TRÚC RẼ NHÁNH
27
a
b
c
2
5
3
D
1
Mô phỏng thuật toán giải phương
trình bậc hai
D
s
s
D
a=2, b=5, c=3
Nhập vào a, b, c
D = b*b - 4*a*c
? = 5*5 - 4*2*3 = 1
? < 0
PT vô nghiệm
PT vô nghiệm
Kết thúc


? = 0
PT có hai nghiệm
9/9/2011
CẤU TRÚC RẼ NHÁNH
28
củng cố kiến thức
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>;
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
9/9/2011
CẤU TRÚC RẼ NHÁNH
29
củng cố kiến thức
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
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
9/9/2011
CẤU TRÚC RẼ NHÁNH
30
củng cố kiến thức
Câu 3: Cho biết Điều kiện và Câu lệnh trong câu lệnh rẽ nhánh dưới đây?
If (x mod 2=0) then ( x, ‘ là số chẳn’);

15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
KẾT QUẢ
Điều kiện: x mod 2=0
Câu lệnh: x, ‘ là số chẳn’
9/9/2011
CẤU TRÚC RẼ NHÁNH
31
củng cố kiến thức
Câu 4:Tương tự ví dụ 3, Cho biết kết quả của câu lệnh với x=8 và giải thích ?.
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
Kết quả : 8 là số chẳn
Giải thích : Vì 8 mod 2 =0 (đúng) nên thực hiện câu lệnh write sau then
9/9/2011
CẤU TRÚC RẼ NHÁNH
32
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
Câu 5 : Em hãy viết đoạn lệnh if để tim Min(a,b)?.Hãy chọn kết quả đúng.
Min:=a; If (a>b) then Min:=b;
If (a>b) then Min:=b else Min:=a;
A và B đúng.
A và B sai.
9/9/2011
CẤU TRÚC RẼ NHÁNH
33
củng cố kiến thức
Câu 6: Trong câu lệnh if dạng thiếu và dạng đủ thì dạng nào có thể lồng nhau, cho ví dụ?.
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
If dạng đủ
If dạng thiếu
Kết quả

A
9/9/2011
CẤU TRÚC RẼ NHÁNH
34
củng cố kiến thức
Câu 6: Trong câu lệnh if dạng thiếu và dạng đủ thì dạng nào có thể lồng nhau, cho ví dụ?.
15
14
13
Thời gian
12
11
10
9
8
7
6
5
4
3
2
1
0
IF Delta<0 then write(‘phương trình vô nghiệm’);
Else
IF Delta=0 then write(‘phương trình có nghiệm kép:’ x= - );
Else
write(‘phương trình có hai nghiệm:’
Begin


End;
b/2a
x1,x2
= (- b
±ÖD
)/2a
9/9/2011
CẤU TRÚC RẼ NHÁNH
35
Ví dụ: Biện luận theo biệt số delta=b*b-4*a*c trong phương trình bậc hai
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
Câu 7: ELSE của đoạn chương trình dưới đây tương ứng với IF nào?
Kết quả :B
9/9/2011
CẤU TRÚC RẼ NHÁNH
36
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
Kết quả :C
Câu 8: Cho biết đoạn chương trình sau có bao nhiêu câu lệnh ghép ?.
If a>b then
Begin
a:=a+b; b:=a-b;
End
Else
Begin
a:=a+2; b:=b*4;
End;
Writeln(‘a=’,a); writeln(‘b=’,b);
A.3 B.4 C.2 D.6
9/9/2011
CẤU TRÚC RẼ NHÁNH
37
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
Câu 9: Hãy nêu các mệnh đề của rẽ nhánh ?
Mệnh đề 1 : Nếu …… Thì…..
Mệnh đề 2: Nếu ……. Thì……..,Nếu……… không thì…..
Câu 10: Hãy nêu các dạng của câu lệnh if-then ?
Dạng 1 : IF <điều kiện> THEN ;
Dạng 2 : IF <điều kiện> THEN ELSE < câu lệnh >;
9/9/2011
CẤU TRÚC RẼ NHÁNH
38
Củng cố lý thuyết:
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;
9/9/2011
CẤU TRÚC RẼ NHÁNH
39
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
9/9/2011
CẤU TRÚC RẼ NHÁNH
40
Bài học đến đây kết thúc!
9/9/2011
CẤU TRÚC RẼ NHÁNH
41
* 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ẻ: Lam Van Len
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)