1. 1
TRƯỜNG THPT Lê Hoàn
TỔ Toán- Tin- Lý- CN
GV: Nguyễn Văn Phú
Tiết 41
GIÁO ÁN STEM
Bài 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 1)
Môn : Tin Học
I. MỤC TIÊU
1. Yêu cầu cần đạt:
- Biết được khái niệm chương trình con.
- Biết được ý nghĩa của chương trình con, sự cần thiết phải viết một chương trình thành các
chương trình con.
2. Góp phần phát triển năng lực: Năng lực giao tiếp - hợp tác;
- Phân tích và viết được chương trình tính tổng lũy thừa
- Phân tích được các công việc cần thực hiện của nhóm để viết hoàn thành yêu cầu của giáo
viên
- Năng lực giải quyết vấn đề
- Năng lực CNTT: Biết cách tư duy và lập trình giải quyết bài toán thực tế trong đời sống
3. Góp phần phát triển phẩm chất:
- Tích cực tìm tòi và sáng tạo, biết phân việc và hợp tác khi hoạt động nhóm;
II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU
SGK, máy tính, máy chiếu, điện thoại thông minh.
III. TIẾN TRÌNH DẠY HỌC
1. Hoạt động 1 – Mở đầu
Mục tiêu: Thông qua hoạt động, gợi nhu cầu tìm hiểu về chương trình con và các lợi ích
khi sử dụng chương trình con
Nội dung:
Tính giá trị của các biểu thức sau:
a, 33
+25
+43
+52
b, 24
+22
+41
+ 62
c, 52
+25
+34
+ 92
d, 43
+34
+63
+ 102
e, an
+ bm
+cp
+ dq
Sản phẩm: Kết quả học sinh tính được
a, 148
b, 36
c, 219
d, 416
e, an
+ bm
+cp
+ dq
Tổ chức thực hiện
2. 2
a. GV giao nhiệm vụ: GV chuẩn bị sẵn các câu hỏi như trong mục Nội dung, chia lớp thành 4
nhóm, yêu cầu học sinh quan sát các câu hỏi trên máy chiếu thảo luận và trả lời
b. HS thực hiện nhiệm vụ: HS tiến hành thảo luận theo nhóm, sau đó ghi kết quả ra giấy. GV
quan sát.
c. GV tổ chức báo cáo và thảo luận: GV yêu cầu các nhóm viết đáp án ra giấy. Sau thời gian
2 phút các nhóm cùng giơ bảng đáp án. Thư kí tổng hợp và ghi kết quả của từng nhóm. Khi
kết thúc giáo viên tổng hợp, tuyên bố số điểm của các nhóm.
d. Kết luận:
+ GV hỏi đại diện 1 nhóm: Làm thế nào em tính được đáp án nhanh như vậy?
+ Dự kiến HS trả lời: Em chia mỗi bạn tính 1 lũy thừa sau đó em cộng tổng các lũy thừa lại
+ GV nêu vấn đề: Như vậy với một bài toán chúng ta có thể chia cho nhiều người cùng làm
để giải quyết bài toán nhanh hơn. Trong lập trình cũng vậy, có những chương trình chúng ta
có thể chia ra thành nhiều chương trình nhỏ. Những chương trình nhỏ đó gọi là gì và có
những lợi ích thế nào chúng ta cùng tìm hiểu bài ngày hôm nay: Bài 17. Chương trình con và
phân loại
2. Hoạt động 2 – Hình thành kiến thức
2.1 Bài toán 1: Tìm hiểu bài toán tính tổng lũy thừa.
Mục tiêu: Hiểu được chương trình tính tổng lũy thừa
Nội dung: Cho bài toán tính tổng bốn luỹ thừa: Tluythua = an
+ bm
+cp
+ dq
(Trong đó a, b, c, d là các số nguyên <100 và m, n, p, q là số nguyên dương <10)
a. Xác định bài toán, nêu thuật toán của bài toán
b. Thảo luận lớp
Nhóm 1: Viết câu lệnh tính: an
Nhóm 2: Viết câu lệnh tính: bm
Nhóm 3: Viết câu lệnh tính: cp
Nhóm 4: Viết câu lệnh tính: dq
Sản phẩm:
a. Xác định bài toán
Input: Các số a,n,b,m,c,p,d,q
Output: Tluythua
Thuật toán:
B1: Nhập các số a,n,b,m,c,p,d,q
B2: Tính Luythua1= an
B3: Tính Luythua2= bm
B4: Tính Luythua3= cp
B5: Tính Luythua4= dq
B6: Tính Tluythua = Luythua1+ Luythua2+ Luythua3+ Luythua4
B7: Đưa ra kết quả là Tluythua và kết thúc
b. Kết quả thảo luận của từng nhóm
Nhóm 1: Câu lệnh tính an
luythua1:=1;
for i:=1 to n do
luythua1:=luythua1*a;
3. 3
Nhóm 2: Câu lệnh tính bm
Luythua2:=1;
for i:=1 to m do
luythua1:=luythua1*b;
Nhóm 3: Câu lệnh tính cp
luythua3:=1;
for i:=1 to p do
luythua3:=luythua1*c;
Nhóm 4: Câu lệnh tính dq
Luythua4:=1;
for i:=1 to q do
luythua4:=luythua1*d;
Tổ chức thực hiện:
a. GV giao nhiệm vụ:
- GV yêu cầu học sinh trình bày phần đã chuẩn bị ở nhà: xác định bài toán và nêu thuật
toán.
- GV chia thành 4 nhóm: mỗi nhóm thực hiện nhiệm vụ như đã nêu trong mục b của phần
Nội dung
b. HS thực hiện nhiệm vụ: HS trả lời câu hỏi đã chuẩn bị ở nhà; HS trong nhóm cùng thảo
luận và viết kết quả vào giấy A2.
c. GV tổ chức báo cáo và thảo luận:
- GV yêu cầu hs trả lời và gọi học sinh khác đánh giá câu trả lời.
- GV yêu cầu các nhóm treo sản phẩm của mình lên tường, sau đó GV chỉ định mỗi nhóm sẽ
quan sát kết quả cuả một nhóm khác, đánh giá nhận xét dưới sự giám sát của GV. Nhóm đánh
giá có thể yêu cầu 1 thành viên bất kỳ trong nhóm giải thích một số dòng lệnh trong chương
trình mà nhóm đó thực hiện
d. Kết luận: GV nhận xét kết quả làm việc của cá nhân học sinh và các nhóm. Trình chiếu
chương trình mà giáo viên đã chuẩn bị sẵn, chạy chương trình để HS quan sát. Sau đó yêu cầu
các nhóm hoàn thiện lại bài làm của nhóm mình, cuối giờ sẽ nộp lại lên nhóm lớp.
2.2 Tìm hiểu khái niệm chương trình con.
Mục tiêu: Hs hiểu khái niệm chương trình con. Hiểu những chương trình như thế nào thì nên
viết thành các chương trình con.
Nội dung:
Cho chương trình:
Var luythua1, luythua2,luythua3, luythua 4:longint;
Tluythua:int64;
a,b,c,d,i,n,m,p,q:byte;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,m,n,p,q:’);
Readln(a,b,c,d,m,n,p,q);
luythua1:=1;
for i:=1 to n do
luythua1:=luythua1*a;
4. 4
luythua2:=1;
for i:=1 to m do
luythua1:=luythua1*b;
luythua3:=1;
for i:=1 to p do
luythua3:=luythua3*c;
luythua4:=1;
for i:=1 to q do
luythua1:=luythua1*d;
Tluythua:=luythua1+luythua2+luythua3+luythua4;
Write(‘Tong luy thua = ’,Tluythua);
Readln
End.
a. Câu hỏi thảo luận:
- Nhận xét về chương trình trên?
- Đề xuất phương án để chương trình đã cho gọn gàng và dễ quan sát hơn?
Chương trình được viết có sử dụng chương trình con
Var Tluythua: int64;
a,b,c,d ,i,n,m,p,q:byte;
Function luythua(x,y:byte):longint ;
Var i: byte;T1: longint;
Begin
T1:=1;
For i:=1 to y do
T1:=T1*x;
luythua:=T1;
End;
Begin
Write(‘Hay nhap du lieu theo thu tu a,b,c,d,m,n,p,q:’);
Readln(a,b,c,d,m,n,p,q);
Tluythua:=luythua(a,n)+luythua(b,m) + luythua(c,p) + luythua(d,q);
Write(‘Tong luy thua = ’,Tluythua);
Readln
End.
b. Câu hỏi:
Trong chương trình trên, nhóm lệnh tính lũy thừa (xy
) được viết mấy lần?
Chương trình con luythua được gọi lại bao nhiêu lần trong chương trình chính?
Nêu khái niệm chương trình con?
Sản phẩm: Câu trả lời dự kiến
a. Phần thảo luận của học sinh
- Nhận xét về chương trình trên: Chương trình trên có bốn đoạn lệnh tương tự nhau,
việc lặp lại những đoạn lệnh tương tự nhau làm cho chương trình vừa dài vừa khó theo dõi, dễ
nhầm lẫn.
5. 5
- Đề xuất phương án để chương trình đã cho gọn gàng và dễ quan sát hơn: Để nâng
cao hiệu quả lập trình, các ngôn ngữ lập trình bậc cao đều cung cấp khả năng xây dựng
chương trình con dạng tổng quát “đại diện” cho nhiều đoạn lệnh tương tự nhau, chẳng hạn
tính lũy thừa Luythua = xy
, trong đó Luythua, x ,y thuộc kiểu nguyên
Var j:byte;
Tich:=1.0;
for j:=1 to y do
Tich:=Tich*x;
b. Phần trả lời câu hỏi:
- Trong chương trình trên, nhóm lệnh tính lũy thừa (xy
) được viết mấy lần? 1 lần.
- Chương trình con luythua được gọi lại bao nhiêu lần trong chương trình chính? 4
lần.
- Nêu khái niệm chương trình con?
Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được
thực hiện (được gọi) từ nhiều vị trí trong chương trình.
Tổ chức thực hiện:
a. GV giao nhiệm vụ: GV cho học sinh quan sát thực hiện nhiệm vụ như đã nêu trong mục
a,b của phần Nội dung
b. HS thực hiện nhiệm vụ: HS nghiên cứu, quan sát, trả lời.
c. GV tổ chức báo cáo và thảo luận: GV gọi học sinh trả lời câu hỏi. HS trả lời theo yêu cầu.
d. Kết luận: GV nhận xét câu trả lời của học sinh, chốt kiến thức, học sinh ghi nội dung khái
niệm chương trình con vào vở
2. 3 Tìm hiểu lợi ích của chương trình con.
Mục tiêu: Hs biết lợi ích khi sử dụng chương trình con.
Nội dung:
Câu hỏi:
Đọc sách giáo khoa nêu lợi ích của việc sử dụng chương trình con?
Sản phẩm: Câu trả lời dự kiến
- Tránh được việc phải viết lặp lại cùng một dãy lệnh.
- Hỗ trợ việc thực hiện các chương trình lớn và phức tạp
- Phục vụ quá trình trừu tượng hoá. Người lập trình có thể sử dụng kết quả của chương
trình con mà ko cần quan tâm đến chương trình đó đã được cài đặt như thế nào
Tổ chức thực hiện:
a. GV giao nhiệm vụ: Yêu cầu học sinh đọc sách giáo khoa trả lời câu hỏi như phần Nội dung
b. HS thực hiện nhiệm vụ: Đọc sách, suy nghĩ, trả lời.
c. GV tổ chức báo cáo và thảo luận: GV gọi học sinh trả lời câu hỏi. HS trả lời theo yêu cầu.
d. Kết luận: GV nhận xét câu trả lời của học sinh, chốt kiến thức, học sinh ghi nội dung khái
niệm chương trình con vào vở.
3 Hoạt động 3 - Luyện tập.
Mục tiêu: Củng cố lại nội dung đã học trong bài.
Nội dung:
A) Sơ đồ tư duy
Câu 1: Hãy chỉ ra phương án SAI?
6. 6
A. Chương trình con là không cần thiết vì ta có thể giải mọi bài toán mà không cần nó
B. Chương trình con thực chất là một khối lệnh nhằm giải quyết bài toán con
C. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực
hiện từ nhiều vị trí trong chương trình
D. Chương trình con là rất cần thiết để giải các bài toán lớn với nhiều câu lệnh
Câu 2: Đáp án nào mô tả đúng về chương trình con?
A. Một chương trình hoàn chỉnh
B. Có thể gọi từ nhiều vị trí trong chương trình
C. Chỉ có thể gọi một lần trong chương trình
D. Chỉ có thể gọi từ một vị trí nhất định
Câu 3: Lợi ích khi sử dụng chương trình con:
A. Tránh lặp đi lặp lại một đoạn chương trình
B. Hỗ trợ việc thực hiện chương trình lớn
C. Cả A và B đều đúng
D. Cả A và B đều sai
Câu 4: Điền từ thích hợp vào chỗ trống:
Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện
từ……vị trí trong chương trình
A. hai
B. nhiều
C. ba
D. một
Câu 5 : Lợi ích của việc sử dụng chương trình con
A. Không hỗ trợ việc thực hiện các chương trình lớn
B. Phục vụ cho quá trình trừu tượng hoá
C. A đúng B sai
D. A sai B đúng
Câu 6 : Lợi ích của chương trình con
A. Tránh được việc phải viết lặp đi lặp lại cùng một dãy lệnh
B. A, C SAI
C. Phục vụ quá trình trừu tượng hoá
D. A, C ĐÚNG
Câu 7: Chương trình con là…..
A. một dãy lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi)
từ nhiều vị trí trong chương trình.
B. một lệnh mô tả một số thao tác nhất định và có thể được thực hiện (được gọi) từ
nhiều vị trí trong chương trình
C. chương trình chính
D. chứa chương chính
Sản phẩm:
Sơ đồ tư duy
Câu 1: A Câu 5: D
Câu 2: B Câu 6: D
7. 7
Câu 3: C Câu 7 : A
Câu 4: B
Tổ chức thực hiện:
a. GV giao nhiệm vụ: Giáo viên giao nhiệm vụ như phần Nội dung trong phần mềm Quizizz,
yêu cầu học sinh chuẩn bị sơ đồ tư duy của bài này thông qua nội dung mình tự học ở nhà
cùng với các bạn trong nhóm vẽ sơ đồ tư duy ra giấy a2.
b. HS thực hiện nhiệm vụ:
- Học sinh cử bạn trong nhóm treo sơ đồ tư duy và giải thích.
- Học sinh truy cập vào Quizizz và trả lời các câu hỏi.
c. GV tổ chức báo cáo và thảo luận: GV yêu cầu học sinh, treo sơ đồ tư duy và giải thích, trả
lời các câu hỏi trắc nghiệm trong Quizizz.
d. Kết luận: GV nhận xét sơ đồ tư duy và câu trả lời của học sinh:
4. Hoạt động 4 – Vận dụng.
Mục tiêu: Hướng dẫn học sinh về nhà tự học.
Nội dung:
- Học lý thuyết bài cũ chuẩn bị bài mới
- Cài đặt chương trình bài toán sau: Ông A có một ngôi biệt thự với n phòng (n là số nguyên
dương<=255) các phòng đều là hình chữ nhật với các diện tích là khác nhau. Em hãy giúp
ông A lập trình để tính tổng diện tích các căn phòng của ngôi biệt thự trên.
Sản phẩm:
Chương trình học sinh viết ở nhà
Tổ chức thực hiện:
a. GV giao nhiệm vụ: Giáo viên giao nhiệm vụ như phần Nội dung
b. HS thực hiện nhiệm vụ: Học sinh thực hiện nhiệm vụ ở nhà, chụp ảnh chương trình gửi
cho giáo viên và viết lại chương trình vào vở.
c. GV tổ chức thực hiện:
d. Kết luận:
Thanh Liêm, ngày 20/3/2023
Người soạn
Nguyễn Văn Phú