Kiến thức: Học sinh: - Hiểu vai trò của câu lệnh rẽ nhánh.. 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.. - Năng lực thực hành: Vận dụng
Trang 1Chủ đề: 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 Hoạt động HS
- Nêu VD1(kiến thức nền HS – mức 1):
+ Tính tổng a, b bất kì
- 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)
- NX: mệnh để mô tả như VD2 gọi là CTRN
- Thảo luận nhóm trả lời:
S:= a+b;
Writeln(S);
- 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
(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ì…
Trang 22 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 Hoạt động HS
- 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
- 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ư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ì
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ì
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
- 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>;
- Lắng nghe
- Quan sát sơ đồ hình 5, 6 trang 39 SGK
- Ghi nhớ
- HĐ nhóm:
IF b<>0 THEN T:=a/b;
IF b=0 THEN WRITELN(‘không thực hiện được’);
- HĐ nhóm:
IF b<>0 THEN T:=a/b ELSE WRITELN(‘không thực hiện đượ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<c THEN max:=c;
Trang 3b 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 Hoạt động HS
- 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
- Giải thích ý nghĩa câu lệnh ghép
Sửa đoạn lệnh trên để nó thực hiện đúng
- 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 đề)
- 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
- 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 Hoạt động HS
- 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;
- 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;
Trang 4+ 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;
Trang 5B 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)