Sáng kiến kinh nghiệm Một số biện pháp tạo hứng thú khi học lập trình Pascal cho học sinh lớp 11
MỤC LỤC
A.MỞ ĐẦU Trang 3
I. LÝ DO CHỌN ĐỀ TÀI Trang 3
1-Cơ sở lý luận Trang 3
2-Cơ sở thực tiễn Trang 4
II/- MỤC ĐÍCH VÀ PHƯƠNG PHÁP NGHIÊN CỨU SÁNG KIẾN KINH NGHIỆM: Trang 4
1-Mục đích: Trang 4
2-Phương pháp nghiên cứu: Trang 4
III/-GIỚI HẠN CỦA ĐỀ TÀI Trang 4
IV/-CÁC GIẢ THIẾT NGHIÊN CỨU Trang 4
V/- KẾ HOẠCH THỰC HIỆN Trang 4
B. NỘI DUNG: Trang 5
I/- THỰC TRẠNG VÀ MÂU THUẪN Trang 5
II/- CÁC BIỆN PHÁP GIẢI QUYẾT VẤN ĐỀ Trang 5
1/- Khả năng truyền đạt Trang 5
2/- Phương pháp dạy học Trang 6
3/- Công cụ thiết kế bài giảng Trang 6
4/- Kết quả thu được. Trang 6
C. KẾT LUẬN Trang 9
D. TÀI LIỆU THAM KHẢO Trang 9
sinh đưa ra những ví dụ trong cuộc sống liên quan với việc lặp đi lặp lại công việc nào đó và các em sẽ phân tích xem việc nào thi biết trước số lần thực hiện việc nào thì không biết trước số lần thực hiện. Ví dụ 2: Khi giảng bài toán tìm số lớn nhất trong một dãy số,chúng ta nên đưa ví dụ cho các em dễ liên tưởng như: “Em làm thế nào để tìm được bạn cao nhất trong lớp”. Hay, đối với bài tóan sắp xếp dãy số tăng dần, ta đưa ví dụ gần thực tế như: “Giả sử em đóng vai trò là lớp trưởng, em làm thế nào để có thể xếp hàng từ thấp đến cao cho các bạn trong lớp”. Ví dụ 3: Hay, đối với bài toán tìm trong một dãy số có số dương nào không, để học sinh có thể tư duy, ta nêu như sau: “ Nếu có ai đó hỏi lớp mình có bạn nào cao trên 1m7 không? thì em sẽ làm thế nào để trả lời câu hỏi đó ”. Từ đó, với bài toán hỏi trong dãy có toàn số dương không, giáo viên có thể đưa ví dụ: “Có phải lớp mình bạn nào cũng cao trên 1m7 không” Thời gian đầu giáo viên đưa ra các ví dụ gắn liền với thực tế của các em, để các em tìm cách giải quyết tốt nhất vấn đề đó trong cuộc sống vừa là giúp các em biết giải quyết xử lý các tình huống có thể gặp trong cuộc sống vừa là để từ đó các em tìm ra được thuật toán giải bài tóan tốt nhất. Sau này khi đã quen, sau khi đưa đề bài tóan, giáo viên có thể cho các em tự liên tưởng đến các vấn đề, họat động trong cuộc sống các em. 2- PHƯƠNG PHÁP DẠY HỌC Không gì thú vị bằng trong giờ học tự mình ra đề bài sau đó tự mình giải được bài tập đó. Do đó, ngoài những bài tập do giáo viên đưa ra, nên lồng vào các tiết thực hành, làm bài tập cho tự các em ra đề rồi giải, một khi các em có thể tự ra đề là các em đã hiểu rất rõ về câu lệnh đã học và cũng đã nắm được hướng giải quyết bài toán đó nên khi giải sẽ rất nhanh và được giáo viên khích lệ kịp thời sẽ khiến các em rất phấn chấn, mong muốn ra được nhiều bài tập hơn nữa.. Ngoài ra, trong tiết học nên tổ chức cho các nhóm tự ra đề bài tập và yêu cầu các nhóm khác giải, nhóm này sẽ giải bài của nhóm kia đưa ra. Chắn chắn không khí học lúc đó sẽ rất vui, có không khí ganh đua trong học tập rất tích cực. Hoặc có những tiết những nhóm chuyên ra đề bài tập, nhóm chuyên giải bài, và sẽ hóan đổi nhiệm vụ những tiết học sau. Dưới tư duy và ngôn ngữ của học sinh lúc đó giáo viên chúng ta có thể lưu lại được nhiều bài tập hay và gần gũi với học sinh để từ đó làm ngân hàng bài tập phục vụ cho việc giảng dạy. 3-CÔNG CỤ THIẾT KẾ BÀI GIẢNG Do đạc thù của môn học nên công cụ cũng là một yếu tố mang lại sự hứng thú rất cao với những hình ảnh minh họa các bài toán gần gủi với cuộc sống từ đó giúp các em có được một cái nhìn tổng quan về một bài toán cụ thể.Bên cạnh đó sử dụng công cụ thiết kế bài giảng chúng ta tạo ra những trò chời hào hứng bổ ích trong không khí chơi mà học giúp các em củng cố lại nội dung và kiến thưc đã học một cách thật thoải mái điều đó chắc chắn mang lại kết quả cho việc tiếp thu và nhớ. Để cụ thể hóa các biện pháp trên trong một tiết học dưới đây tôi sẽ chọn một trong các dạng bài tập trong chương trình tin học lớp 11 đó là dạng bài tập về câu lệnh lặp với số lần biết trước và không biết trước trình chiếu cho các em xem một vi dụ minh họa như sau: Bình này chứa tối đa là 50 lít 1 lít Hình 1 Ca - Giáo viên sẽ đặt câu hỏi như sau: Các em quan sát hình 1 và cho biết phải đổ bao nhiêu lần thì bình sẽ được đổ đầy nước và công việc gì được làm đi làm lại nhiều lần. + Học sinh sẽ trả lời được ngay là số lần thực hiện là 50 lần và công việc được làm đi làm là công việc đổ nước vào bình. - Tiếp theo cho các em xem hình thứ 2 như sau: Bình này chứa tối đa là 50 lít ? lít Hình 2 Ca Giáo viên đặt câu hỏi như sau: + Các em có biết được số lần thực hiện công việc đổ nước không ? + Đổ khi nào thì dừng việc đổ nước? - Từ hai câu hỏi trên thì các em sẽ trả lời được là: chưa biết được số lần đổ và thực hiện công việc đổ nước cho đến khi bình đầy thì dừng việc đổ nước lại. => Từ hai hình ảnh ở trên chúng ta có thể giúp cho các em hiểu và biết được như thế nào là lặp và phân biết được lặp với số lần biết trước và lặp với số lần chưa biết trước. Khi đó giáo viên sẽ yêu cầu học sinh đưa thêm nhiều ví dụ về công việc hằng ngày của các em mà có lặp đi lặp lại rồi yêu cầu các em phân tích đó là công việc, hoạt động nào có biết trước số lần lặp còn công việc,hoạt động nào thì không biết trước số lần”. Nhóm 1: Ví dụ,“Thầy thể dục yêu cầu các em chạy vòng quanh sân trường” Nhóm 2: Phân tích,”10 lần đó là số lần lặp biết trước” Nhóm 3: Ví dụ,”Thầy yêu cầu các em chạy vòng quanh sân trường đến khi nào mệt thì nghỉ “ Nhóm 4: Phân tích,”Thầy sẽ không biết trước học sinh sẽ chạy bao nhiêu vòng,là lặp không biết trước chỉ kết thúc khi mệt.” … - Sau khi các em đã biết được như thế nào là lặp và phân biệt được hai dạng lặp. - Tiếp theo đó đưa 2 bài toán trong sách giáo khoa làm ví dụ như sau: Với a là số nguyên được nhập từ bàn phím và a > 2, xét các bài toán sau đây: Bài 1. Tính và đưa kết quả ra màn hình tổng Bài 2. Tính và đưa kết quả ra màn hình tổng Cho đến khi . Giáo viên đặt vấn đề cho các nhóm giải quyết Nhóm 1 Câu 1. Bài 1 đã xác định được lần lặp chưa? Câu 2. Em hãy viết câu lệnh lặp để tính tổng S ở bài 1? Học sinh trả lời là: đã xác định được lần lặp, cụ thể cộng dồn đến a+100. Học sinh viết: S:=1/a; for i:=1 to 100 do S:=S+1/(a+i); Nhóm 2 Câu 3. Bài 2 đã xác định được lần lặp chưa? Câu 4. Em hãy viết câu lệnh lặp để tính tổng S ở bài 2? Học sinh trả lời là: chưa xác định được lần lặp, vì với a được nhập từ bàn phím thì: 1/(a+N) < 0.0001 không xác định được cụ thể N bằng bao nhiêu. Học sinh viết: S:=1/a; N:=1; While 1/(a+N) < 0.0001 do Begin S:=S+1/(a+N); N:=N+1; End; Nhóm 3 Câu 5. Em hãy cho biết sự tương đồng của hai bài toán trên: Học sinh trả lời: Xuất phát, S được gán giá trị: 1/a; Tiếp theo, cộng dồn vào S một giá trị: 1/(a+N), với N tăng từ 1,2,3… Câu 6. Hai bài toán trên khác nhau ở điểm nào? Học sinh trả lời: Bài toán 1 đã biết số lần lặp cụ thể, bài toán 2 chưa xác định được lần lặp cụ thể. Câu 7. Có thể dùng câu lệnh while…do để viết vòng lặp tính tổng S ở bài 1 được không? Và có thể dùng câu lệnh for…do để viết vòng lặp tính tổng S ở bài 2 được không? Học sinh trả lơi: Việc dùng câu lệnh lặp while…do để thực hiện vòng lặp cho câu lệnh for…do là có thể làm được, nhưng việc dùng câu lệnh for…do để thực hiện vòng lặp cho câu lệnh while…do là không được vì: + Câu lệnh for…do sau khi thực hiện câu lệnh sau do thì biến đếm tự động tăng lên 1, trong câu lệnh while…do ta có thể thực hiện lệnh tăng biến_đếm lên 1 bằng cách thực hiện câu lệnh gán biến_đếm:=biến_đếm+1. Nhóm 4 Thực hiện việc chuyển đổi chương trình: + Câu lệnh for…do kết thúc khi biến_đếm > Giá_trị_cuối, trong câu lệnh while…do ta có thể đưa điều kiện biến_đếm>Giá_trị_cuối vào trong điều kiện kiểm tra vòng lặp while…do, cụ thể bài 1 ta có thể thực hiện như sau: S:=1/a; N:=1; While N <= 100 do Begin S:=S+1/(a+N); N:=N+1; End; + Câu lệnh while…do thực hiện câu lệnh khi điều_kiện còn đúng, nên ta không xác định được đến vòng lặp thứ bao nhiêu để điều_kiên sai vì thế ta không thể dùng vòng lặp for…do để thực hiện tính tổng S cho bài 2. Trong khi nhóm nào đó trình bày các nhóm khác theo giỏi bổ xung nếu sai xót hoàn chỉnh chương trình dựa trên hai vòng lặp đã có ở trên để giải 2 bài toán trên. Sau đó Giáo viên nhận xét tổng kết lại các vấn đề. 3. Kết quả thu được. Trong quá trình 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 nên các em tỏ ra hăng hái trong việc giơ tay phát biểu tranh luận. Đồng thời tiết học trở nên sinh động hơn và giáo viên không đóng vai trò là người xây dựng lý luận mà học sinh là người chủ động để giải quyết các vấn đề. 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…”. C. KẾT LUẬN Ngôn ngữ lập trình 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 - trong đó các nhà lập trình chuyên nghiệp đóng vai trò không nhỏ - 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, ngôn ngữ lập trình Pascal đã trở thành ngôn ngữ lập trình phổ biến nhất trên thế giới sử dụng trong lĩnh vực giảng dạy. Trong quá trình giảng dạy ngoài những nội dung chương trình các thầy cô có thể đưa ra các vấn đề,bài toán phục vụ cho nhu cầu học tập cũng như giải trí của các em như lập trình các game nhỏ,các chương trình dùng để giài các bài toán trong toán học…để 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à 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 phải từ đó các em hiểu rõ hơn về các câu lệnh trong ngôn ngữ lập trình. Đề tài của tôi trên đây có thể còn mang màu sắc chủ quan, chưa hoàn thiện do còn hạn chế về trình độ kiến thức và kinh nghiệm giảng dạy. Vì vậy, tôi rất mong nhận được sự đóng góp ý kiến quí báu của các thầy giáo, cô giáo và các bạn đồng nghiệp để ngày càng hoàn thiện hơn. Tôi xin chân thành cảm ơn./. 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. Lý thuyết và Bài tập lập trình Pascal – Quách Tuấn Ngọc. 4. Một số sáng kiến kinh nghiệm và ý kiến của đồng nghiệp .
File đính kèm:
- Sáng kiến kinh nghiệm Một số biện pháp tạo hứng thú khi học lập trình Pascal cho học sinh lớp 11.doc