Mục đích nghiên cứu Tôi thực hiện đề tài này để giúp các em học sinh lớp 11 tích cực, chủđộng hơn trong học tập về chương trình con và lập trình có cấu trúc để các emhiểu bài hơn, nắm vữ
Trang 1I MỞ ĐẦU
1 Lí do chọn đề tài
Việc đổi mới trong giáo dục đang là vấn đề nóng bỏng và cấp thiết hiệnnay Chương trình giáo dục phổ thông nước ta đang trong giai đoạn chuyển từchương trình giáo dục tiếp cận nội dung sang tiếp cận năng lực của người học
“Trước bối cảnh đó và để chuẩn bị cho quá trình đổi mới chương trình, sáchgiáo khoa giáo dục phổ thông, chúng ta cần thiết phải đổi mới đồng bộ phươngpháp dạy học và kiểm tra đánh giá kết quả giáo dục theo định hướng phát triểnnăng lực người học”[1] Do vậy việc nghiên cứu, áp dụng phương pháp dạy họctích cực định hướng hình thành năng lực học sinh vào dạy học để nâng cao chấtlượng là hết sức quan trọng và cần thiết Để chung tay góp phần vào phong tràođổi mới phương pháp giảng dạy, nâng cao chất lượng dạy và học hiện nay, tôi đã
lựa chọn đề tài: “Dạy học chủ đề “Chương trình con và lập trình có cấu trúc”
- Tin học 11 theo định hướng phát triển năng lực học sinh” làm đề tài sáng
kiến kinh nghiệm của mình Với những nghiên cứu của bản thân, tôi hy vọng sẽgiúp học sinh chủ động hơn trong học tập, hiểu bài hơn và hứng thú hơn đối với
bộ môn Tin học
2 Mục đích nghiên cứu
Tôi thực hiện đề tài này để giúp các em học sinh lớp 11 tích cực, chủđộng hơn trong học tập về chương trình con và lập trình có cấu trúc để các emhiểu bài hơn, nắm vững kiến thức và có thể vận dụng những kiến thức học đượcvào giải quyết các vấn đề trong thực tiễn Và mục đích cuối cùng là để góp phầnnâng cao chất lượng giảng dạy và học tập tại trường THPT Cẩm Thủy 1 nóiriêng và của ngành giáo dục nói chung
3 Đối tượng nghiên cứu
Trong phạm vi đề tài này, tôi tập trung nghiên cứu về chương trình con vàlập trình có cấu trúc trong chương trình Tin học 11 Sử dụng các phương phápdạy học theo định hướng phát triển năng lực của người học để dạy học chủ đề
“Chương trình con và lập trình có cấu trúc” giúp học sinh thực sự được đặt vàocác tình huống có vấn đề và có nhu cầu giải quyết, để tư duy tìm cách giải quyết
và vận dụng những kiến thức đã học vào thực tiễn cuộc sống Từ đó rút ra nhữngcách tiếp cận, giảng dạy có hiệu quả để nâng cao chất lượng giảng dạy
4 Phương pháp nghiên cứu
Nghiên cứu lí luận: Nghiên cứu các tài liệu về chương trình con và lập
trình có cấu trúc, các tài liệu về dạy học theo định hướng năng lực của học sinh
Nghiên cứu thực tiễn: Khảo sát năng lực học sinh khi học chương trình
con và khả năng vận dụng chương trình con trong lập trình
Thực nghiệm sư phạm: Tiến hành thực nghiệm trên những đối tượng học
sinh cụ thể nhằm đánh giá hiệu quả của đề tài.
Trang 2II NỘI DUNG
1 Cơ sở lí luận
Theo “Tài liệu tập huấn cán bộ quản lý, giáo viên cốt cán về phương phápdạy học và phương pháp hướng dẫn học sinh tự học” của Bộ giáo dục và đàotạo, việc xây dựng bài học theo chủ đề gồm 6 bước: Bước 1 là xác định vấn đềcần giải quyết trong dạy học chủ đề sẽ xây dựng Bước 2 là lựa chọn nội dungtừcác bài học trong sách giáo khoa hiện hành của một môn học hoặc các môn học
có liên quan để thiết kế nội dung, xây dựng bài học; xác định nội dung các hoạtđộng chính của bài học Bước 3 ta xác định mục tiêu đầu ra cho bài học: chuẩnkiến thức, kỹ năng, thái độ theo chương trình hiện hành Bước 4 xác định và mô
tả mức độ yêu cầu kiểm tra đánh giá (nhận biết, thông hiểu, vận dụng thấp, vậndụng cao) của mỗi loại câu hỏi/bài tập có thể sử dụng để kiểm tra, đánh giá nănglực và phẩm chất của học sinh trong dạy học Bước 5 là biên soạn các câuhỏi/bài tập/phiếu học tập cụ thể theo các mức độ yêu cầu đã mô tả để sử dụngtrong quá trình tổ chức các hoạt động dạy học và kiểm tra đánh giá, luyện tậptheo chủ đề bài học Bước 6 là thiết kế tiến trình dạy học bài học thành các hoạtđộng học theo tiến trình sư phạm của phương pháp dạy học tích cực để tổ chứccho học sinh thực hiện ở trên lớp và ở nhà[2]
2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm
Qua thực tế giảng dạy của bản thân và dự giờ của đồng nghiệp tại trườngTHPT Cẩm Thủy 1, tôi thấy khi học Tin học 11, học sinh gặp rất nhiều khó khănkhi tiếp thu kiến thức Những khái niệm, cấu trúc lệnh ở những chương đầu còn
dễ hiểu, càng học về sau các em càng kêu khó và giảm bớt hứng thú học tập,nhất là ở chương VI – “Chương trình con và lập trình có cấu trúc” Việc giáoviên bắt học sinh ghi nhớ thụ động các nội dung, khái niệm trong sách giáo khoa
là rất khó nếu các em không thực sự hiểu bài Có thể các em hiểu và nhớ kiếnthức ngay lúc học nhưng đến lúc kiểm tra thì lại quên hết Hoặc học sinh cóchăm chỉ ghi nhớ thì vẫn bị lẫn lộn các nội dung kiến thức và khả năng vận dụngcòn hạn chế
3 Các giải pháp đã sử dụng để giải quyết vấn đề
Bước 1: Lựa chọn chủ đề bài học
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CÓ CẤU TRÚC - TIN HỌC 11 Bước 2: Thiết kế nội dung bài học
Hoạt động 1
Khởi động vào bài
Khái niệm chương trình con
Hoạt động 2 Phân loại và cấu trúc chung của chương trình con
Trang 32 Hoạt động 3
Biến toàn cục, biến cục bộ Cấu trúc của Thủ tục và HàmTham số hình thức và tham số thực sự
- Biết vai trò của chương trình con trong lập trình
- Biết sự phân loại chương trình con: thủ tục và hàm
- Biết cấu trúc của một thủ tục và hàm, danh sách vào/ra hình thức
- Biết mối liên quan giữa chương trình và thủ tục, chương trình và hàm
2 Về kĩ năng:
- Nhận biết được các thành phần trong cấu trúc của thủ tục và hàm
- Viết và sử dụng được lệnh gọi thủ tục và hàm
- Viết được chương trình con đơn giản
3 Thái độ:
- Thấy được sự cần thiết của chương trình con trong lập trình
- Tiếp tục rèn luyện tư duy lập trình, rèn luyện phẩm chất của người lập trìnhnhư tinh thần hợp tác, sẵn sàng làm việc theo nhóm, tuân thủ theo yêu cầu vìcông việc chung
Bước 4: Lập bảng mô tả yêu cầu cần đạt
Nội dung
Loại câu
hỏi/bài tập
Nhận biết Thông hiểu Vận dụng
thấp
Vận dụng cao
HS có thể
đề xuấtmột vài bàitoán màchươngtrình giảiquyết cóthể tổ chức
sử dụngchươngtrình con
Trang 4Nêu đượckhái niệmthủ tục, lấyđược ví dụcác thủ tục
đã học
Nêu đượckhái niệmhàm, lấyđược ví dụcác hàm đãhọc
Nêu đượccấu trúcchung củachương trìnhcon là gồm 3phần
Hiểu được ýnghĩa và tácdụng của biếncục bộ, biếntoàn cục
HS biết được cơchế hoạt độngcủa một chươngtrình con khi cólệnh gọi nó
Biết được vị trí
chương trìnhcon là trongphần khai báocủa chươngtrình chính vàlệnh gọi chươngtrình con trongthân chươngtrình chính
Biết chươngtrình con có thể
có hoặc không
có tham số vàbiến cục bộ
Biết quytắc truyềntham sốcho
chươngtrình con
Bài tập
định
lượng
HS chỉ rađược biếntoàn cục,biến cục bộ,tham số hìnhthức, tham
số thực sựtrong
chươngtrình
Chỉ ra được vịtrí của chươngtrình con vàlệnh gọi chươngtrình con trongchương trình;
phân biệt được
nó là hàm haythủ tục
Biết được một
Chỉ rađược cáchtruyềntham sốđúng (sai)khi gọichươngtrình con
Trang 5chương trình cóthể sử dụngnhiều chươngtrình con và cóthể sử dụng mộtchương trìnhcon nhiều lần.
Bài tập
thực hành
HS viếtđược câulệnh gọichươngtrình concho trước
Nhận biếtđược mộtchương trìnhcon dạng thủtục
Chỉ ra đượctừng thành phầntrong cấu trúccủa thủ tục
Bài tập
định
lượng
Nhận biếtđược tham
số hình thức
và tham số
trong mộtchương trình
có sử dụngthủ tục
Nhận biếtđược tham
số giá trị vàtham sốbiến
Hiểu được ýnghĩa và tácdụng của tham
số giá trị vàtham số biến
Khai báođược
chươngtrình condạng thủtục để giảiquyết vấn
đề trongtình huốngquen thuộc
Khai báođược
chươngtrình condạng thủtục để giảiquyết vấn
đề trongtình huốngmới
Bài tập
thực hành
HS sửa lỗi củathủ tục giảiquyết một tìnhhuống quenthuộc
Sử dụng đúngbiến toàn cục và
HS viếtđược
chươngtrình có sửdụng
chươngtrình con
HS viếtđược
chươngtrình có sửdụng
chươngtrình con
Trang 6biến cục bộtrong chươngtrình có sử dụngthủ tục.
dạng thủtục để giảiquyết vấn
đề trongtình huốngquen thuộc
dạng thủtục để giảiquyết vấn
đề trongtình huốngmới
Nhận biếtđược mộtchương trìnhcon dạnghàm
Chỉ ra đượctừng thành phầntrong cấu trúccủa hàm
Bài tập
định
lượng
Nhận biếtđược biếntoàn cục,biến cục bộ;
tham số hìnhthức và tham
số thực sựtrong mộtchương trình
có sử dụnghàm
Hiểu được ýnghĩa và tácdụng của tham
số giá trị vàtham số biến
Khai báođược
chươngtrình condạng hàm
để giảiquyết vấn
đề trongtình huốngquen thuộc
Khai báođược
chươngtrình condạng hàm
để giảiquyết vấn
đề trongtình huốngmới
Bài tập
thực hành
Sử dụng đúngbiến toàn cục vàbiến cục bộtrong chươngtrình có sử dụnghàm
HS sửa lỗi củahàm giải quyếtmột tình huốngquen thuộc
HS viếtđược
chươngtrình có sửdụng
chươngtrình condạng hàm
để giảiquyết vấn
đề trongtình huốngquen thuộc
HS viếtđược
chươngtrình có sửdụng
chươngtrình condạng hàm
để giảiquyết vấn
đề trongtình huốngmới
Bước 5: Biên soạn các câu hỏi/bài tập/phiếu học tập.
Trong khuôn khổ của đề tài, tôi chỉ trình bày những câu hỏi/bài tập/phiếuhọc tập được sử dụng trong quá trình dạy học và luyện tập dựa trên trình độ hiện
Trang 7có của học sinh và các mục tiêu năng lực đã xác định Còn phần kiểm tra, đánhgiá xin được trình bày vào một dịp khác.
Do sáng kiến kinh nghiệm có giới hạn về số trang nên tôi xin phép được
trình bày những câu hỏi/bài tập/phiếu học tập cụ thể trong Bước 6 và các chương
trình minh họa trong bài học xin trình bày trong phần Phụ lục
Bước 6: Thiết kế tiến trình dạy học
CHUẨN BỊ
1 Giáo viên:
- Giáo án, máy tính có cài chương trình Powerpoint, Free Pascal, máy chiếu đanăng, giấy A4, bảng phụ, bút dạ, nam châm
- Giáo viên chuẩn bị trước các chương trình (cụ thể trong Phụ lục) để trình chiếu
và chạy minh họa cho học sinh
2 Học sinh: Vở ghi, sách giáo khoa, giấy A4
TIẾN TRÌNH DẠY HỌC.
A KHỞI ĐỘNG.
a Mục tiêu
- Kiểm tra kiến thức viết chương trình đơn giản đã được học
- Gợi động cơ: Giáo viên đưa ra tình huống có vấn đề gợi cho học sinh có nhucầu muốn tìm hiểu khám phá chương trình con để giải quyết
b Phương pháp/kĩ thuật: Vấn đáp, tìm tòi, phát hiện, giải quyết vấn đề.
c Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm
d Phương tiện dạy học: SGK, máy tính, máy chiếu, các chương trình 1,2,3,4.
e Sản phẩm: - Học sinh viết được chương trình tính lũy thừa an, thấy được sựcần thiết phải sử dụng chương trình con và một số lợi ích khi sử dụng chươngtrình con
Nội dung hoạt động
1 GV chiếu đề bài Bài toán 1: Viết chương trình tính an
Yêu cầu tất cả học sinh thực hiện vào giấy A4
- GV gọi 1 học sinh lên bảng trình bày bài làm của mình Gọi 1 học sinh khácnhận xét Rồi giáo viên nhận xét, cho điểm học sinh và chiếu chương trình đúng
(Chương trình 1- Phụ lục) đã chuẩn bị ở nhà và chạy thử cho học sinh xem.
2 Giáo viên chiếu đề bài
Bài toán 2: Viết chương trình tính tổng 4 lũy thừa T= an+bm+cp+dq
- GV để giải quyết bài toán 2 ta phải tính bao nhiêu lũy thừa? Phải khai báonhững biến nào?
- HS trả lời
Trang 8GV chiếu chương trình 2 (trong Phụ lục) và chạy thử cho học sinh xem.
Yêu cầu HS nhận xét về số biến sử dụng trong chương trình, số lượng câu lệnhtương tự nhau
HS nhận xét theo yêu cầu của giáo viên
GV nhận xét câu trả lời của học sinh và chuẩn hóa (số lượng biến nhiều:14 biến
và có 4 đoạn lệnh tương tự nhau)
3 GV đưa ra Bài toán 3: Viết chương trình tính tổng của 4000 lũy thừa với các
cơ số và số mũ được đọc từ tệp ‘LT.INP’
- GV: Nếu giải quyết bài toán 3 giống như 2 chương trình giải quyết bài toán 1
và bài toán 2 như trên thì ta phải dùng bao nhiêu biến?
- HS trả lời: rất nhiều lên tới hơn 10000 biến
- GV: Để khắc phục vấn đề đó các em sẽ giải quyết như thế nào? Các em đã họckiểu dữ liệu nào có thể giải quyết được vấn đề nêu trên?
- HS trả lời: Ta sẽ phải sử dụng kiểu mảng
- GV: Nếu sử dụng kiểu dữ liệu mảng ta có thể giải quyết được vấn đề sử dụngnhiều biến đơn Còn để tính được tổng của 4000 lũy thừa thì ta phải tính baonhiêu lũy thừa?
- HS trả lời: 4000 lũy thừa
- GV: Nếu viết chương trình tương tự như chương trình 2 có được không?
- HS trả lời: không nên vì chương trình rất dài
4 Để giải quyết vấn đề trên, các ngôn ngữ lập trình cho phép cấu trúc chươngtrình thành các chương trình con Mỗi chương trình con có thể viết một lần vàtruy xuất nó nhiều lần mỗi khi cần dùng đến Chẳng hạn, ta có thể viết chươngtrình con nhập vào 2 số là cơ số và số mũ của một lũy thừa từ bàn phím và gọi
sử dụng nó nhiều lần khi cần tính các tổng lũy thừa Tương tự như vậy, ta cũngviết một chương trình con tính lũy thừa và gọi nó sử dụng nhiều lần
- GV chiếu chương trình 3 (trong Phụ lục) và chạy thử cho HS xem.
- GV: Yêu cầu học sinh so sánh chương trình 3 với chương trình 2
- HS trả lời: chương trình 3 ngắn gọn dễ hiểu hơn
- GV chiếu chương trình 4 (trong Phụ lục) và chạy thử cho HS xem
b Phương pháp/kĩ thuật: Vấn đáp, tìm tòi, phát hiện.
c Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm.
d Phương tiện dạy học: SGK, máy tính, máy chiếu, chương trình 3.
e Sản phẩm: - Học sinh nêu được khái niệm chương trình con và một số lợi ích
khi sử dụng chương trình con
Trang 9- Hoàn thành được các yêu cầu trong phiếu học tập (bảng phụ).
Nội dung hoạt động
1 GV: Trong chương trình 3 ở trên có sử dụng chương trình con nhập vào từbàn phím cơ số và số mũ của lũy thừa và chương trình con tính lũy thừa xk Còn
ở chương trình 4 thì chỉ sử dụng mình chương trình con tính lũy thừa xk Ởchương trình 3 thì chương trình con được gọi sử dụng 4 lần, còn ở chương trình
4 thì chương trình con được gọi n lần (vì câu lệnh gọi được đặt trong vòng lặp nlần) Vậy từ những ví dụ nêu trên, kết hợp với tham khảo sách giáo khoa các emhãy phát biểu khái niệm chương trình con?
- HS trả lời
- GV nhận xét và chuẩn hóa kiến thứ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 (được gọi) từ nhiều vị trí trong chương trình.
2 GV chia lớp thành 3 nhóm, phát bút dạ và bảng phụ cho mỗi nhóm, yêu cầu
HS điền lợi ích của việc sử dụng chương trình con vào bảng
- HS tham khảo sách giáo khoa, thảo luận và điền vào bảng phụ
- GV cho HS treo bảng phụ của nhóm mình lên bảng báo cáo kết quả
- Yêu cầu các HS khác nhóm nhận xét
- Sau đó giáo viên nhận xét từng nhóm và chuẩn hóa kiến thức; khen ngợi nhóm nào thực hiện tốt
Lợi ích của việc sử dụng chương trình con:
- Chương trình dễ đọc, dễ hiểu, dễ kiểm tra.
- Không phải viết lặp đi lặp lại cùng một dãy lệnh nào đó.
- Có thể giao nhiều người cùng viết một chương trình, mỗi người viết một chương trình con rồi ghép lại Hỗ trợ việc thực hiện chương trình lớn.
- Thuận tiện cho việc phát triển và nâng cấp chương trình.
3 Vẫn giữ nguyên 3 nhóm như trên, GV lại phát bảng phụ cho các nhóm và yêucầu HS đề xuất các bài toán mà chương trình giải quyết bài toán đó có thể tổchức sử dụng chương trình con
HS thảo luận và điền vào bảng phụ
GV thu bảng phụ và treo tất cả lên bảng cho cả lớp xem và so sánh giữa cácnhóm
GV nhận xét và khen ngợi nhóm thực hiện tốt
Một số bài toán có thể sử dụng chương trình con đề giải quyết:
- Tính tổng các giai thừa
- Đếm các số nguyên tố trong một dãy cho trước
- Tính chu vi diện tích của n hình khi biết kích thước của nó (hình chữ nhật, tamgiác, hình tròn, hình vuông…)
Trang 10- Nhập vào n xâu Kiểm tra các xâu đó có phải là các xâu đối xứng hay không.
2 Hoạt động 2: Tìm hiểu sự phân loại và cấu trúc chung của chương trình con.
a Mục tiêu: HS biết được cấu trúc chung của chương trình con và biết rằng
chương trình con thông thường gồm 2 loại là hàm và thủ tục
b Phương pháp/kĩ thuật: Vấn đáp, thuyết trình.
c Hình thức tổ chức hoạt động: Cá nhân, thảo luận nhóm.
d Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, chương trình 3.
Nội dung hoạt động
- GV thuyết trình: Trong nhiều ngôn ngữ lập trình, chương trình con thườnggồm hai loại:
* Hàm - function: là chương trình con thực hiện một số thao tác nào đó và trả
về một giá trị qua tên của nó
Ví dụ: abs(x) trả về giá trị tuyệt đối của x
length(s) trả về giá trị là độ dài của xâu s
lt(x,k) trả về giá trị là xk
* Thủ tục – program: là chương trình con thực hiện các thao tác nhất định
nhưng không trả về giá trị nào qua tên của nó
Ví dụ: writeln, readln, delete(st,vt,n); nhap(x,k); …
- GV phát vấn: Em hãy nêu cấu trúc của chương trình mà ta đã được học?
- HS trả lời: Gồm 2 phần:
[<phần khai báo>]
<phần thân>
- GV: phần khai báo có thể có hoặc không, nếu có thì khai báo những gì?
- HS trả lời: Khai báo tên chương trình, khai báo thư viện, khai báo hằng, khaibáo biến
- GV: Chương trình con có cấu trúc tương tự chương trình Chỉ khác một điểm
là chương trình có thể khai báo tên hoặc không nhưng trong chương trình con thìnhất thiết phải khai báo tên nên phần khai báo ta tách ra làm 2 phần đó là phầnđầu và phần khai báo Ai có thể lên bảng viết cho cô cấu trúc chung của chươngtrình con?