Tuần : ....................
Tiết : 12
Ngày soạn:....................
Ngày giảng:..................
Chơng II. Cấu trúc rẽ nhánh và lặp
Bài 9. Cấu trúc rẽ nhánh
I. Mục đích, yêu cầu:
1. Kiến thức
- Hiểu nhu cầu của 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.
- 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 thiếu, rẽ nhánh dạng đủ 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 độ
- Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính.
- Tiếp tục rèn luyện các phẩm chất cần thiết của ngời lập trình.
II. Chuẩn bị của Giáo viên và học sinh:
1. Giáo viên: SGK, giáo án, STK (máy chiếu nếu có).
2. Học sinh: SGK, chuẩn bị trớc bài ở nhà.
III. Phơng pháp giảng dạy
- Thuyết trình, vấn đáp
IV. Tiến trình bài học và các hoạt động:
1. ổn định tổ chức: 1
2. Kiểm tra bài cũ: Không kiểm tra.
3. Bài mới:
* Hoạt động 1: Giới thiệu cho HS biết rẽ nhánh là gì?
Hoạt động của GV và HS Nội dung
- GVĐVĐ: Bây giờ cô có 1 ví dụ nh sau:
Giải phơng trình bậc 2
ax
2
+ bx + c =0 (a# 0)
trớc tiên, ta tính biệt số delta
D= b
2
- 4ac
Nếu D không âm, ta sẽ đa ra các nghiệm.
Trong trờng hợp ngợc lại, ta phải thông
báo là phơng trình vô nghiệm
Với bài toán này trong lập trình chúng ta
đã làm đợc các bớc nh nhập hệ số a, b, c (a
0) tính đợc D, còn xét các trờng hợp của
D thì trong lập trình làm nh thế nào, thì
trong chơng này chúng ta sẽ nghiên cứu 1
vấn đề mới đó là cấu trúc rẽ nhánh.
- Ghi đầu bài và phần 1.
- HS: nghe giảng.
- GV: Cho HS đọc trớc 5 phút và sau đó
đặt ra những câu hỏi:
+ Rẽ nhánh là gì?
+ Cấu trúc rẽ nhánh là gì?
- HS: Dựa vào phần kiến thức đã đọc trả
lời câu hỏi.
- GV: Nhận xét và ghi bảng:
- GV: Lấy hai ví dụ:
1. Rẽ nhánh
+ VD1: Nếu Châu không học bài thì sẽ bị
điểm kém
Ta nói cách diễn đạt nh vậy thuộc dạng
thiếu:
Nếu ........ thì......
+ VD2: Nếu Châu không học bài thì sẽ bị
điểm kém, nếu học bài thì sẽ có điểm cao
Ta nói cách diễn đạt nh vậy thuộc dạng đủ:
Nếu......... thì........, nếu không thì......
* Vậy cấu trúc rẽ nhánh là thể hiện sự
lựa chọn công việc phù hợp với điều
kiện.
* Hoạt động 2: Giới thiệu và hớng dẫn cách viết và thực hiện câu lệnh If Then.
Hoạt động của GV và HS Nội dung
- GV: Để mô tả cấu trúc rẽ nhánh nh trên
Pascal dùng câu lệnh If then để thể hiện
thao tác lựa chọn công việc.
- GV: Câu lệnh If then có hai dạng đó
là dạng thiếu và dạng đủ.
- HS: Chú ý nghe giảng và ghi bài.
- GV: Treo bảng phụ 2 về sơ đồ khối để
2. Câu lệnh If- then
* Dạng thiếu.
+ Cú pháp: If <điều kiện> then <Câu
lệnh>;
* Dạng đủ.
+ Cú pháp: If <điều kiện> then <Câu lệnh
1> Else <Câu lệnh 2>;
Trong đó:
+ Điều kiện là 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 của Pascal.
sau đó giải thích hoạt động của câu lệnh
If- then ở hai dạng thiếu và đủ.
+ ở dạng thiếu: điều kiện sẽ đợc tính và
kiểm tra. Nếu điều kiện đúng (có giá trị
True) thì câu lệnh sẽ đợc thực hiện, ngợc
lại thì câu lệnh sẽ bị bỏ qua.
+ ở dạng đủ: điều kiện cũng đợc tính và
kiểm tra. Nếu điều kiện đúng (có giá trị
True) thì câu lệnh 1 sẽ đợc thực hiện, ngợc
lại thì câu lệnh 2 sẽ đợc thực hiện.
- HS: Chú ý và tự giác ghi bài.
- GV: Lấy ví dụ 3 để HS hiểu rõ và so
sánh giữa hai cách làm. Gọi HS so sánh
giữa hai cách làm trên.
- HS: So sánh về cách thực hiện của hai
cau lệnh trong VD 3.
- GV: Nhận xét.
+ VD3: Để tìm số lớn nhất Max trong 2 số
a,b có thể bằng 2 cách sau:
C1: Dùng If- then dạng thiếu
Max:= a;
If b>a then Max:=b;
C2: Dùng If- then dạng đủ
If b > a then Max := b else Max := a;
* Hoạt động 3: Giới thiệu và hớng dẫn cách viết và thực hiện câu lệnh If Then
Hoạt động của GV và HS Nội dung
- GV: Trong câu lệnh if - then muốn thực
hiện nhiều lệnh sau then hay nhiều lệnh
sau else thì ta phải làm thế nào ?
- GV: Khi đó ta cần gộp nhiều lệnh đó lại
là một câu lệnh trong chơng trình. Các
NNLT thờng có cấu trúc để giúp ta thực
hiện điều này.
- GV: Giải thích cho học sinh thấy tại sao
lại cần có câu lệnh ghép và câu lệnh ghép
có ý nghĩa gì? sau đó giáo viên đa ra cấu
trúc câu lệnh ghép trong Pascal.
- GV: đa ra VD (quay lại bài toán giải ph-
ơng trình bậc 2 ta sẽ viết đoạn chơng trình
các trờng hợp của delta).
- GV: Qua ví dụ trên em cónhận xét gì?
- HS: Suy nghĩ và trả lời.
3. Câu lệnh ghép
* Cú pháp:
Begin
<các câu lệnh>;
End;
Lu ý: sau End phải là dấu ; và trớc Else
không chứa dấu ;
- Thuật ngữ câu lệnh đợc hiểu là câu lệnh
đơn hoặc câu lệnh ghép.
VD:
if D < 0 Then writeln (' phơng trình vô
nghiệm. ' )
else begin
x1 := (-b - sqrt (D)) / (2*a) ;
x2 := -b/a - x1 ;
writeln ('x1 = ', x1:8:3, 'x2 = ',x2:8:3);
end ;
* Hoạt động 4: Lấy một số ví dụ để làm sáng tỏ câu lệnh rẽ nhánh và câu lệnh ghép.
Hoạt động của GV và HS Nội dung
- GV: đa ra chơng trình trên bảng phụ 3 và
hỏi HS về các câu lệnh trong chơng trình
dùng để làm gì và chơng trình chạy nh thế
nào, để khắc sâu kiến thức câu lệnh rẽ
nhánh và câu lệnh ghép cho HS.
- HS: xác định Input, Output của bài, xác
định kiểu dữ liệu của a,b,c,d
- Thảo luận theo nhóm (4 hs/1 nhóm- 2
bàn liền nhau) để viết bài toán bằng ngôn
ngữ lập trình Pascal
- Các nhóm khác nhận xét, bổ xung và trả
lời
4. Một số Ví dụ
* VD1: Tìm nghiệm thực của phơng trình
bậc 2:
ax
2
+ bx + c = 0 , với a 0
* VD2 SGK/41. Tìm số ngày của năm N.
Biết rằng năm nhuận là năm chia hết cho
400 hoặc chia hết cho 4 nhng không chia
hết cho 100.
V. Củng cố (2)
- Nhấn mạnh câu lệnh rẽ nhánh và câu lệnh ghép.
VI. Dặn dò (1)
- Về nhà xem lại toàn bộ bài học và làm bài tập 1, 2, 3 trang 50-51.