Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 15 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
15
Dung lượng
320,5 KB
Nội dung
A . ĐẶT VẤN ĐỀ I. Lí do chọn sáng kiến kinh nghiệm . - Hiện nay trong lí luận dạy học nói chung và lí luận dạy học môn tin học nói riêng đề cập khá nhiều phương pháp và kĩ thuật dạy học: phương pháp thảo luận, phương pháp đặt câu hỏi, phương pháp chia nhóm … và có một nội dung được đề cập rất nhiều trong các tài liệu đó là: dạy học tích hợp. - Các cách thiết kế bài giảng hiện nay nhằm mục đích áp dụng phương pháp hiện đại để bồi dưỡng cho học sinh năng lực ham muốn học hỏi, tư duy sáng tạo, năng lực tự giải quyết vấn đề, rèn luyện và phát triển năng lực tự học sáng tạo, nghiên cứu, nghĩ và làm việc một cách tự chủ… Đồng thời để thích ứng với sự phát triển tư duy của học sinh trong xã hội mới và tiếp cận với các công nghệ tiên tiến trong xã hội, trên thế giới. Bên cạnh đó, trong các kĩ thuật dạy học mới, vai trò của người thầy có sự thay đổi là: “hướng dẫn học sinh biết tự mình tìm ra hướng giải quyết những vấn đề nãy sinh trong quá trình học tập, biết cách làm việc độc lập, làm việc tập thể. Thầy là người định hướng, là người cố vấn giúp học sinh tự đánh giá, cũng như giúp học sinh luôn đi đúng con đường tìm hiểu, lĩnh hội kiến thức…”. - Xuất phát từ thực tiễn giảng dạy tại trường THPT TỐNG DUY TÂN tôi thấy rằng, để đạt hiệu quả cao trong mỗ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 dung kiế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ượng họ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ầ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ôn họ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. - Xuất phát từ cơ sở trên, tôi đã chọn đề tài “Giúp học sinh hoc tốt Kiểu mảng”, giúp các em nắm được kiểu dữ liệu mảng đó là cấu trúc dữ liệu quan trọng 1 thường hay được ứng dụng trong lập trình bài tập và thực tế II. Mục đích của sáng kiến kinh nghiệm. Sử dụng phương pháp giảng dậy thích hợp giúp học sinh tưởng tượng được cấu trúc của kiểu mảng. Và thông qua các ví dụ hướng dẫn học sinh nắm vững cách truy xuất dữ liệu từ mảng. III. Nhiệm vụ của sáng kiến kinh nghiệm . Xây dựng giáo án chi tiết thực sự gần gũi với học sinh phù hợp với đa số học sinh trong một lớp. Đưa ra vấn đề, thực hiện ví dụ minh họa đễ học sinh quan sát qua đó nắm vững kiểu mảng. Và hình thành ở học sinh kỹ năng phân tích, sử lý các vấn đề thường gặp trong khi làm việc với kiểu mảng. IV. Đối tượng nghiên cứu. Học sinh khối 11 tại trường THPT TỐNG DUY TÂN trong hai năm liên tiếp. NĂM HỌC LỚP SĨ SỐ 2011 - 2012 11B 11E 11I 44 45 43 2012 - 2013 11B 11D 48 44 V. Phương pháp nghiên cứu . - Đọc kỹ tài liệu sách giáo khoa, sách giáo viên Tin Học 11 và một số tài liệu tham khảo khác. - Dạy học trên các đối tượng: Giỏi , Khá , Trung bình, yếu, kém trong đó nội dung dạy học, phương pháp thực hiện và kết quả thu được đánh giá chủ yếu đối với đối tượng học sinh khá, trung bình, yếu, kém. - Đưa ra bàn luận trước tổ, nhóm chuyên môn để tham khảo ý kiến và cùng thực hiện. 2 - Tham khảo ý kiến các trường bạn, ý kiến đóng góp của các thầy cô dạy lâu năm đã có nhiều kinh nghiệm. - Dự giờ, kiểm tra, đánh giá chất lượng của học sinh. - Dạy thực nghiệm trên 2 lớp 11 của trường là: 11B, 11D. B. GIẢI QUYẾT VẤN ĐỀ I .Cơ sở lí luận . Khi học sinh học bài “Bài 11. kiểu mảng” Học sinh đã có rất nhiều khó khăn, nhầm lẫn trong việc thực hiện viết các đoạn chương trình để nhập xuất dữ liệu mà nguyên nhân là do chưa thực sự hiểu được cấu trúc của kiểu mảng. II. Nội dung và giải pháp thực hiện . 1. Nội dung Giáo án tiết một bài Kiểu mảng Tiết 1: A. Mục đích, yêu cầu Học sinh cần hiểu rõ: Kiểu mảng là một kiểu dữ liệu có cấu trúc, rất cần thiết và hữu ích trong nhiều chương trình. Mảng một chiều là một dãy hữu hạn các phần tử cùng kiểu. Các ngôn ngữ lập trình thông dụng cho phép người lập trình xây dựng kiểu dữ liệu mảng một chiều. Để mô tả mảng một chiều cần khai báo kiểu của các phần tử và cách đánh số các phần tử của nó (mỗi phần tử của nó có một chỉ số). Có thể tham chiếu phần tử của mảng bằng tên của mảng và chỉ số tương ứng của phần tử này. Phần minh hoạ với pascal, học sinh cần nắm được: Có hai cách để khai báo (hay định nghĩa) kiểu dữ liệu mảng một chiều: 3 - Trực tiếp trong phần khai báo biến (với từ khoá Var). - Đặt tên và định nghĩa cho kiểu dữ liệu mới này (với từ khoá là TYPE), rồi sau đó khai báo các biến thuộc kiểu mới (đã có tên). Để khai báo một kiểu dữ liệu mảng một chiều, người lập trình cần phải xác định những yếu tố sau: - Kiểu phần tử: Kiểu của các phần tử tạo nên mảng. - Kiểu chỉ số: Người ta thường dùng một đoạn số nguyên liên tục làm chỉ số của mảng, đoạn này được xác định khi số nguyên đầu tiên và số nguyên cuối cùng của đoạn là xác định được. Số nguyên đầu tiên trong đoạn này là chỉ số của phần tử đầu tiên trong mảng, số nguyên tiếp theo là chỉ số của phần tử thứ hai trong mảng, cứ như vậy,… Giá trị cuối cùng là chỉ số của phần tử cuối cùng trong mảng. Do vậy, khi xác định kiểu chỉ số của một mảng (một chiều) người lập trình đã xác định cả kích thước của mảng (tức số phần tử của mảng). Học sinh cần có các kỹ năng: Nhận biết được các thành phần trong khai báo kiểu mảng một chiều. Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình. Biết cách viết khai báo mảng đơn giản với chỉ số kiểu miền con của kiểu nguyên. B. Đồ dùng dạy học Chuẩn bị của giáo viên: Sách giáo khoa, sách giáo viên, giáo án, bảng phụ, thước, phấn viết. Chuẩn bị của học sinh: Sách giáo khoa, vở, bút. C. Hoạt động dạy - học: HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 4 Bài cũ: Em hãy nêu những kiểu dữ liệu chuẩn đã học? Giáo viên đánh giá, cho điểm và ghi vào sổ đầu bài. Bài mới: Hôm nay chúng ta sẽ tìm hiểu về một kiểu dữ liệu mới được xây dựng trên những kiễu dữ liệu chuẩn mà chúng ta đã học. Ghi lên bảng: CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC. BÀI 11: KIỂU MẢNG Và tiết hôm nay chúng ta sẽ tìm hiểu về kiểu mảng một chiều. 1. Kiểu mảng một chiều. Treo bảng phụ trong đó có đề bài và chương trình ví dụ trang 53 góc phải bảng. Yêu cầu học sinh xác định INPUT và OUTPUT của bài toán trên? Lắng nghe câu hỏi và trả lời: Chúng ta đã học 4 kiểu dữ liệu chuẩn đó là: - Kiểu nguyên. - Kiểu thực. - Kiểu ký tự. - Kiểu logic. Học sinh chăm chú nghe giảng và ghi chép vào vở. INPUT: Nhiệt độ 7 ngày trong tuần. OUTPUT: Nhiệt độ tb của tuần và số lượng ngày trong tuần có nhiệt độ > nhiệt độ tb của tuần. 5 Hỏi: Em hãy quan sát chương trình trên bảng và cho biết chúng ta đã sử dụng bao nhiêu biến để khai báo cho nhiệt độ các ngày trong tuần? Và chương trình trên đã dùng bao nhiêu câu lệnh? Đó là câu lệnh gì? Hỏi: Với bài toán như vậy ta áp dụng cho 365 ngày thì chúng ta phải sử dụng bao nhiêu biến để khai báo nhiệt độ 365 ngày và chương trình phải dùng bao nhiêu câu lệnh If then ? Hỏi: Với số ngày lớn như vật thì chương trình sẽ gặp những hạn chế nào? Dẫn dắt: Để khắc phục những hạn chế trên, người ta thường ghép chung 7 biến hay 365 biến trên thành một dãy, đặt cho nó chung một tên và đánh cho một phần tử một chỉ số. * Khái niệm mảng một chiều: - Mảng một chiều là dãy hữu hạn các phần tử cùng kiểu. Mảng được đặt tên và mỗi phần tử của nó có một chỉ số. - Để mô tả mảng một chiều ta cần xác định kiểu của các phần tử và cách đánh số các Trả lời: Chương trình trên đã sử dụng 7 biến để khai báo cho nhiệt độ các ngày trong tuần. Chương trình trên dùng 7 câu lệnh If then Trả lời: Chương trình trên đã sử dụng 365 biến để khai báo cho nhiệt độ các ngày trong tuần. Chương trình trên dùng 365 câu lệnh If then Trả lời: Khai báo nhiều biến và chương trình rất dài dòng. Chăm chú nghe giảng và ghi chép bài. 6 phần tử của nó. Ví dụ 1: 1 2 3 4 5 6 7 Ví dụ 2: Xem mỗi bàn học sinh của chúng ta là một mảng một chiều. Các bạn trong bàn đó sẽ được đặt tên chung là tên của bàn đó. Mỗi bạn được phân biệt nhau bởi một chỉ số khác nhau. Bàn1: Hương Hải Hà Hiền 1 2 3 4 Dẫn dắt: Chúng ta đã hiểu thế nào là mảng một chiều. Vậy để máy tính của chúng ta hiểu về mảng một chiều thì chúng ta phải làm gi? Để hiểu rõ vấn đề này chúng ta sẽ tìm hiểu về một phần mới đó là phần khai báo Ghi lên bảng a) Khai báo: Trong NNLT Pascal có 2 cách khai báo cho mảng 1 chiều đó là khai báo trực tiếp và khai báo gián tiếp. - Cách 1: Khai báo trực tiếp biến mảng một chiều: Var <Tên biến mảng>: array[Kiểu chỉ số] of Chăm chú nghe giảng và ghi chép bài. Chăm chú nghe giảng và ghi chép bài. 7 Nhietdo: 35 34 36 35.5 36 34.5 37 <Kiểu phần tử>; - Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều: Type <Tên kiểu mảng>=array[Kiểu chỉ số] of<Kiểu phần tử>; Var <Tên biến mảng> : <Tên kiểu mảng >; Trong đó: Type là từ khoá khai báo kiểu mảng. Var là từ khoá khai báo biến mảng. Array…of… là từ khoá dùng khai báo mảng và kiểu phần tử. Tên kiểu mảng, tên biến mảng do người lập trình đặt nhưng tuân theo quy tắc NNLT Pascal đó là bắt đầu bằng chữ cái. Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1 n2 với n1,n2 là các hằng hoặc biểu thức nguyên xác định chỉ số đầu và chỉ số cuối (n1<=n2). Kiểu phần tử là kiểu của các phần tử mảng. Ví dụ: - Khai báo gián tiếp: Type nd=array[1 366] of real; Var nhietdo : nd; - Khai báo trực tiếp Var nhietdo: array[1 366] of real; Ý nghĩa của khai báo trên là: Khai báo mảng một chiều có tên nhietdo gồm 366 phần tử cùng kiểu thực. Chăm chú nghe giảng và ghi chép bài. Lắng nghe câu hỏi và trả lời: - Khai báo gián tiếp: 8 Hỏi: Em hãy khai báo mảng một chiều có tên là songuyen gồm 100 phần tử cùng kiểu nguyên theo 2 cách. Dẫn dắt: Tuỳ từng trường hợp mà chúng ta sử dụng khai báo trực tiếp hay gián tiếp. Ta dùng khai báo gián tiếp khi trong chương trình có nhiều mảng cùng kiểu chỉ số và kiểu phần tử. Còn lúc nào chỉ khai báo một mảng hay nhiều mảng không cùng kiểu chỉ số hay kiểu phần tử thì dùng khai báo trực tiếp. - Đưa lên bảng một số khai báo yêu cầu học sinh xác định khai báo đúng. Var A: array[-10 10] of real; B: array[10 5] of integer; C: array[-20 10] of boolean; D: array[10…100] of char; E: array[1 115 div 2] of real; Và để hiểu rõ về mảng một chiều chúng ta tìm hiều về một phần là phần tham chiếu. Ghi lên bảng . Type sn=array[1 100] of integer; Var songuyen:sn; - Khai báo trực tiếp Var songuyen: array[1 100] of integer; Quan sát trên bảng và trả lời: Var A: array[-10 10] of real; C: array[-20 10] of boolean; E: array[1 115 div 2] of real; 9 * Tham chiếu: Dẫn dắt: Tham chiếu tới phần tử của mảng một chiều được xác định bởi tên mảng cùng với chỉ số và được viết trong cặp ngoặc [ và ]. Ví dụ: Tham chiếu tới nhiệt độ của ngày thứ nhất trong chương trình trên viết là: Nhietdo[1]. 2 3 4 5 6 7 - Yêu cầu học sinh tham chiếu nhiệt độ ngày thứ 3 và 7. - Đưa chương trình giải bài toán nhiệt độ với N ngày bằng mảng một chiều lên bảng. Chú ý: Thuật toán trong sách giáo khoa khai báo biến dem, i, N kiểu byte là chưa đúng. Phải khai báo là kiểu integer vì kiểu byte có phạm vi 0 -> 255 mà các biến dem, i, N có thể nhận giá trị lớn hơn 255. - Chương trình đã khai báo hằng Max=366 nên trong khai báo mảng Max là một hằng Nhietdo[3]; Nhietdo[7]; Quan sát chương trình trên bảng và chăm chú nghe giảng. Trả lời: Trong chương trình chúng ta khai báo mảng theo cách gián tiếp. 10 Nhietdo[1]=35 Nhietdo: 35 34 36 35.5 36 34.5 37 [...]... trong tin học đời sống…để các em có thể chứng tỏ được khả năng của mình làm cho học sinh yêu thích môn học, ham học hỏi và tìm tòi sáng tạo Đề tài này mang tính thực tiển rất cao cụ thể là: trong tiết học các em học sinh đã chủ động để tìm tòi lại kiến thức đã học qua đó giải quyết được vấn đề do giáo viên đặt ra Trong quá trình giải quyết vấn đề, giáo viên chỉ ra những sai lầm mà các em học sinh mắc... đến kiểu mảng ở lớp 11B là 60% và lớp 11D là 52% không có học sinh đạt mức điểm dưới 5 12 C KẾT LUẬN VÀ ĐỀ XUẤT Tin học nói chung đóng vai trò rất quan trọng trong việc xây dựng các chương trình ứng dụng để phục vụ cho cuộc sống Nhờ sự phát triển của tin học mà hiện nay hầu hết các lĩnh vực trong xã hội đã ứng dụng được tin học để giải quyết công viêc nhanh, hiệu quả và chính xác hơn Hiện nay, tin học. .. phần tử của mảng Bài tập về nhà: 1 Viết chương trình nhập vào mảng một chiều gồm 100 phần tử kiểu nguyên, tính tổng của các phần tử đó 2 Đọc trước nội dung phần b) Một số ví dụ 2 Kết quả thu được Trong quá trình học tập trao đổi, thảo luận, trình bày Học sinh được thể hiện khả năng vận dụng, hiểu biết của mình khi làm bài tập Đồng thời tiết kiểm tra 11 các bài tập liên quan đến kiểu mảng đều đạt... giáo viên chỉ ra những sai lầm mà các em học sinh mắc phải do hiểu không rõ vấn đề giúp cho các em hiểu rõ hơn về câu lệnh Kết quả là có rất nhiều em đã dễ dàng vận dụng cấu trúc kiểu mảng để giải các vấn bài toán do giáo viên đặt ra 13 D TÀI LIỆU THAM KHẢO 1.Sách giáo khoa tin học 11 Hồ Sĩ Đàm chủ biên 2 Sách giáo viên tin học 11 Hồ Sĩ Đàm chủ biên 3 Một số ý kiến đóng góp vào sáng kiến kinh nghiệm của... chương trình chúng ta khai báo mảng theo cách nào? - Trước khi nhập nhiệt độ cho từng ngày thì chúng ta cần phải nhập số ngày Và ta sử dụng câu lệnh for i:=1 to N do để nhập nhiệt Lắng nghe và ghi nhớ độ cho từng ngày - Khi nhập ta cần phải tham chiếu đến các ngày bằng cách: Readln(Nhietdo[i]); Củng cố lại bài học: - Hiểu thế nào là mảng 1 chiều - Các cách khai báo mảng 1 chiều và các thành phần . sự gần gũi với học sinh phù hợp với đa số học sinh trong một lớp. Đưa ra vấn đề, thực hiện ví dụ minh họa đễ học sinh quan sát qua đó nắm vững kiểu mảng. Và hình thành ở học sinh kỹ năng phân. 37 < ;Kiểu phần tử>; - Cách 2: Khai báo gián tiếp biến mảng qua kiểu mảng một chiều: Type <Tên kiểu mảng& gt;=array [Kiểu chỉ số] of< ;Kiểu phần tử>; Var <Tên biến mảng& gt; : <Tên kiểu. giá chất lượng của học sinh. - Dạy thực nghiệm trên 2 lớp 11 của trường là: 11B, 11D. B. GIẢI QUYẾT VẤN ĐỀ I .Cơ sở lí luận . Khi học sinh học bài “Bài 11. kiểu mảng Học sinh đã có rất nhiều