Câu lệnh IF 12ph THEN: Trong Pascal sử dụng câu lệnh IF - THEN để mô tả việc rẽ nhánh tương ứng với 2 loại mệnh đề rẽ nhánh có cú pháp như sau: GV: Hỏi Dựa vào sơ đồ mời 02 HS trình hoạt[r]
Trang 1BÀI SOẠN GIÁO ÁN TIN HỌC 11 Tiết PPCT: 11 Tên bài: CẤU TRÚC RẼ NHÁNH
Ngày soạn:
Người soạn:
A Mục tiê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ẽ nhanh dạng thiếu và dạng đủ
2 Kĩ năng
- Phân biệt và sử dụng được câu lệnh rẽ nhánh ở 2 dạng: dạng thiếu và đầy đủ;
- Viết được các câu lệnh rẽ nhánh dạng thiếu, rẽ nhánh dạng đầy đủ và áp dụng để thực hiện được thuật toán của một bài toán đơn giản
3 Thái độ
- Giúp HS nâng cao kiến thức về sử dụng NNLT, tạo hứng thú cho hs tư duy,
từ đó tích cực nghiên cứu và thêm yêu thích môn học
- Rèn luyện các phẩn chất cần thiết của người lập trình
B Phương pháp dạy học – Phương tiện dạy học
1 Phương pháp dạy học: Kết hợp các phương pháp giảng dạy như thuyết trình,
vấn đáp, vẽ hình minh họa, kiểm tra đánh giá,…
2 Phương tiện dạy học
a Thầy:
- Máy tính, máy chiếu (nếu có);
- Bài giảng thiết kế trên các Slide nếu có máy tính và máy chiếu;
- Sách giáo khoa và sách giáo viên Tin học 11;
- Một số chương trình đơn giản để minh họa cho bài giảng
b Trò:
- Vở ghi lý thuyết;
- Sách giáo khoa tin học 11;
Trang 2Kiểm tra
∆ >= 0
Thông báo vô nghiệm
Tính và đưa ra nghiệm
Kết thúc
C Tiến trình lên lớp
1 Ổn định (2ph)
Yêu cầu lớp trưởng báo cáo sĩ số, ổ định lớp
2 Kiểm tra bài cũ (Bỏ qua)
3 Bài mới
Hằng ngày có những công việc chỉ được thực hiện khi một điều kiện nào đó được thoả mãn và trong các bài toán cũng vậy, làm thế nào để mô tả các dạng bài toán đó trong lập trình? Hôm nay chúng ta cùng nhau tìm hiểu bài “Cấu trúc rẽ nhánh"
Hoạt động 1: Tìm hiểu tổ chức rẽ nhánh
Mục tiêu: HS biết được ý nghĩa của tổ chức rẽ nhánh Hiểu được cấu trúc chung của cấu trúc rẽ
nhánh Vẽ được sơ đồ giải phương trình bậc 2: ax 2 +bx+c = 0(a<>0).
Thời
gian
7ph GV: Trong thực tế:
- Nếu Delta < 0 thì phương trình
vô nghiệm;
- Nếu Delta >= 0 thì phương trình
có nghiệm.
Như vậy tùy thuộc vào giá trị của
Delta mà ta đưa ra vô nghiệm hay
có nghiệm.
Hoặc có thể nói: Nếu Delta < 0
thì phương trình vô nghiệm;
ngược lại thì phương trình có
nghiệm.
HS: Chú ý nghe giảng. 1 Rẽ nhánh :
Ví dụ 1: Để viết chương trình giải phương trình bậc hai:ax2+bx+c=0, (a≠0)
Ta phải tính:
Delta = b2 - 4ac; Sau đó tùy thuộc vào giá trị của Delta mà
ta có tính nghiệm hay không
Trang 3Như vậy ta thấy một số mệnh đề
có dạng:
- Nếu … thì …
- Nếu … thì … ngược lại thì…
GV: Mọi ngôn ngữ lập trình đều
có câu lệnh để mô tả cấu trúc rẽ
nhánh Bây giờ chúng ta cùng
nhau tìm hiểu câu lệnh rẽ nhánh
If – then trong ngôn ngữ lập
trình Pascal
HS: Chú ý nghe giảng, ghi bài
đầy đủ.
- Cấu trúc để mô tả các bài toán dạng nếu
… thì ….; nếu… thì
… không thì… được gọi là cấu trúc rẽ nhánh
- Cấu trúc rẽ nhánh chia làm hai dạng là dạng thiếu và dạng đủ
Hoạt động 2: Tìm hiểu câu lệnh IF…THEN
Mục tiêu: HS biết cấu trúc chung của lệnh IF Biết hoạt động của máy khi gặp lệnh IF Vẽ được
sơ đồ cho lệnh IF
Thời
12ph GV: Thuyết trình bài giảng
GV: Hỏi Dựa vào sơ đồ mời 02
HS trình hoạt động cấu trúc câu
lệnh rẽ nhánh dạng thiếu và dạng
đầy đủ.
HS: Chú ý nghe giảng.
HS: Trả lòi câu hỏi, ghi bài
đầy đủ.
2 Câu lệnh IF -THEN :
Trong Pascal sử dụng câu lệnh IF - THEN để
mô tả việc rẽ nhánh tương ứng với 2 loại mệnh đề rẽ nhánh có
cú pháp như sau:
Dạng thiếu:
IF <điều_kiện> THEN
<câu_lệnh>;
Dạng đầy đủ:
IF <điều_kiện> THEN
<câu_lệnh_1> ELSE
<câu_lệnh_2>;
Trong đó:
Trang 4GV: Thuyết trình bài giảng: Nêu
lại ý nghĩa các câu lệnh.
GV: Nêu thêm ví dụ: Tìm giá trị
lớn nhất của 2 số nguyên a và b.
Cách 1:
Max:=a;
If(b>a) then Max:=b;
Cách 2:
If(b>a) then Max:=b Else Max:=a;
HS: Chú ý nghe giảng.
HS: Chú ý nghe giảng, suy
nghĩ tham gia xây dựng bài
- Điều_kiện: là biểu thức quan hệ hoặc logic;
-Câu_lệnh, câu_lệnh_1, câu_lệnh_2 là một câu lệnh của Pascal.
Ví dụ 2:
If(x mod 2 = 0) then Write(x, ‘ la so chan’);
Hoặc:
If(x mod 2 = 0) then Write(x, ‘ la so chan’)
Else Write(x, ‘ la so le); Hoạt động 3: Tìm hiểu câu lệnh ghép.
Mục tiêu: HS biết cấu trúc lệnh ghép trong lập trình và sử dụng cấu trúc lệnh ghép trong Pascal
Thời
gian
10ph GV: Trong câu lệnh If-then
muốn thực hiện nhiều câu lệnh
sau then hay nhiều câu lệnh sau
else làm thế nào?
Khi đó ta cần gộp nhiều câu
lệnh đó và coi đó là một câu
lệnh trong chương trình Trong
Pascal có cấu trúc giúp ta thực
hiện điều này
HS: Phát biểu ý kiến của mình
HS: Lắng nghe, ghi chép
3 Câu lệnh ghép:
Trong Pascal, câu lệnh ghép có dạng: Begin
< Các câu lệnh >; End;
Chú ý:
Sau end phải là dấu (;) và trước else không chứa dấu (;)
Lệnh 2
Trang 5GV: Giới thiệu lệnh ghép.
GV: Yêu cầu HS hãy chỉ ra
đâu là câu lệnh ghép?
Chỉ lại câu lệnh ghép trong
chuỗi câu lệnh này và giải thích
sơ lược
HS: Chỉ ra câu lệnh ghép
Từ nay nói đến câu lệnh thì đó có thể là câu lệnh đơn hoặc câu lệnh ghép
Ví dụ 3:
If delta < 0 then Writeln(‘Phuong trinh vo nghiem’) Else
Begin x1 := ( –b – Sqrt(delta))/(2*a); x2 := –b/a –x1;
Writeln( ‘x1=
‘,x1:6:2, ‘x2=
‘,x2:6:2);
End;
Hoạt động 4: Tìm hiểu một số ví dụ.
Mục tiêu: Bước đầu sử sụng đúng lệnh IF để lập trình giải quyết một số bài toán đơn giản trong Pascal
Thời
gian
9ph GV: Thuyết trình bài giảng HS: Trật tự nghe giảng,
suy nghĩ tham gia xây dựng bài
4 Một số ví dụ :
Quan sát các chương trình sau trong NNLT Pascal:
VD1: Tìm nghiệm thực của phương trình bậc 2:
ax2 + bx + c = 0 VD2: Tìm số ngày của một năm: năm
Trang 6nhuậ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
4 Củng cố, dặn dò: (2ph)
Nhắc lại cho HS về cấu trúc câu lệnh IF (dạng thiếu và dạng đầy đủ)
Nhắc lại câu lệnh ghép
5 Hướng dẫn HS học tập ở nhà(3ph).
- Viết chương trình sau: Nhập vào một điểm cho biết điểm đó là trên trung bình hay dưới trung bình
Ví dụ: - Nhập vào là 6 thì thông báo: Điểm của bạn là trên trung bình;
- Nhập vào là 4 thì thông báo: Điểm của bạn là dưới trung bình
- Xem trước nội dung của §10 (mục 1 và 2 phần lý thuyết)
6 Rút kinh nghiệm tiết dạy