Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Sử dụng kỹ thuật mảnh ghép trong dạy học chương trình con” Chương 6 – SGK Tin học 11 để giúp các em có hứng thú hơn với môn học cũng như có t
Trang 1A PHẦN MỞ ĐẦU
I Lí do chọn đề tài sáng kiến kinh nghiệm
Như chúng ta đã biết đổi mới phương pháp dạy học là một trong nhữngnhiệm vụ quan trọng hàng đầu hiện nay của ngành giáo dục và đào tạo ViệtNam Từ thực tiễn giảng dạy tại trường tôi thấy rằng, để đạt hiệu quả cao trongmỗi phần học, tiết học cần có cách thiết kế bài giảng cho phù hợp với nội dungkiến thức; phương pháp, phương tiện dạy học phải phù hợp với từng đối tượnghọc sinh Để qua mỗi phần học, tiết học học sinh thích thú với kiến thức mới,qua đó hiểu được kiến thức đã học trên lớp, đồng thời học sinh thấy được tầmquan trọng của vấn đề và việc ứng dụng của kiến thức trước hết để đáp ứngnhững yêu cầu của môn học, sau đó là việc ứng dụng vào các công việc thựctiễn trong đời sống xã hội
Việc xác định nội dung kiến thức cơ bản của bài giảng là một khâu rất quantrọng, nhưng chuyển nội dung đó thành tri thức của bản thân học sinh là mộtkhoa học và nghệ thuật Điều đó phụ thuộc rất nhiều vào phương pháp giảng dạycủa giáo viên Giáo viên cần lựa chọn hình thức và phương pháp giảng dạy thíchhợp nhất để học sinh lĩnh hội được kiến thức bài học một cách sâu sắc và bềnvững Không một phương pháp nào là vạn năng và sử dụng trong toàn bộ quátrình dạy học, mà tuỳ vào nội dung bài giảng mà ta sử dụng phương pháp nào làhiệu quả hơn cả hoặc là sự kết hợp nhiều phương pháp.
Qua thời gian giảng dạy, nghiên cứu và tham dự các chuyên đề tôi đã đượctiếp cận với nhiều phương pháp dạy học mới và những kỹ thuật dạy học tích
cực, trong đó kỹ thuật dạy học mảnh ghép được xếp vào một trong những kỹ
thuật dạy học tích cực với tất cả các bộ môn nói chung và bộ môn Tin học nói
riêng Kỹ thuật dạy học mảnh ghép là một kỹ thuật dạy học thể hiện quan điểm,
chiến lược dạy học hợp tác, trong đó có kết hợp giữa hoạt động cá nhân, hoạt
động nhóm và liên kết giữa các nhóm Kỹ thuật dạy học mảnh ghép có tác dụng
kích thích tư duy sáng tạo và tính chủ động, phát huy sự năng động của học sinh,đồng thời rèn luyện cho các em tinh thần làm việc cá nhân, làm việc tập thể, kỹnăng trình bày kiến thức trước nhóm
Thực tế, học sinh thường xem Tin học là môn phụ nên không dành nhiềuthời gian đi sâu tìm hiểu môn học Đặc biệt là khi học lập trình rất nhiều em cảm
thấy khó hiểu, khô khan Và khi dạy về Chương trình con, tôi nhận thấy bên
cạnh một số học sinh có thể vận dụng để viết được một số chương trình có sửdụng chương trình con thì vẫn còn nhiều học sinh chưa thực sự vận dụng được
Thậm chí có một số em còn nhầm lẫn khai báo chương trình con và lời gọi
Trang 2chương trình con, chưa phân bệt được chương trình con kiểu hàm và chươngtrình con thủ tục, biến cục bộ và biến toàn cục, tham số hình thức và tham sốthực sự
Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Sử dụng kỹ thuật mảnh ghép
trong dạy học chương trình con” (Chương 6 – SGK Tin học 11) để giúp các
em có hứng thú hơn với môn học cũng như có thể vận dụng để viết được một sốchương trình có sử dụng chương trình con
II Mục đích của sáng kiến kinh nghiệm.
Sử dụng kỹ thuật mảnh ghép, phân nhóm học sinh viết các chương trìnhcon rồi lập nhóm mảnh ghép để thành một chương trình hoàn chỉnh qua đó giúphọc sinh nắm được bố cục của một chương trình có sử dụng chương trình con
Và thông qua các bài tập giúp học sinh biết vận dụng chương trình con, phânbiệt được hàm và thủ tục, biến cục bộ và biến toàn cục, tham số hình thức vàtham số thực sự
III Nhiệm vụ của sáng kiến kinh nghiệm.
Hệ thống lại các nội dung bài 17 và bài 18 trong chương VI - Tin học 11
Mạnh dạn đề xuất việc trình bày nội dung kiến thức về chương trình con,thay đổi một số ví dụ, bổ sung một số bài tập đảm bảo chuẩn kiến thức kỹ nănggiúp học sinh hiểu rõ hơn và vận dụng chương trình con tốt hơn
IV Đối tượng nghiên cứu.
Nghiên cứu về vận dụng kỹ thuật mảnh ghép trong dạy học chương trìnhcon – SGK – Tin học 11
V Đối tượng khảo sát, thực nghiệm.
Học sinh lớp11B4, 11B5 , 11B6, 11B7, 11B8
VI Phương pháp nghiên cứu
- Kết hợp thực tiễn giáo dục ở trường
- Kiểm tra việc học tập của học sinh
- Giảng dạy và tiếp xúc với lớp
- Tham khảo các tài liệu về ngôn ngữ lập trình Pascal
- Tham khảo các tài liệu về đổi mới phương pháp dạy học và các kỹ thuật dạyhọc tích cực
VII Thời gian nghiên cứu: Từ tháng 20/3/2019 đến 20/5/2019
Trang 3B NỘI DUNG
I Cơ sở lí luận
- Căn cứ vào các nghị quyết, chỉ thị, thông tư về đổi mới chương trình giáo dụctrung học phổ thông
- Chỉ thị 29/CT về việc đưa công nghệ thông tin vào nhà trường
- Các văn bản hướng dẫn thực hiện điều chỉnh nội dung dạy học môn Tin học,cấp THPT của Bộ Giáo dục và Đào tạo
- Nhiệm vụ năm học của Bộ Giáo dục và Đào tạo nhằm phát triển nguồn nhânlực công nghệ thông tin và các đề án dạy Tin học
- Căn cứ vào thực tiễn giảng dạy môn Tin học (cụ thể là khi dạy chương 6
“Chương trình con và lập trình có cấu trúc”) ở Trường: Học sinh đã có rất nhiềukhó khăn trong việc nắm bắt nội dung chương trình con và vận dụng viết mộtchương trình có sử dụng chương trình con ở mức độ dơn giản
II.Thực trạng của vấn đề nghiên cứu
Trong vài năm gần đây học sinh trong các trường phổ thông chủ yếu học các
bộ môn tự nhiên hoặc tập trung vào các môn thuộc khối chọn thi đại học, caođẳng; xao nhãng hẳn việc học các môn mà các em cho đó là môn phụ, trong đó
có bộ môn Tin học
Đặc biệt, khi học về lập trình học sinh thường cảm thấy khô khan, khó hiểu
Mặt khác, trong thời đại bùng nổ thông tin, thế hệ học sinh ngày nay cóđiều kiện tiếp nhận thông tin từ nhiều phía, từ nhiều nguồn khác nhau chứkhông phải từ một phía: từ thầy giáo- như trước đây, nên đòi hỏi giáo viên giảngdạy lựa chọn ra các kĩ thuật dạy học tích cực để học sinh không thấy nhàm chánmôn học mà còn tiếp thu kiến thức bộ môn hiệu quả
Để đáp ứng yêu cầu cải cách giáo dục, môn Tin học đã có nhiều tiến bộ vềphương pháp và kĩ thuật dạy học Để góp phần vào việc tìm tòi, vận dụng, hoànchỉnh phương pháp giảng dạy bộ môn Tin học trong trường THPT tôi đã nghiêncứu đề tài:
Sử dụng kỹ mảnh ghép trong giảng dạy chương trình con
(Chương 6 – SGK – Tin học 11 )
Trang 4III Nội dung
1 KỸ THUẬT MẢNH GHÉP
1.1 Thế nào là “kỹ thuật mảnh ghép”?
Là hình thức học tập hợp tác kết hợp giữa cá nhân, nhóm và liên kết giữacác nhóm nhằm:
- Giải quyết một nhiệm vụ phức hợp (có nhiều chủ đề)
- Kích thích sự tham gia tích cực của HS:
- Nâng cao vai trò của cá nhân trong quá trình hợp tác (Không chỉ hoàn thànhnhiệm vụ ở Vòng 1 mà còn phải truyền đạt lại kết quả vòng 1 và hoàn thànhnhiệm vụ ở Vòng 2)
VÒNG 2: Nhóm mảnh ghép:
Hình thành nhóm 3 đến 6 người mới (1 – 2 người từ nhóm 1, 1 – 2 người từnhóm 2, 1 – 2 người từ nhóm 3…)
Trang 5 Các câu trả lời và thông tin của vòng 1 được các thành viên trong nhómmới chia sẻ đầy đủ với nhau
Khi mọi thành viên trong nhóm mới đều hiểu được tất cả nội dung ở vòng
1 thì nhiệm vụ mới sẽ được giao cho các nhóm để giải quyết
Các nhóm mới thực hiện nhiệm vụ, trình bày và chia sẻ kết quả
VD2: Viết chương trình tính và in ra màn hình S = 1! + 2! + 3! + … + N!
(N: Nhập vào từ bàn phím)
→ Để làm được bài toán này, chúng ta phải xử lí bài toán con tính i! (với i chạy
từ 1 đến N) Lúc này dãy lệnh để tính i! được gọi là 1 chương trình con
Vậy 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
- Biến toàn cục (global variable): Còn được gọi là biến chung, là biến được
khai báo ở đầu chương trình, nó được sử dụng bên trong chương trình chính và
cả bên trong chương trình con
- Biến cục bộ (local variable): Còn được gọi là biến riêng, là biến được khai báo
ở đầu chương trình con, và nó chỉ được sử dụng bên trong chương trình con đó
- Tham số thực sự (actual parameter) là một tham số mà nó có thể là một biến
toàn cục, một biểu thức hoặc một giá trị số mà ta dùng chúng khi truyền giá trịcho các tham số hình thức tương ứng của chương trình con
- Tham số hình thức (formal parameter) Có 2 loại tham số hình thức: tham trị
và tham biến
2.2 Phân loại chương trình con
Trong Turbo Pascal, có 2 dạng chương trình con:Thủ tục (PROCEDURE) và Hàm (FUNCTION)
Trang 62.3 Cách viết và sử dụng chương trình con
Trong phần này ta chỉ dừng lại ở mức độ giúp học sinh biết cách viết và sửdụng chương trình con và chỉ giới thiệu tham số hình thức, tham số thực sự màkhông đi sâu vào cách truyền tham số bằng tham trị và tham biến theo đúng như
“hướng dẫn thực hiện điều chỉnh nội dung dạy học môn tin học, cấp THPT của
Bộ Giáo dục và Đào tạo”
2.3.1 Cách viết và sử dụng thủ tục:
* Cách viết thủ tục (Cú pháp khai báo):
Được viết trong phần khai báo của chương trình, sau phần khai báo biến
PROCEDURE TênThủTục [(Danh sách tham số hình thức)]; {phần đầu}
[Các định nghĩa, khai báo hằng, khai báo biến] {phần khai báo}
Begin
<Các câu lệnh xử lí> ; {phần thân}
End;
Trong đó:
VD1: Procedure UCLN (a,b : Integer); {có 2 tham số cùng kiểu}
VD2: Procedure In_Tinh (x,y : Integer ; z : Real);
Đây là một thủ tục có tên In_TINH với 3 tham số hình thức x, y, z Kiểucủa x và y là kiểu số nguyên integer còn kiểu của z là kiểu số thực real
* Sử dụng thủ tục (Thực hiện thủ tục): Sau khi thủ tục đã được khai báo,
muốn sử dụng thủ tục đó thì phải thực hiện lời gọi thủ tục trong thân chương
trình Lời gọi thủ tục được thực hiện như sau:
- Nếu thủ tục có tham số hình thức thì lời gọi thủ tục phải có tên thủ tục kèmtheo thao số thực sự:
Trang 7* Ví dụ: (Tôi xin đề xuất một ví dụ hết sức đơn giản mà các em đã viết rất
thành thạo khi không dùng chương trình con)
Viết chương trình tính và in ra màn hình chu vi, diện tích hình chữ nhật có chiềudài D, rộng R (D, R: nhập vào từ bàn phím)
Yêu cầu: có sử dụng thủ tục in ra chu vi và diện tích hình chữ nhật
+ Ý tưởng:
Phần khai báo của chương trình: gồm
- Khai báo tên chương trình
- Khai báo thư viện (CRT nếu cần)
- Khai báo hằng: không có
- Khai báo biến: D, R
- Khai báo thủ tục in ra chu vi và diện tích:
PROCEDURE Tên (Danh sách tham số: có 2 tham số đại diện chiều dài
- Nhập chiều dài và chiều rộng hình chữ nhật: D, R
- Thực hiện lời gọi thủ tục in chu vi và diện tích kèm theo danh sách tham sốthực tế là D và R
Trang 8C := (a + b) * 2 ;
S := a * b ; Writeln (‘Chu vi HCN la: ’ , C) ; Writeln (‘Dien tich HCN la: ’, S) ; End;
BEGIN Write (‘Nhap chieu dai va chieu rong HCN vao: ’) ; Readln (D,R) ;
In_CV_Dtich (D,R) ; Readln
END
→ Các biến toàn cục: D, R Các biến cục bộ: C, S Danh sách tham số hình thức: a, b Danh sách tham số thực sự: D, R
2.3.2 Cách viết và sử dụng hàm
* Cách viết thủ tục (Cú pháp khai báo):
Được viết trong phần khai báo của chương trình, sau phần khai báo biến
FUNCTION TênHàm [(Danh sách tham số hình thức)] : <Kiểu dữ liệu>;
[Các định nghĩa, khai báo hằng, khai báo biến] {phần khai báo}
Begin
[<Các câu lệnh xử lí>] ; TênHàm := <Biểu thức> ; {Bắt buộc có}
[<Các câu lệnh xử lí>] ; End;
Trang 9- Kiểu dữ liệu của giá trị biểu thức phải trùng với kiểu khao báo cho TenHam
* Sử dụng hàm (Thực hiện hàm): Sau khi hàm đã được khai báo, muốn sử
dụng hàm đó thì phải thực hiện lời gọi hàm trong thân chương trình
* Ví dụ: (Với ví dụ hoàn toàn giống phần thủ tục nhưng bây giờ yêu cầu sử
dụng hàm)
Viết chương trình tính và in ra màn hình chu vi, diện tích hình chữ nhật có chiềudài D, rộng R (D, R: nhập vào từ bàn phím)
Yêu cầu: có sử dụng hàm tính chu vi và hàm tính diện tích hình chữ nhật
+ Ý tưởng: Vì có 2 giá trị trả về là chu vi và diện tích nên ta phải khai báo 2 hàm nhận 2 giá trị đó.
Phần khai báo của chương trình: gồm
- Khai báo tên chương trình
- Khai báo thư viện (CRT nếu cần)
- Khai báo hằng: không có
- Khai báo biến: D, R
- Khai báo hàm tính chu vi:
Phần đầu: FUNCTION CV (a,b : Integer) : Real;
Khai báo biến: không có vì kết quả chu vi được trả về qua tên hàm CV
Thân: Chỉ có câu lệnh gán CV : = (a + b) * 2; để lấy kết quả chu vi
- Khai báo hàm tính diện tích:
Phần đầu: FUNCTION DT (a,b : Integer) : Real;
Khai báo biến: không có vì kết quả diện tích được trả về qua tên hàm DT
Thân: Chỉ có câu lệnh gán DT : = a * b; để lấy kết quả diện tích Phần thân của chương trình:
- Nhập chiều dài và chiều rộng hình chữ nhật: D, R
- Thực hiện in chu vi và diện tích (2 hàm đóng vai trò như 2 biến trong câulệnh in ra màn hình nhưng lưu ý nhớ truyền tham số thực sự cho chúng)
+ Chương trình:
Program HCN;
Uses Crt;
Trang 10Var D, R: Integer;
Function CV (a, b : Integer) : Real ; Begin
CV := (a + b) * 2 ; End;
Function DT (a, b : Integer) : Real ; Begin
DT := a * b ; End;
BEGIN Write (‘Nhap chieu dai va chieu rong HCN vao: ’) ; Readln (D,R) ;
Writeln (‘Chu vi HCN la: ’ , CV (D,R)) ; Writeln (‘Dien tich HCN la: ’, DT (D,R)) ; Readln
END
→ Các biến toàn cục: D, R Các biến cục bộ: không có Danh sách tham số hình thức: a, b Danh sách tham số thực sự: D, R Lưu ý: Các tham số hình thức cũng có thể được xem như là các biến cục bộ
3 VẬN DỤNG KỸ THUẬT MẢNH GHÉP KHI GIẢNG DẠY CHƯƠNG TRÌNH CON
3.1 Giải quyết vấn đề: Khai báo chương trình con, thực hiện chương trình con, biến cục bộ, biến toàn cục, tham số hình thức, tham số thực sự.
* Vòng 1: Thành lập các nhóm chuyên sâu
Trong phần này, giáo viên giao nhiệm vụ cho mỗi nhóm “chuyên sâu” tìmhiểu kĩ một nội dung
Giáo viên chia lớp làm 6 nhóm:
- Nhóm 1: Tìm hiểu biến cục bộ, biến toàn cục
- Nhóm 2: Tìm hiểu tham số hình thức, tham số thực sự
Trang 11- Nhóm 3: Tìm hiểu các viết hàm (Cách khai báo hàm).
- Nhóm 4: Tìm hiểu cách viết thủ tục (Cách khai báo thủ tục)
- Nhóm 5: Tìm hiểu cách thực hiện hàm (cách sử dụng hàm)
- Nhóm 6: Tìm hiểu cách thực hiện thủ tục (cách sử dụng thủ tục)
Các nhóm thực hiện nhiệm vụ được giao, tìm hiểu thảo luận đảm bảomỗi thành viên trong nhóm phải nắm chắc nội dung nhóm mình được giao
nhiệm vụ để trình bày trong nhóm mới - nhóm mảnh ghép ở vòng 2 Như vậy
vai trò của cá nhân trong nhóm không chỉ hoàn thành nhiệm vụ hoạt động cánhân mà còn phải trình bày truyền đạt lại kết quả và thực hiện tiếp nhiệm vụ ởmức độ cao hơn
► Kiến thức cần đạt được của nhóm 1: Hiểu và nhận biết được biến toàn cục vàbiến cục bộ
► Kiến thức cần đạt được của nhóm 2: Hiểu và nhận biết được tham số thực sự
và tham số hình thức.Có 2 loại tham số hình thức: tham trị và tham biến
► Kiến thức cần đạt được của nhóm 3:
Cách viết hàm (Cú pháp khai báo):
Được viết trong phần khai báo của chương trình, sau phần khai báo biến
FUNCTION TênHàm [(Danh sách tham số hình thức)] : <Kiểu dữ liệu>;
[Các định nghĩa, khai báo hằng, khai báo biến] {phần khai báo}
Begin
[<Các câu lệnh xử lí>] ; TênHàm := <Biểu thức> ; {Bắt buộc có}
[<Các câu lệnh xử lí>] ; End;
► Kiến thức cần đạt được của nhóm 4:
Cách viết thủ tục (Cú pháp khai báo):
Được viết trong phần khai báo của chương trình, sau phần khai báo biến
PROCEDURE TênThủTục [(Danh sách tham số hình thức)]; {phần đầu}
[Các định nghĩa, khai báo hằng, khai báo biến] {phần khai báo}
Begin
<Các câu lệnh xử lí> ; {phần thân}
End;
Trang 12► Kiến thức cần đạt được của nhóm 5:
Sử dụng hàm (Thực hiện hàm): Sau khi hàm đã được khai báo, muốn sử dụng
hàm đó thì phải thực hiện lời gọi hàm trong thân chương trình Thực hiện lời
gọi hàm là để lấy giá trị trả về của hàm Vì vậy lời gọi hàm phải được đặt trongmột biểu thức hoặc câu lệnh có xử lí giá trị của nó (TênHàm đóng vai trò nhưmột biến) Khi thực hiện lời gọi hàm nếu có tham số thì cũng phải truyền tham
số thực sự cho nó
► Kiến thức cần đạt được của nhóm 6:
Sử dụng thủ tục (Thực hiện thủ tục): Sau khi thủ tục đã được khai báo, muốn
sử dụng thủ tục đó thì phải thực hiện lời gọi thủ tục trong thân chương trình.
Lời gọi thủ tục được thực hiện như sau:
- Nếu thủ tục có tham số hình thức thì lời gọi thủ tục phải có tên thủ tục kèmtheo thao số thực sự:
+ Các “nhóm mảnh ghép” thực hiện nhiệm vụ mới “Trình bày cấu trúc của
chương trình có sử dụng chương trình con và chỉ ra biến cục bộ, biến toàn cục, tham số hình thức, tham số thực sự” Ở vòng này, ngoài việc các nhóm
mảnh ghép nắm bắt được đầy đủ nội dung của các nhóm chuyên sâu, thì các họcsinh trong nhóm mảnh ghép còn cần phải vận dụng kiến thức đã học về cấu trúc