Cho nên Tôi nghĩ rằng đó là một Phương pháp hay và vì thế tôi chọnhướng nghiên cứu này làm đề tài sáng kiến kinh nghiệm của mình trong bài học về dữ liệu kiểu mảng một chiều của chương t
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ
TRƯỜNG THPT LƯU ĐÌNH CHẤT
SÁNG KIẾN KINH NGHIỆM
ĐỀ TÀI: ĐỔI MỚI PHƯƠNG PHÁP GIẢNG DẠY THEO HƯỚNG TỔ CHỨC HOẠT ĐỘNG HỌC THEO NHÓM VÀ HƯỚNG DẪN HỌC SINH TỰ HỌC TRONG BÀI DỮ LIỆU
Trang 2MỤC LỤC
A 1 PHẦN MỞ ĐẦU
2 PHẦN NỘI DUNG
2.2 Thực trạng vấn đề trước khi áp dụng SKKN Trang 22.3 Các SKKN hoặc các giải pháp đã sử dụng để giải quyết vấn đề Trang 32.4 Hiệu quả của SKKN đối với hoạt động giáo dục, với bản thân,
Trang 31 Mở đầu
1.1 Lí do chọn đề tài:
Hiện nay toàn ngành giáo dục nước ta đang gắng hết sức để tìm ra các giảipháp tốt nhất nhằm nâng cao chất lượng giáo dục Nhiều đợt tập huấn diễn ravới nhiều phương dạy học được bàn cải sôi nổi để cuối cùng đi đến một cáichung nhất là đưa chất lượng nền giáo dục nước nhà đi lên
Qua đợt thi quốc tề vừa qua nước ta đã gặt hái được khá nhiều thành côngtrong lĩnh vực giáo dục mang về nhiều tấm huy chương vàng, bạc, đồng danhgiá trong đó có sự góp mặt của bộ môn Tin học Đó là minh chứng rõ nhất chothấy Việt Nam là một nước không thua kém với các cường quốc năm châu Vậytại sao thực trạng chung ở các nhà trường THPT bộ môn Tin học lại không đượcđón nhận một cách nhiệt tình từ phía các em học sinh Phải chăng đối với các em
nó là môn phụ hay nó quá trừu tượng hoặc quá khó để các em có thể yêu thích
và đam mê Mặc dù các em biết trong thời kỳ công nghệ thông tin ngày nay tinhọc là một phần không thể thiếu trong sự phát triển chung của nhân loại Đó làcâu hỏi được đặt ra rất nhiều không chỉ cho những người giáo viên chúng tôi màcho toàn ngành giáo dục và hơn nữa là cho toàn xã hội Liệu giải pháp nào là tốtnhất để khắc phục tình trạng này Tựu chung lại dù là lí do gì đi nữa thì đấy cũng
là những nguyên nhân để những người giáo viên như chúng tôi trăn trở oằnmình trong từng tiết học mong các em có niềm đam mê hơn trong môn học củamình để mục tiêu cuối cùng không chỉ là những tấm huy chương vàng mà còn lànhững sáng chế, những phát minh tạo ra nhiều sản phẩm giúp ích cho đời
Đợt tập huấn gần đây nhất tôi được tham dự bàn về vấn đề “Phương pháp
và kĩ thuật tổ chức hoạt động học theo nhóm và hướng dẫn học sinh tự học” mà
bộ giáo dục và đào tạo đang có hướng triển khai Đây là một phương phápkhông mới đối với nhiều nước trên thế giới, nó đã và đang mang lại khá nhiềuthành công trong lĩnh vực giáo dục của họ Vậy liệu đối với nước Việt nam thânyêu của chúng ta có nên áp dụng các phương pháp đó để mang lại hiều quả giáodục không nhỉ?
Bản thân Tôi nhận thấy để đạt hiệu quả cao trong mỗi phần học, tiết họccần có cách thiết kế bài giảng cho phù hợp với nội dung kiến thức; phươngpháp, phương tiện dạy học phải phù hợp với từng đối tượng học sinh Để quamỗ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 đượckiến thức đã học trên lớp, đồng thời học sinh thấy được tầm quan trọng của vấn
đề và việc ứng dụng của kiến thức trước hết để đáp ứng những yêu cầu của mônhọc, sau đó là việc ứng dụng của nó vào các công việc thực tiễn trong đời sống
xã hội Cho nên Tôi nghĩ rằng đó là một Phương pháp hay và vì thế tôi chọnhướng nghiên cứu này làm đề tài sáng kiến kinh nghiệm của mình trong bài học
về dữ liệu kiểu mảng một chiều của chương trình Tin học lớp 11 với tên “Đổi mới phương pháp giảng dạy theo hướng tổ chức hoạt động học theo nhóm và hướng dẫn học sinh tự học trong bài dữ liệu kiểu mảng một chiều”.
Trang 41.2 Mục đích nghiên cứu
Đề tài này được nghiên cứu nhằm mục đích giúp các em chủ động tronglĩnh hội tri thức, rèn khả năng họat động theo nhóm và khả năng tự học củamình để từ đó thúc đẩy niềm đam mê học tập, hứng thú với môn học, giúp các
em có cái nhìn khác về bộ môn tin học và đặc biệt đem lại hiệu quả giáo dụccao
1.3 Đối tượng nghiên cứu
Học sinh khối 11 tại trường THPT LƯU ĐÌNH CHẤT
1.4 Phương pháp nghiên cứu
+ Kết hợp thực tiễn giáo dục ở trường THPT LƯU ĐÌNH CHẤT
+ Có tham khảo các tài liệu về ngôn ngữ lập trình Pascal, sách giáo khoa,sách giáo viên
+ Tham khảo tài liệu tập huấn về “Phương pháp và kĩ thuật tổ chức hoạtđộng học theo nhóm và hướng dẫn học sinh tự học”
+ Tìm hiểu kĩ lưỡng bài học, tổng hợp những kết quả đã có trong việc xâydựng bài học theo tiêu chí phát huy tính chủ động sáng tạo của học sinh
+ So sánh giữa giải pháp cũ thường làm với giải pháp mới để có sự kếthừa và phát huy
+ Trao đổi trong nhóm và trao đổi với đồng nghiệp để bổ sung, hoànthiện tiết dạy; trao đổi với học sinh, lắng nghe ý kiến từ phía học sinh
+ Dự giờ, thăm lớp, tích luỹ kinh nghiệm thực tế
2 Nội dung sáng kiến kinh nghiệm
2.1 Cơ sở lí luận của sáng kiến kinh nghiệm
- Đối với các em học sinh bậc THPT thì bộ môn Tin học đang còn khámới mẻ và khó để các em có thể tiếp cận một cách tốt nhất, đặc biệt là chươngtrình Tin học lớp 11 Vì thế cần phải tạo hứng thú học tập trong mỗi em họcsinh Bởi khi có hứng thú, say mê trong nghiên cứu, học tập thì thì việc lĩnh hộitri thức trở nên dễ dàng hơn; ngược lại, khi nắm bắt được vấn đề, tức là hiểuđược bài thì người học lại có thêm hứng thú để học
- Nhiều bài trong chương trình Tin học 11 thực sự gây nhiều khó khăn cho
cả giáo viên lẫn học sinh trong việc truyền thụ và lĩnh hội tri thức Đặc biệt đểcác em có thể hiểu được kiểu mảng là gì, khi nào thì dùng nó và việc sử dụngkiểu mảng như thế nào là điều rất khó
2.2 Thực trạng vấn đề trước khi áp dụng sáng kiến kinh nghiệm.
- Đại bộ phận Học sinh còn coi nhẹ bộ môn, coi đây là môn phụ nênkhông mấy hứng thú với môn học, chưa đầu tư nhiều thời gian công sức nêngiáo viên rất khó khăn trong việc truyền đạt kiến thức, đổi mới phương pháp dạyhọc
- Chất lượng học sinh còn chưa cao và chưa đồng đều Lớp mũi nhọn thìtiếp thu tốt, các lớp khác thì tiếp thu còn chậm
Trang 5- Các em học sinh vẫn còn quen với cách dạy truyền thống là ỉ lại chogiáo viên, không chủ động trong lĩnh hội tri thức.
Tiến trình dạy học bài 11: Kiểu mảng
Tiết 1: Hoạt động khởi động và hoạt động hình thành kiến thức và luyệntập
Tiết 2,3: Hoạt động vận dụng và hoạt động tìm tòi mở rộng [1]
Chuẩn kiến thức, kỹ năng: [3]
- Tạo được kiểu mảng một chiều
- Khai báo và sử dụng được biến mảng một chiều trong ngôn ngữ lập trìnhPascal để giải quyết một số bài toán cụ thể
Về thái độ:
- Học sinh hiểu bài và hứng thú với bài học
- Tự giác, tích cực, chủ động trong giải quyết các bài tập
- Tiếp tục xây dựng lòng ham thích lập trình, nhằm giải quyết các bài toánbằng máy tính
- Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trìnhnhư: ý thức chọn và xây dựng kiểu dữ liệu khi thể hiện những đối tượng trongthực tế
Phương pháp và phương tiện dạy học:
- Dạy học theo quan điểm hoạt động
- Sử dụng máy tính, máy chiếu, slide bài giảng, sách giáo khoa, bảng,phiếu câu hỏi
A KHỞI ĐỘNG
Hoạt động 1: Kiểm tra bài cũ
(1) Mục tiêu: Kiểm tra kiến thức của bài học trước về câu lệnh rẽ nhánh If– Then và câu lệnh lặp For – Do nhằm đáp ứng được lượng kiến thức cần thiết
để giải quyết bài toán ví dụ ở hoạt động 2
Trang 6(2) Phương pháp/Kĩ thuật: Vấn đáp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu
(5) Sản phẩm: Học sinh hiểu và vận dụng được cấu trúc rẽ nhánh và cấutrúc lặp để giải quyết tình huống cụ thể (mức vận dụng cao)
Nội dung hoạt động
Trong ngôn ngữ lập trình Pascal, đoạn chương trình sau cho kết quả là gì?
Hoạt động 2: Tìm hiểu bài toán ví dụ
(1) Mục tiêu: Học sinh hiểu được nhu cầu của việc sử dụng kiểu mảng.(2) Phương pháp/Kĩ thuật: Dạy học nêu vấn đề
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câuhỏi, các chương trình nguồn mẫu
(5) Sản phẩm: Học sinh không nhàm chán khi tiếp cận vấn đề mới Họcsinh hiểu được bài toán ví dụ, trả lời được các phiếu câu hỏi của giáo viên đưa ra
từ đó giúp các em nhận thấy cần phải có một kiểu dữ liệu mới phù hợp hơn đểgiải quyết vấn đề (Mức vận dụng cao)
Nội dung hoạt động
Nhập vào nhiệt độ (trung bình) của mỗi ngày trong tuần, tính và đưa mànhình nhiệt độ trung bình của tuần và số lượng ngày trong tuần có nhiệt độ caohơn nhiệt độ trung bình của tuần [2]
Giáo viên phát phiếu câu hỏi cho các nhóm.
PHIẾU CÂU HỎI 1
Bài này cho gì?
Vậy phải khai báo bao nhiêu biến cho các ngày đó?
Các biến này có kiểu dữ liệu là gì?
Có mấy biến cùng kiểu dữ liệu với nhau?
Bài này bắt đi tìm cái gì?
Viết câu lệnh tính nhiệt độ trung bình
Câu lệnh để đếm các ngày thõa mãn điều kiện bài toán có cú pháp là gì?
Có mấy câu lệnh như vậy?
Các câu lệnh có tương tự nhau không?
Nếu bài toán xử lí với số ngày là một tháng hay một năm thì phải khai báobao nhiêu biến?
Trang 7Có bao nhiêu câu lệnh đếm số ngày thỏa mãn điều kiện bài toán?
Chương trình như vậy gặp khó khăn gì không nếu số ngày lên tới 10 năm?Các em có nhận xét gì về các biến lưu nhiệt độ của ngày và các câu lệnh?
Giáo viên thu phiếu trả lời của các nhóm rồi phân 4 nhóm thành hai cặp trả lời và phản biện lẫn nhau.
Giáo viên nhận xét và chính xác lại các câu trả lời của Học sinh như sau:
Bài này cho nhiệt độ trung bình của 7 ngày
Bài này phải khai báo 7 biến lưu giá trị nhiệt độ cho 7 ngày, 1 biến lưu nhiệt độ trung bình, một biến lưu tổng số ngày có nhiệt độ cao hơn nhiệt độ trung bình
Các biến này có kiểu dữ liệu là số thực: Real
Có 9 biến cùng kiểu dữ liệu với nhau
Tính nhiệt độ trung bình của cả tuần và số ngày có nhiệt độ cao hơn nhiệt
độ trung bình
Câu lệnh tính nhiệt độ trung bình: tb:=(t1+t2+t3+t4+t5+t6+t7)/7
Câu lệnh để đếm các ngày thõa mãn điều kiện bài toán có cú pháp là:
If t1>tb then dem:=dem+1; {kiểm tra ngày thứ nhất}
Có 7 câu lệnh như vậy
Các câu lệnh tương tự nhau
Nếu bài toán xử lí với số ngày là một tháng thì phải cần 30 biến, một năm
là 366 biến
Có 30 hoặc 366 câu lệnh đếm số ngày thõa mãn điều kiện bài toán
Chương trình như vậy gặp các khó khăn sau:
+ Khai báo quá nhiều
+ Chương trình quá dài vì nhiều câu lệnh
Các biến cùng kiểu dữ liệu với nhau, nhiều lệnh tương tự nhau
Giáo viên chiếu chương trình mẫu chạy trên pascal khi không dùng kiểu mảng và khi có dùng kiểu mảng
Hoạt động 3: Tìm hiểu kiểu mảng một chiều
(1) Mục tiêu: Học sinh hiểu được kiểu mảng một chiều
(2) Phương pháp/Kĩ thuật: Vấn đáp
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câu hỏi
Trang 8(5) Sản phẩm: Học sinh trả lời được phiếu câu hỏi giáo viên đưa ra từ đógiúp các em hiểu được kiểu mảng một chiều và các yếu tố cần xác định kiểumảng một chiều (Mức độ biết).
Nội dung hoạt động
1 Kiểu mảng một chiều
Định nghĩa: Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu
Các phần tử trong mảng được đặt chung 1 tên và mỗi phần tử của nó có
Các yếu cần xác định về kiểu mảng một chiều: [2]
+ Tên kiểu mảng một chiều
+ Số lượng phần tử
+ Kiểu dữ liệu của phần tử
+ Cách khai báo biến mảng
PHIẾU CÂU HỎI
Số lượng các phần tử của mảng một chiều là hữu hạn hay vô hạn?
Kiểu dữ liệu của các phần tử trong mảng một chiều như thế nào?
Mảng một chiều là gì?
Biến mảng có được đặt tên không?
Các phần tử của mảng có tên như thế nào?
Phân biệt các phần tử thông qua cái gì?
Khi tham gia vào chương trình biến kiểu mảng có cần khai báo không? Hãy xác định tên mảng, số lượng phần tử, kiểu dữ liệu của phần tử, giá trịcủa phần tử thứ 5 của ví dụ đã cho
Hãy tự đặt câu hỏi cho nội dung này?
Giáo viên cho học sinh dán phiếu trả lời lên bảng rồi cho học sinh thảo luận và phản biện lẫn nhau.
Giáo viên chính xác lại các câu trả lời của Học sinh như sau:
Số lượng các phần tử của mảng một chiều là hữu hạn.
Các phần tử trong mảng một chiều có cùng một kiểu dữ liệu
Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu
Nhietdo
Trang 9Biến mảng được đặt tên.
Các phần tử của mảng có chung một tên
Phân biệt các phần tử thông qua chỉ số của nó
Cũng giống các biến khác, khi tham gia vào chương trình biến kiểu mảngphải được khai báo
(2) Phương pháp/Kĩ thuật: Thuyết trình
(3) Hình thức tổ chức hoạt động: Thảo luận nhóm + Cá nhân
(4) Phương tiện dạy học: Sách giáo khoa, máy tính, máy chiếu, phiếu câuhỏi, chương trình mẫu
(5) Sản phẩm: Học sinh được giao nhiệm vụ tìm hiểu cú pháp khai báobiến mảng một chiều từ đó giúp các em nắm 2 cách khai báo biến mảng mộtchiều và cách tham chiếu đến từng phần tử của mảng một chiều (mức độ hiểu)
Nội dung hoạt động
Quan sát chương trình có dùng mảng một chiều của bài toán ví dụ
a Khai báo biến mảng một chiều:
Var <Danh sách tên biến mảng>:array[chỉ số đầu chỉ số cuối] of
<Kiểu dữ liệu của phần tử>;
Type <tên kiểu mảng>=array[chỉ số đầu chỉ số cuối] of <kiểu dữ liệu của phần tử>;
Var < Danh sách tên biến mảng>:<tên kiểu mảng>;
Trong đó:
Of: từ khóa
Var: từ khóa để khai báo biến
Type: từ khóa để định nghĩa kiểu
Array: từ khóa để khai báo mảng
Chỉ số đầu, chỉ số cuối: là các hằng hoặc biểu thức nguyên Chỉ số tăngđều mỗi lần lên 1 đơn vị nguyên Chỉ số đầu<= chỉ số cuối
Danh sách tên biến mảng: Do người lập trình đặt theo đúng quy tắc Cóthể là một hoặc nhiều tên biến được viết phân cách nhau bởi dấu phẩy (,)
Trang 10Tên kiểu mảng: là một tên do người lập trình đặt theo đúng quy tắc.
Kiểu dữ liệu của phần tử là một trong các kiểu dữ liệu chuẩn hoặc cáckiểu dữ liệu do người lập trình định nghĩa
Ví dụ về khai báo trực tiếp:
Ví dụ 1:
Var nhietdo:array[1 7] of real;
PHIẾU CÂU HỎI
Có mấy biến mảng?
Tên biến mảng là gì?
Giá trị của chỉ số đầu và chỉ số cuối là bao nhiêu?
Mỗi phần tử của mảng có kiểu dữ liệu là gì?
Giáo viên gọi học sinh bất kì trong nhóm trả lời rồi cho học sinh phản biện.
Giáo viên chính xác lại các câu trả lời theo phiếu câu hỏi của học sinh.
Có một biến mảng
Tên biến mảng: nhietdo
Chỉ số đầu là 1, chỉ số cuối là 7
Mỗi phần tử của mảng có kiểu dữ liệu là real (số thực).
Ví dụ 2: Var m,b:array[-3 10] of char;
c:array[a z] of integer;
PHIẾU CÂU HỎI
Ví dụ này đúng hay sai? Nếu sai hãy giải thích và sửa sai
Có mấy biến mảng? Đó là những biến nào?
Chỉ số đầu và chỉ số cuối của các mảng?
Chỉ số tăng thế nào từ chỉ số đầu đến chỉ số cuối
Kiểu dữ liệu của từng phần tử của các mảng đó
Mỗi mảng có bao nhiêu phần tử?
Nêu cách tính số lượng phần tử của mảng?
Các nhóm cử đại diện trả lời Phiếu trả lời dán lên bảng Cho học sinh thảo luận và phản biện.
Giáo viên chính xác lại các câu trả lời theo phiếu câu hỏi của học sinh.
Ví dụ này đúng đúng
Có 3 biến mảng là m,c và b
Hai biến m và b có chỉ số đầu là -3, chỉ số cuối là 10
Biến c có chỉ số đầu là a, chỉ số cuối là z
Với mảng m và b: chỉ số tăng lên 1 đơn vị số nguyên Với mảng c: chỉ sốtăng lên một kí tự theo bảng chữ cái tiếng anh
Kiểu dữ liệu phần tử của mảng m và b là char; của mảng c là integer.
Trang 11Mảng m và b có 14 phần tử, mảng c có 26 phần tử.
Nếu chỉ số là kiểu số nguyên ta có thể tính theo công thức: chỉ số cuối –chỉ số đầu +1 (Vd: 10- (-3)+1=14) Còn nếu là giá trị khác thì có thể đếm
Ví dụ 3: Var m,b:array[3 -10] of char;
PHIẾU CÂU HỎI
Cho nhận xét về ví dụ này?
Giáo viên có thể gọi học sinh bất kỳ trả lời.
Giáo viên nhận xét câu trả lời của học sinh rồi chính xác và nhấn mạnh lại:
Đây là một ví dụ sai vì chỉ số đầu lớn hơn chỉ số cuối
PHIẾU CÂU HỎI
Mỗi nhóm tự đặt hai ví dụ sai và hai ví dụ đúng về khai báo trực tiếp biến mảng một chiều?
Giáo viên cho các nhóm dán câu trả lời lên bảng Yêu cầu cả lớp thảo luận rồi nhận xét chéo giữa các nhóm Giáo viên chính xác lại các câu trả lời.
Ví dụ về khai báo gián tiếp:
Ví dụ 1: Type mangnd= array[1 7] of real;
Var nhietdo:mangnd;
Ví dụ 2: Type mang1= aray[-3 10] of char;
Type mang2= array[a c] of integer;
Var m,b:mang; c:mang2;
PHIẾU CÂU HỎI
Nhận xét về hai cách khai báo biến mảng một chiều
Mỗi nhóm tự đặt hai ví dụ sai và hai ví dụ đúng về khai báo gián tiếpbiến mảng một chiều?
Khi nào nên khai báo biến mảng trực tiếp khi nào khai báo biến mảnggián tiếp (Giáo viên có thể cung cấp thông tin này)
Giáo viên chính xác lại các câu trả lời:
Khai báo gián tiếp phải thông qua định nghĩa kiểu rồi khai báo biến mảngnhư các biến thông thường khác Khai báo trực tiếp không cần thông qua địnhnghĩa kiểu
Giáo viên cho các nhóm phản biện lẫn nhau rồi chính xác lại
Khai báo gián tiếp được sử dụng khi kiểu mảng đó được sử dụng để khaibáo biến mảng nhiều lần trong chương trình Nếu chương trình chỉ khai báo kiểumảng đó một vài lần thì nên sử dụng cách khai báo trực tiếp
b Cách tham chiếu đến từng phần tử của mảng một chiều.
<Tên biến mảng>[Chỉ số] [4]
Các thao tác với mỗi phần tử của mảng cũng được thực hiện giống nhưtrên một biến đơn