Viết được câu lệnh rẽ nhánh dạng khuyết, rẽ nhánh đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản3. Thái độ:.[r]
Trang 1Tuần : 1 Ngày soạn 26/081/08
CHƯƠNG II CÂUS TRÚC RẼ NHÁNH VÀ CẤU TRÚC LẶP
Bài 9: CẤU TRÚC RẼ NHÁNH
A- Mục tiêu bài học :
1 Kiến thức:
Hiểu nhu cầu cấu trúc rẽ nhánh trong biểu diễn thuật toán
Hiểu câu lệnh rẽ nhánh dạng thiếu và đủ
Hiểu câu lệnh ghép
2 Kỹ năng:
Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản
Viết được câu lệnh rẽ nhánh dạng khuyết, rẽ nhánh đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản
3 Thái độ:
B- Phương pháp:
Thuyết trình vấn đáp
C- Chuẩn bị của giáo viên và học sinh:
1 Giáo viên: Giáo án, bảng vẽ
2 Học sinh:
Chuẩn bị bài cũ, Chuẩn bị về các thuật toán ở lớp 10
Xem kĩ bài mới
D- Tiến trình lên lớp:
I- Ổn định lớp :
II- Kiểm tra bài cũ:
Viết chương trình giải PT: ax + b= 0
III- Bài mới:
1 Đặt vấn đề:
Trong toán học cũng như các công việc thường ngày , có rất nhiều việc chỉ được thực hiện khi thỏa mãn một điều kiện nào đó Những cấu trúc như vậy được gọi là cấu trúc rẽ nhánh.
2 Triển khai bài:
Hoạt động của giáo viên và học sinh Nội dung kiến thức
HĐ1: Như thế nào là câu lệnh rẽ nhánh?
Gv: Em hãy nêu vài ví dụ về một việc nào đó
được thực hiện khi thỏa mãn điều kiện?
Hs1: Nếu con đậu ĐH thì bố sẽ mua cho con
1chiếc máy vi tính
Hs2:Nếu trời mưa thì các em học TD nghĩ
Gv:Điều kiện ở 2 vd trên là gì và công việc
được thực hiện là gì?
Hs: Trả lời
Gv: Các ví dụ trên là một mệnh đề và nó có
dạng như thế nào?
Hs: Nếu … thì…….
Gv: Cách diễn đạt như vậy là dạng thiếu.
Gv: Cách diễn đạt như thế nào là dạng đủ cho ví
dụ?
Hs: Nếu …… thì……ngược lại thì…….
1 Rẽ nhánh.
Cấu trúc rẽ nhánh là cấu trúc dùng để mô tả một công việc nào đó được thực hiện khi thoả mãn một điều kiện cụ thể
+ Dạng thiếu:
– Nếu … Thì…
+ Dạng đủ:
–Nếu … Thì…… nếu không thì…
Ví dụ:
TIẾT
11
Trang 2Hs2: VD Nếu đủ tiền mình mua một cuốn từ
điển nếu không đủ thì mình mua một quyển vở
Gv: Cách diễn đạt như vậy là dạng đủ.
=> Cấu trúc dùng diễn đạt các mệnh đề trên
được gọi là cấu trúc rẽ nhánh thiếu và dủ.
Gv: Đưa ra ví dụ giải PTB2
Hs: Lên bảng mô tả thuật toán
HĐ2: Tìm hiểu cách diễn đạt cấu trúc rẽ nhánh trong ngôn ngữ lập trình Pascal.
Gv: Đưa ra cấu trúc lệnh rẽ nhánh trong TP
Nhắc học sinh đây là cấu trúc quan trọng, nó sẽ
được sử dụng trong các chương trình sau này
Gv: Lưu ý các em sau THEN và sau ELSE chỉ
có 1 lệnh chương trình
Gv: Với hai dạng này, dạng nào dùng thuận tiện
hơn?
Hs: Tìm câu trả lời, giáo viên gợi ý để học sinh
đưa ra được tùy trường hợp cụ thể mà dùng
dang thiếu hay đủ
Gv: Đưa ra các ví dụ có sử dụng câu lệnh rẽ
nhánh, nếu không có lệnh rẽ nhánh thì không
thể thực hiện được
Gv: Cho VD Tìm giá trị lớn nhất của hai số a,b
C1: Max:=a; if b>a then Max:=b;
C2: If a>b Then max:=a Else Max:=b;
Gv: Trong hai cách trên cách nào nhanh hơn,
thuận tiện hơn?
Hs: Trả lời
Gv: Phân tích sự thuận tiện trong cách 2 và số
lệnh mà máy phải thực hiện
2 Câu lệnh If - Then
a Dạng thiếu:
•If <đkiện> then <câu lệnh >
•Ý nghĩa: Nếu điều kiện đúng thì thực hiện câu lệnh, ngược lại câu lệnh sẽ bỏ qua
•If D<0 then
•writeln(‘Phuong trinh vo nghiem’);
•Ví dụ 2:
•If a<>0 then
•writeln(‘Day la phuong trinh bac hai’);
b) Dạng đủ
If <đkiện> then <câu lệnh 1>
Else <câu lệnh 2>
Ý nghĩa: Nếu điều kiện đúng thực hiện câu lệnh 1, ngược lại thực hiện câu lệnh 2
Ví dụ 1:
If x mod 6 = 0 then writeln(‘x chia het cho 6’)
Else Writeln(‘ x khong chia het cho 6’);
Ví dụ 2:
•If a>b then Max:=a
•Else max:=b;
Trang 3HĐ3: Tìm hiểu câu lệnh ghép
Gv: Trong câu lệnh IF Then muốn thực hiện
nhiều lệnh sau Then hay Else làm thế nào?
Hs: Phát biểu ý kiến của mình
Gv: Khi đó ta gộp các câu lệnh đó lại và xem
như một câu lệnh trong chương trình
Gv: Hãy xác định câu lệnh ghép trong chuỗi
lệnh trên?
Hs: Trả lời
3 Câu Lệnh ghép
Trong TP có dạng:
Begin
< Các câu lệnh>
End;
Chú ý: Sau End là dấu “;” và trước Else không có “;”
Ví dụ:
If d<0 Then writeln(‘PT vo nghiem’) Else
Begin
X1:= (-b –sqrt(d)/2*a);
X2:=-b/a-x1;
Write(‘X1=’, X1, ‘X2=’,x2);
End;
Hđ4: Viết chương trình hoàn chỉnh có sử dụng câu lệnh rẽ nhánh thông qua các ví dụ
Gv: Xác định I,O?
Hs: I: a,b,c:real;
O: x1,x2 hoặc vô nghiệm
Gv: Dựa vào đoạn lệnh trong ví dụ câu lệnh
ghép bổ sung thành chương trình hoàn chỉnh
Hs: lên bảng viết chương trình
Gv: XĐBT
Hs: I: N : Năm
O: 365 hay 366
Gv: điều kiện để xác định số ngày của 1 năm?
Hs: Nếu là năm nhuận thì có 366 ngày ngược lại
thì có 355 ngày
Gv: Điều kiện để xác định là năm nhuận?
Hs: (n mod 400=0) or (n mod 4=0) and (n mod
100<>0)
Gv: dựa vào các điều kiện trên các em tự viết
chương trình
Ví dụ 1: Tìm nghiệm PTB2
Ax2+bx+c=0
Ví dụ 2: Tìm số ngày của một năm: Năm nhuận là năm chia hết cho 400 hoặc chia hết cho 4 nhưng không chia hết cho 100
IV- Củng cố bài :
Nhắc lại một số khái niệm mới
Nhắc lại cấu trúc câu lệnh IF – THEN, IF – THEN – ELSE thông qua các ví dụ
V- Dặn dò :
Ra bài tập về nhà
Chuẩn bị bài : Câu Lệnh lặp
VI Rút kinh nghiệm.