Chủ đề: CÂU LỆNH RẼ NHÁNH – BÀI 9
A. MỤC TIÊU:
1. Kiến thức:
Học sinh:
- Hiểu vai trò của câu lệnh rẽ nhánh.
- Hiểu cấu trúc câu lệnh rẽ nhánh dạng thiếu và dạng đủ.
2. Kĩ năng:
- Viết đúng câu lệnh rẽ nhánh dạng thiếu và dạng đủ (trong ngôn ngữ lập trình PASCAL).
3. Thái độ:
- Học sinh hiểu bài và hứng thú với bài học.
- Học sinh ngày càng say mê lập trình hơn.
4. Định hướng hình thành năng lực và phát triển cho học sinh:
- Năng lực giải quyết vấn đề thông qua việc trao đổi, thảo luận lựa chọn giải pháp.
- Năng lực làm việc cộng tác.
- Năng lực thực hành: Vận dụng được câu lệnh rẽ nhánh vào bài toán cụ thể.
B. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH:
1. Hoạt động khởi động:
- Mục tiêu: Tạo động cơ để HS có nhu cầu sử dụng cấu trúc rẽ nhánh (CTRN).
- Phương pháp: Cá nhân hoặc thảo luận nhóm.
- Phương tiện dạy học: SGK, máy chiếu, máy tính.
- Sản phẩm: HS sử dụng CTRN để giải 1 số bài toán cụ thể.
NỘI DUNG HOẠT ĐỘNG
Hoạt động GV
- Nêu VD1(kiến thức nền HS – mức 1):
+ Tính tổng a, b bất kì.
Hoạt động HS
- Thảo luận nhóm trả lời:
S:= a+b;
Writeln(S);
- Nêu VD2 (tạo tình huống – mức 2)
+ Tính thương a, b bất kì.
H: Nếu b<>0 thì tính thương như thế nào?
Nếu b=0 thì tính thương như thế nào?
(HS thảo luận nhóm)
- Thảo luận nhóm trả lời:
+ HS1: T:=a/b;
+ HS2:
TH1: nếu b<>0 thì T:=a/b;
TH2: nếu b=0 thì thông báo không thực hiện
được.
- NX: mệnh để mô tả như VD2 gọi là CTRN.
(Tìm ví dụ - mức 3)
- Em hãy tìm VD có sự lựa chọn để thực hiện
công việc trong học tập hoặc trong đời sống?
(HS có thể tham khảo SGK và thảo luận)
- Gợi ý thêm: trong toán học để tìm số lớn nhất
trong 2 số a, b.
- Có mấy dạng rẽ nhánh?
+ Dạng 1: Nếu… thì… (RN thiếu)
+ Dạng 1: Nếu… thì…, nếu không thì… (RN
đầy đủ)
- Dự đoán:
+ Thảo luận nhóm 1: Chiều mai nếu trời không
mưa thì HS1 sẽ đến nhà HS2.
+ Thảo luận nhóm 2: Chiều mai nếu trời không
mưa thì HS1 sẽ đến nhà HS2, nếu mưa thì sẽ gọi
điện cho HS2 để trao đổi.
- Thảo luận nhóm trả lời:
Nếu a>b thì lớn nhất là a.
Nếu b> a thì lớn nhất là b.
Hoặc: Nếu a>b thì lớn nhất là a, nếu không thì
lớn nhất là b.
- Trả lời: có 2 dạng
+ Dạng 1: Nếu… thì…
+ Dạng 1: Nếu… thì…, nếu không thì…
2. Hình thành kiến thức:
a. Câu lệnh IF-THEN:
- Mục tiêu: Giúp HS hiểu ý nghĩa và cách thực hiện của câu lệnh CTRN.
- Phương pháp: Đàm thoại, phát hiện và khai thác mối quan hệ giữa thực tiễn với CLRN.
- Hình thức tổ chức hoạt động: cá nhân/thảo luận.
- Phương tiện dạy học: SGK, máy chiếu, máy tính.
- Sản phẩm: HS biết cú pháp hoạt động và vận dụng được CLRN để giải 1 số bài toán cụ thể.
NỘI DUNG HOẠT ĐỘNG
Hoạt động GV
- B1: Giới thiệu câu lệnh IF-THEN:
Để mô tả cấu trúc rẽ nhánh trong pascal dùng
câu lệnh if then
+ Dạng thiếu: chiếu slide;
+ Dạng đủ: chiếu slide.
Hoạt động HS
- Lắng nghe
Quan sát:
+ IF <điều kiện> THEN <câu lệnh>;
+ IF <điều kiện> THEN <câu lệnh 1>
ELSE <câu lệnh 2>;
- B2: Giải thích thành phần câu lệnh.
- B3: Mô tả hoạt động câu lệnh: 2 dạng (chiếu
sơ đồ và giải thích hoạt động câu lệnh)
- Lắng nghe.
- Quan sát sơ đồ hình 5, 6 trang 39 SGK.
* Lưu ý: câu lệnh đầy đủ trước ELSE không có
dấu ‘;’, và sau từ khóa THEN hoặc ELSE thi
hành 1 câu lệnh.
- B4: Vận dụng viết câu lệnh
Ví dụ1: Viết câu lệnh rẽ nhánh dạng thiếu:
Tính thương 2 số a, b bất kì.
- Ghi nhớ.
Ví dụ 2: Viết câu lệnh rẽ nhánh dạng đầy đủ:
Tính thương 2 số a, b bất kì.
- HĐ nhóm:
IF b<>0 THEN T:=a/b ELSE WRITELN(‘không
thực hiện được’);
Ví dụ 3: Viết 2 dạng câu lệnh IF-THEN để tìm
số lớn nhất trong 3 số a, b, c.
- Dự đoán nhóm:
+ Dạng thiếu:
IF (a>b) and (a>c) THEN max:=a;
IF (b>c) and (b>a) THEN max:=b;
IF (c>b) and (c>a) THEN max:=c;
+ Dạng đủ:
IF a>b THEN max:=a ELSE max:=b;
IF max
- HĐ nhóm:
IF b<>0 THEN T:=a/b;
IF b=0 THEN WRITELN(‘không thực hiện
được’);
-
b. Câu lệnh ghép:
Mục tiêu: Giúp HS hiểu ý nghĩa và cách thực hiện của câu lệnh ghép.
Phương pháp: Đàm thoại, phát hiện và khai thác câu lệnh ghép.
Hình thức tổ chức hoạt động: Cá nhân/thảo luận.
Phương tiện dạy học: SGK, máy chiếu, máy tính.
Sản phẩm: HS biết cách sử dụng câu lệnh ghép để giải 1 số bài toán cụ thể.
NỘI DUNG HOẠT ĐỘNG
Hoạt động GV
- Chiếu VD ( Tạo tình huống sai )
Đoạn chương trình tính diện tích và chu vi hình
tròn với bán kính R bất kì:
IF R>0 THEN S:=3.14*R*R;
P:=3.14*2*R;
Yêu cầu: chạy đoạn chương trình trên với R=5
và R= -1.
- Yêu cầu HS nhận xét đáp án.
- Nhận xét: sau THEN/ELSE nếu muốn viết từ
2 lệnh trở lên ta phải đặt các lệnh đó trong
BEGIN-END.
Hoạt động HS
- Quan sát ví dụ tính diện tích và chu vi hình tròn
với bán kính R
Làm nhóm ( thay R=5; R=-1):
+ R=5: S=78.5; P= 31.4
+ R=-1: S=0; P= -6.28 ( có vấn đề)
- Giải thích ý nghĩa câu lệnh ghép.
- Viết khái niệm: câu lệnh ghép có dạng
BEGIN
<Các câu lệnh>;
END;
- Lắng nghe.
Sửa đoạn lệnh trên để nó thực hiện đúng.
- Làm việc nhóm:
IF R>0 THEN
BEGIN
S:=3.14*R*R;
P:=3.14*2*R;
END;
3. Hoạt động luyện tập, vận dụng: lập trình giải bài toán
- Mục tiêu: HS thể hiện được câu lệnh IF-THEN, câu lệnh ghép trong một tình huống cụ thể.
- Phương pháp: Rèn luyện tư duy phân tích, đàm thoại, phát hiện và khai thác câu lệnh IF-THEN, câu
lệnh ghép.
- Hình thức tổ chức hoạt động: Cá nhân/thảo luận.
- Phương tiện dạy học: SGK, máy chiếu, máy tính, chương trình hoàn chỉnh.
- Sản phẩm: HS biết cách sử dụng câu lệnh IF-THEN, câu lệnh ghép để giải bài toán mới.
NỘI DUNG HOẠT ĐỘNG
Hoạt động GV
- Chiếu BT1: Tìm nghiệm thực của PTB2:
ax2+bx+c=0; với a≠0.
Gợi ý:
+ Các công việc chính:
- Nhập a, b, c từ bàn phím (a<>0);
- Tính delta;
- Xét delta (>=0, <0) tìm nghiệm;
- Xuất nghiệm thực hoặc thông báo ‘ phương
trình vô nghiệm’.
+ Viết các lệnh nhập a, b, c;
+ Tính delta;
Hoạt động HS
- Thảo luận làm việc nhóm: 4 nhóm
+ Nhóm 1, 2 làm BT1:
- Quan sát và ghi.
- Viết câu lệnh theo gợi ý của GV.
- Chia bảng làm 2 cột, đại diện nhóm1, 2 lên
bảng viết đoạn chương trình.
- Nhóm 3, 4 quan sát và góp ý để hoàn thiện
đoạn chương trình.
- Đoạn chương trình hoàn thiện BT1:
Var a, b, c: real;
+ Dùng câu lệnh IF-THEN xét delta để tìm
nghiệm thực;
+ Viết các câu lệnh xuất nghiệm thực hoặc
thông báo ‘ phương trình vô nghiệm’.
- Nhận xét và chiếu chương trình hoàn chỉnh.
- Chiếu BT2: Tính số ngày của năm N, biết 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.
Gợi ý:
+ Các công việc chính:
- Nhập N từ bàn phím;
- Xét năm được nhập để tính số ngày;
- Xuất thông báo số ngày của năm đó.
+ Dùng câu lệnh IF-THEN viết biểu thức logic
tìm số ngày (sn);
+ Viết câu lệnh xuất số ngày.
- Nhận xét và chiếu chương trình hoàn chỉnh.
delta, x1,x2: real;
Begin
Write(‘ Nhập a , b, c:’); Readln(a, b, c);
delta:= b*b – 4*a*c;
If delta<0 then writeln(‘ Phương trình vô
nghiệm’)
Else
Begin
x1:=(-b+sqrt(delta))/(2*a);
x2:=(-b-sqrt(delta))/(2*a);
Writeln(‘ x1=’,x1:8:3, (‘ x2=’,x2:8:3);
End;
Readln
End.
+ Nhóm 3, 4 làm BT1:
- Quan sát và ghi
- Viết câu lệnh theo gợi ý của GV
- Chia bảng làm 2 cột, đại diện nhóm3, 4 lên
bảng viết đoạn chương trình.
- Nhóm 1, 2 quan sát và góp ý để hoàn thiện
đoạn chương trình.
- Đoạn chương trình hoàn thiện BT2
Var N, sn: word;
Begin
Write(‘ Nhập năm N:’); readln(N);
If (N mod 400 =0) or (N mod 4 =0) and (N
mod 100 <>0) then sn:=366 else sn:=365;
Writeln(‘ Số ngày của năm ‘, N, ‘ là ‘, sn);
Readln
End.
4. Hoạt động tìm tòi, mở rộng:
- Mục tiêu: giúp HS có nhu cầu mở rộng thêm kiến thức về câu lệnh IF-THEN, câu lệnh ghép trong
một tình huống cụ thể.
- Phương pháp: Rèn luyện tư duy phân tích, đàm thoại, phát hiện và khai thác câu lệnh IF-THEN, câu
lệnh ghép.
- Hình thức tổ chức hoạt động: Cá nhân/thảo luận nhóm.
- Phương tiện dạy học: SGK, máy chiếu, máy tính, chương trình hoàn chỉnh.
- Sản phẩm: HS trả lời được các câu hỏi về vận dụng câu lệnh IF-THEN, câu lệnh ghép để giải quyết
các tình huống cụ thể.
NỘI DUNG HOẠT ĐỘNG
Câu 1: Cho x, y là biến nguyên, khi thực hiện đoạn chương trình sau đây:
if x>y then y:= y+x;
if y>x then x:= x-y;
writeln(x, ‘ ‘, y);
Cho x=11, y=15. Kết quả in lên màn hình có trong phương án nào dưới đây:
A. 26 11
B. 4 11
C. -4 15
D. -4 11
(Nhận biết được kết quả thực hiện đúng của câu lệnh IF-THEN)
Câu 2: Đoạn chương trình nào dưới đây đúng cú pháp:
A. if a>b them a:=a+b;
B. if a>b then b:=b+a
C. if a=b then a:=a+b;
D. if (a=b) thì a:=a+b;
(Nhận biết được cú pháp của câu lệnh IF-THEN)
Câu 3: Sau khi thực hiện đoạn chương trình dưới đây thì giá trị của s, a là gì?
s:=0; a:= 15;
r:= a mod 10;
if r mod 2 = 0 then s:= s+r;
a:= a div 10;
A. s=0, a=15;
B. s=0, a=15;
C. s=0, a=1;
D. s=5, a=15;
(Có các đơn vị kiến thức và có suy luận trung gian)