Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 21 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
21
Dung lượng
281,17 KB
Nội dung
A MỞ ĐẦU I Lý chọn đề tài: Như ta biết Tin học môn đưa vào giảng dạy thức nhà trường phổ thơng gần Đối với em học sinh, nói hành trang để giúp em vững bước tới tương lai - tương lai hệ công nghệ thông tin bùng nổ! Phần mềm phát triển nhanh phong phú đáp ứng hầu hết lãnh vực xã hội, đời sống người Người ta, đặc biệt bạn trẻ sử dụng phần mềm biết phần mềm ứng dụng vào lãnh vực nào, sử dụng cố gắng tìm hết chức phần mềm mà nghĩ đến phần mềm sử dụng đâu ra? Ai tạo nó? Và tạo nào? Những người quan tâm đến cơng nghệ thơng tin biết lập trình viên sáng tạo nên, viết nên phần mềm mà viết nhờ vào ngơn ngữ lập trình Cũng lẽ mà Bộ Giáo dục chọn ngơn ngữ lập trình Pascal đưa vào chương trình học lớp để em biết tư duy, lập trình chắn có số em thích thú, say mê để trở thành lập trình viên chuyên nghiệp mai sau Vậy phải làm để sau kết thúc lớp em nắm hiểu ngơn ngữ lập trình, cụ thể ngơn ngữ lập trình Pascal mà ta nói Trong chương trình Pascal lớp 8, phần hay quan trọng thấy câu lệnh lặp với số lần lặp biết trước For Do đặc biệt mà lại thường gặp toán nâng cao Khi tới phần này, nhiều em mơ hồ việc lặp lại thao tác câu lệnh lặp chương trình chạy trực tiếp phần mềm Pascal hình chiếu Nên sau chạy chương trình xong, tơi ghi đoạn chương trình có chứa câu lệnh For lên bảng hướng dẫn em chạy tay nghĩa tự tính tốn ghi lại kết lần lặp lại lệnh lặp For Tôi nhận thấy em hiểu rõ phần cảm thấy thích thú Xuất phát từ cảm nhận trên, tơi chọn đề tài “TÌM HIỂU THÊM VỀ NGƠN NGỮ LẬP TRÌNH PASCAL” để sâu thêm mở rộng thêm câu lệnh lặp với số lần lặp biết trước For Do II Mục tiêu, nhiệm vụ đề tài: Mục tiêu: Sử dụng ví dụ minh họa cụ thể để học sinh hiểu gọi ‘lặp’ ‘lặp với số lần biết trước’, học sinh nắm cú pháp, ý nghĩa cấu trúc lặp Và thơng qua ví dụ đó, hướng dẩn học sinh phân biệt, nắm vững dạng lặp Nhiệm vụ: Xuất phát từ yêu cầu thực tế việc dạy học môn Tin học, hàng năm vào đầu năm đề kế hoạch cụ thể nhằm đạt hiệu tốt nhất, với nhiệm vụ sau: - Khảo sát chất lượng đầu năm học sinh để từ có phương pháp phù hợp với đối tượng - Luôn trao đổi kinh nghiệm với tổ môn sau tiết dự để đóng góp ý kiến hay bổ sung cho tiết dạy hoàn thiện - Tham khảo nhiều tài liệu Pascal để có tập rèn luyện kỹ lập trình cho học sinh III Đối tượng nghiên cứu - Căn vào tình hình thực tế, tơi thực nghiên cứu đối tượng học sinh lớp phân công gồm lớp: 8A1 8A8 IV Giới hạn đề tài Đưa vấn đề sách tin học 8, để học sinh thảo luận tính tốn qua nắm vững câu lệnh lặp với số lần biết trước hình thành học sinh kĩ phân tích, xử lý vấn đề liên quan đến vịng lặp q trình lập trình chương trình đơn giản sau V Phương pháp nghiên cứu: - Kết hợp thực tiễn giáo dục trường THCS Nguyễn Trường Tộ - Kiểm tra chất lượng học tập học sinh đầu tiết học, sau buổi học - Sử dụng máy tính, máy chiếu (projector) - Rèn luyện kỹ viết chương trình theo mức độ từ dễ đến khó B NỘI DUNG I Cơ sở lí luận: - Nhận thấy tầm quan trọng ngành Tin học, Bộ Giáo dục đưa môn học vào nhà trường phổ thông môn khoa học khác năm học 2006-2007 - Chỉ thị số 55/2008/CT- BGDĐT ngày 30/9/2008 Bộ trưởng Bộ GDĐT tăng cường giảng dạy, đào tạo ứng dụng công nghệ thông tin ngành giáo dục giai đoạn 2008-2012 Trong bối cảnh toàn ngành Giáo dục Đào tạo nỗ lực đổi phương pháp dạy học theo hướng phát huy tính tích cực chủ động học sinh hoạt động học tập Điều 24.2 Luật giáo dục nêu rõ: “Phương pháp giáo dục phổ thơng phải phát huy tính tích cực, tự giác, chủ động, sáng tạo học sinh, phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh” Cốt lõi việc đổi phương pháp dạy học trường phổ thông giúp học sinh hướng tới việc học tập chủ động, chống lại thói quen học tập thụ động II Thực trạng vấn đề nghiên cứu Qua thực tế giảng dạy trường THCS Nguyễn Trường Tộ nhiều năm, nhận thấy đa số học sinh lớp 8, nhận xét Tin học mơn học khó Khi học sinh học Bài 7_CẤU TRÚC LẶP, học sinh có nhiều khó khăn, nhầm lẫn việc xác định vịng lặp Một số thuận lợi khó khăn thực chuyên đề này: Thuận lợi: - Nhà trường trang bị sở vật chất tương đối đủ (máy chiếu) để phục vụ việc giảng dạy học tập - Giáo viên chuẩn bị nội dung giảng tốt, sử dụng phương pháp phù hợp với đối tượng học sinh; trao đổi chuyên môn với đồng nghiệp - Học sinh chuẩn bị tốt, hứng thú học tập, tích cực phát biểu Khó khăn: - Về phía nhà trường, phịng máy tính chưa đủ phục vụ cho việc thực hành hai học sinh chung máy tính Khi viết chương trình Pascal học sinh máy sáng tạo em dễ bộc lộ có nhiều giải thuật hay - Một số học sinh vùng dân tộc thiểu số, có điều kiện tiếp xúc với máy tính, mà em thao tác chậm - Một số em học yếu mơn tốn nên để giải tập đơn giản liên quan đến tốn cịn gặp khơng khó khăn III Nội dung hình thức giải pháp: Mục tiêu giải pháp: - Căn vào yêu cầu cụ thể việc dạy học Tin học - Căn vào việc nâng cao chất lượng giảng dạy ham thích học mơn tin học học sinh khối - Căn vào thực trạng sử dụng ngơn ngữ lập trình kỹ lập trình học sinh Nội dung cách thức thực giải pháp: Để truyền đạt cho học sinh nắm vững kiến thức câu lệnh lặp, kỹ lập trình thành thạo vấn đề khó khăn Chính vậy, cần phải có phương pháp giảng dạy nhằm phát huy tính tích cực, chủ động sáng tạo học sinh + Về phương pháp: Sử dụng phương pháp thuyết trình kết hợp vấn đáp Bài giảng soạn phần mềm Microsoft Powerpoint, liên kết với Pascal để chạy chương trình cụ thể + Về phương tiện: Sử dụng máy chiếu (Projector) chương trình Netop School phải có chương trình Pascal để minh họa Nội dung trọng tâm gồm ví dụ, ví dụ tốn Bài tốn ban đầu có dạng đơn giản sau phức tạp dần Mỗi tốn đưa giải pháp để thực xem cách giải tốn có điểm chung có điểm khác Ở đây, ta chạy đoạn chương trình tay (bằng tính tốn mình) để em biết ý nghĩa hoạt động câu lệnh lặp For Do Sau đó, ta đưa đoạn chương trình vào chương trình Pascal hồn chỉnh chạy cho em xem kết chạy tay có giống với chạy máy khơng có thời gian nên dùng cách chạy bước Step Over (F8) cho dễ so sánh a VÍ DỤ 1: Đoạn chương trình sau chạy xong biến a, b, i có giá trị bao nhiêu? a := 1; b := 1; FOR i := TO DO Begin a := a + i ; b := b + a ; end ; THỰC HIỆN: + Đầu tiên, ta phải xác định: - Biến đếm: i - Giá trị đầu: - Giá trị cuối: - Số lần lặp = Giá trị cuối – giá trị đầu + = -1 +1 = - Câu lệnh cần thực lệnh lặp For: a:=a+i ; b:=b+a; - Hai câu lệnh thực i ≤ + Sau xác định xong, ta tiến hành thực bước liệt kê bảng sau: Bước Diễn giải tính tốn - Tạo bảng ghi lại giá trị cho i a b i a b 1 a b 1 i a b 1 biến - Vì có biến nên ta tạo cột - i chưa có giá trị (vì chưa vào lệnh lặp Ghi giá trị biến For Do) -a=1 -b=1 Bắt đầu vào lệnh lặp For - i = (gán giá trị đầu cho i) - Vì i ≤ nên ta phải thực hiện: a : = a + i ; a = + =2 b:=b+a;b=1+2=3 - Tính tốn xong, ta điền giá trị vào bảng bên - Sau thực xong hai câu lệnh i trên, lệnh lặp For lặp lại lần thứ thao tác lần thứ trước lặp lại biến đếm i phải tăng lên - i = (i tự động tăng lên 1) - Vì i ≤ nên ta phải thực hiện: a:=a+i ; a=2+2=4 b:=b+a; b=3+4=7 - Tính tốn xong, ta điền giá trị vào bảng bên - Sau thực xong hai câu lệnh trên, lệnh lặp For lặp lại lần thứ trước lặp lại biến đếm i phải tăng lên i - i = (i tự động tăng lên 1) - Vì i ≤ nên ta phải thực hiện: a:=a+i ; a=4+3=7 b : = b + a ; b = + = 14 - Tính tốn xong, ta điền giá trị vào a b 1 7 14 bảng bên NHẬN XÉT: - Sau i = thực xong câu lệnh vòng lặp For kết thúc lệnh lặp For - Số lần lặp ta xác định ban đầu - Đoạn chương trình chạy xong, ta thu kết là: i = 3; a = 7; b = 14 - Tạo đoạn chương trình thành chương trình hồn chỉnh Pascal Nhưng thêm vào hai lệnh Writeln(i,’ ’, a,’ ’,b); Readln; để kết lên lần lặp giúp học sinh quan sát tốt dễ so sánh với kết vừa thực tay Program Vidu1; Var a, b, i : integer; Begin a : = 1; b : =1; For i := to Begin a:=a+i ; b:=b+a; Writeln(i,’ ’, a,’ ’,b); Readln; End; End - Dùng Step over để chạy chương trình bước cho học sinh quan sát - Kết chạy Pascal giống việc thực bảng - Sửa lại chương trình cho gọn yêu cầu Program Vidu1; Var a,b,i : integer; Begin a : = 1; b : =1; For i := to Begin a:=a+i ; b:=b+a; End; Writeln(i,’ ’, a,’ ’,b); Readln; End - Chạy máy chương trình vừa sửa lại cho học sinh quan sát - Sau đó, ta thay số lần lặp chương trình lên nhiều lần b VÍ DỤ 2: Hãy tính S tổng số nguyên từ đến N với N số nguyên dương S=1+2+3+…+N Với yêu cầu trên, ta viết thành đoạn chương trình sau: N := 4; S := 0; For i := To N Do S := S + i ; THỰC HIỆN: + Đầu tiên, ta phải xác định: - Biến đếm: i - Giá trị đầu: - Giá trị cuối: - Số lần lặp = Giá trị cuối – giá trị đầu + = -1 +1 = - Câu lệnh cần thực lệnh lặp For: S : = S + i ; - Câu lệnh thực i ≤ + Sau xác định xong, ta tiến hành thực bước theo bảng sau: Bước Diễn giải tính tốn - Tạo bảng ghi lại giá trị cho Ghi giá trị biến i S i S biến - Vì có biến cần điền giá trị nên ta tạo cột -S=0 - i chưa có giá trị chưa thực lệnh lặp For Bắt đầu vào lệnh lặp For - i = (gán giá trị đầu cho i) - Vì i ≤ nên ta phải thực hiện: 1 trên, lệnh lặp For lặp lại lần thứ i S thao tác lần thứ trước 1 lặp lại biến đếm i phải tăng lên trên, lệnh lặp For lặp lại lần thứ i S thao tác lần thứ trước 1 lặp lại biến đếm i phải tăng lên - i = (i tự động tăng lên 1) S:=S+i ;S=0+1=1 - Tính tốn xong, ta điền giá trị vào bảng bên - Sau thực xong hai câu lệnh - i = (i tự động tăng lên 1) - Vì i ≤ nên ta phải thực hiện: S:=S+i ;S=1+2=3 - Tính tốn xong, ta điền giá trị vào bảng bên - Sau thực xong hai câu lệnh - Vì i ≤ nên ta phải thực hiện: S:=S+i ;S=3+3=6 - Tính tốn xong, ta điền giá trị vào bảng bên 10 - Sau thực xong hai câu lệnh trên, lệnh lặp For lặp lại lần thứ i S thao tác lần thứ trước 1 lặp lại biến đếm i phải tăng lên - i = (i tự động tăng lên 1) - Vì i ≤ nên ta phải thực hiện: 10 S : = S + i ; S = + = 10 - Tính tốn xong, ta điền giá trị vào bảng bên NHẬN XÉT: - Sau i = thực xong câu lệnh vịng lặp For kết thúc lệnh lặp For - Số lần lặp ta xác định ban đầu - Đoạn chương trình chạy xong, ta thu kết là: S = 10 - Tạo đoạn chương trình thành chương trình hồn chỉnh Pascal Nhưng thêm vào hai lệnh Writeln(i,’ lên lần lặp Program Vidu2; Var S, i : integer; Begin S : = 0; For i := to Begin S:=S+i ; Writeln(i,’ ’, S); Readln; End; End 11 ’, S); Readln; để kết - Dùng Step over để chạy chương trình bước cho học sinh quan sát - Kết chạy Pascal giống việc thực bảng - Sửa lại chương trình cho yêu cầu Program Vidu2; Var S, i : integer; Begin S : = 0; For i := to S : = S + i ; Writeln(i,’ ’, S); Readln; End - Sau đó, ta thay số lần lặp chương trình lên nhiều lần - Chạy lại chương trình máy cho học sinh quan sát c VÍ DỤ 3: Sử dụng hai vòng lặp lồng Đoạn chương trình sau chạy xong biến i, j, a, b có giá trị bao nhiêu? a := 1; b := 1; FOR i := TO DO Begin FOR j := TO DO a := a + j ; b := b + a ; End ; THỰC HIỆN: + Đoạn chương trình có hai câu lệnh lặp + Lệnh For (j) lồng lệnh For (i) + Lệnh For (i): - Biến đếm: i - Giá trị đầu: - Giá trị cuối: 12 - Số lần lặp = Giá trị cuối – giá trị đầu + = - +1 = - Câu lệnh cần thực lệnh lặp For gồm: Câu lệnh lặp For (j) b := b + a ; - Câu lệnh thực i ≤ + Lệnh For (j): - Biến đếm: j - Giá trị đầu: - Giá trị cuối: - Số lần lặp = Giá trị cuối – giá trị đầu + = -1 +1 = - Câu lệnh cần thực lệnh lặp For: a := a + j ; - Câu lệnh thực j ≤ + Một lần lặp For (i) thực lần lặp For (j) Như vậy, lệnh For (i) lặp lần lệnh For (j) lặp lần thực tất lần ( x = 6) + Sau xác định xong, ta tiến hành thực bước theo bảng sau: Bước Diễn giải tính toán - Tạo bảng ghi lại giá trị cho biến - Vì có biến cần điền giá trị nên ta tạo cột -a=1 -b=1 - i j chưa có giá trị chưa thực lệnh lặp For 13 Ghi giá trị biến i j a b 1 Bắt đầu vào lệnh lặp For (i) - i = (gán giá trị đầu cho i) i j Bắt đầu vào lệnh lặp For (j) - j = (gán giá trị đầu cho j) a b 1 i j a b 1 - a := a + j; a = + = - b =1 chưa hết lần lăp For (j) - Tính tốn xong, ta điền giá trị vào bảng bên - i = (vì câu lệnh For (i) chưa thực xong) - Sau thực xong câu lệnh a:= a + j, lệnh lặp For (j) lặp lại lần thứ với thao tác lần thứ trước lặp i j a b 1 lại biến đếm j phải tăng lên - j = (j tự động tăng lên 1) - a := a + j; a = + = - b =1 chưa hết lần lăp For (j) - Tính tốn xong, ta điền giá trị vào bảng bên - i = (vì câu lệnh For (i) chưa thực xong) - Sau thực xong câu lệnh a:= a + j, lệnh lặp For (j) lặp lại lần thứ với thao tác lần thứ trước lặp lại biến đếm j phải tăng lên - j = (j tự động tăng lên 1) - a := a + j; a = + = - Vòng lặp For (j) kết thúc lệnh b := b + a; 14 thực - b := b + a; b = + = - Tính tốn xong, ta điền giá trị vào bảng bên - Lệnh lặp For lặp lại lần thứ thao tác lần thứ trước lặp lại biến i j đếm i phải tăng lên a b 1 -i=1 - Vòng lặp For (j) lại khởi động từ đầu - j = (gán giá trị đầu cho j) - a := a + j; a = + = 1 8 xong) i j a b - Sau thực xong câu lệnh a:= a + j, lệnh lặp For (j) lặp lại lần thứ với thao tác lần thứ trước lặp lại biến đếm j phải tăng lên 1 8 - j = (j tự động tăng lên 1) 10 i j a b 1 - b = chưa hết lần lăp For (j) - Tính tốn xong, ta điền giá trị vào bảng bên - i = (vì câu lệnh For (i) chưa thực - a := a + j; a = + = 10 - b =8 chưa hết lần lăp For (j) - Tính tốn xong, ta điền giá trị vào bảng bên - i = (vì câu lệnh For (i) chưa thực xong) - Sau thực xong câu lệnh a:= a + j, lệnh lặp For (j) lặp lại lần thứ với thao tác lần thứ trước lặp lại biến đếm j phải tăng lên 15 - j = (j tự động tăng lên 1) 1 8 - a := a + j; a = 10 + = 13 10 - Vòng lặp For (j) kết thúc lệnh b := b + a; 13 21 thực - b := b + a; b = 13 + = 21 - Tính tốn xong, ta điền giá trị vào bảng bên NHẬN XÉT: - Sau i = thực xong câu lệnh vòng lặp For (i) kết thúc hai lệnh lặp For - Số lần lặp tất lần cho hai vòng lặp ta xác định ban đầu - Đoạn chương trình chạy xong, ta thu kết là: i = 1; j = 3; a = 13; b=21; - Tạo đoạn chương trình thành chương trình hồn chỉnh Pascal Program Vidu3; Vari,j,a,b : integer; Begin a : = 1; b := 1; For i := to Begin For j := to Begin a := a + j; If j < then Begin Writeln(i, j, a, b); Readln; 16 End; b:=b+a ; Writeln(i, j, a, b); Readln; End; End - Dùng Step over để chạy chương trình bước cho học sinh quan sát - Kết chạy Pascal giống việc thực bảng - Sửa lại chương trình cho gọn yêu cầu Program Vidu3; Var i, j, a, b : integer; Begin a : = 1; b := 1; For i := to Begin For j := to a := a + j; b:=b+a ; writeln(i, j, a, b); Readln; End; End - Ta thay số lần lặp chương trình lên nhiều lần cho học sinh thực bảng cửu chương (vì có dạng hai vịng lặp lồng nhau) - Chạy lại chương trình cho học sinh quan sát Mối quan hệ giải pháp, biện pháp: Pascal môn học trừu tượng, khó địi hỏi trí tuệ, tư cao Nhưng với trình độ nhận thức học sinh lớp 8, Bộ Giáo dục đưa chương trình khơng cao giống giới thiệu cho học sinh biết 17 ngôn ngữ lập trình, biết lập trình qua khơi lên nguồn sáng tạo cho em học sinh thực u thích, say mê mơn học Khi em nắm rõ phần lý thuyết, ý nghĩa câu lệnh em cố gắng tư thực cách tự tin Có em gặp thắc mắc trở ngại em tìm gặp bạn bè, thầy cô để thảo luận, trao đổi để giải khó khăn làm quen với Pascal Các em tìm hiểu sách viết Pascal số trang web, diễn đàn mạng để học hỏi them sưu tầm thêm số tập phù hợp với chương trình học từ đơn giản đến nâng cao Khi gặp tốn có câu lệnh For khó hiểu, em thực tay theo cách mà vừa thực trên, sau kiểm chứng lại bằng, chương trình hoàn chỉnh Kết khảo nghiệm, giá trị khoa học vấn đề nghiên cứu, phạm vi hiệu ứng dụng: Bản thân trực tiếp vận dụng giải pháp vào lớp dạy thấy phương pháp mang lại hiệu cách thiết thực, chất lượng môn tăng dần Các em học sinh yếu trước đây, đặc biệt số em học sinh dân tộc thiểu số tự suy nghĩ làm mạnh dạn phát biểu xây dựng Trước đây, mơn Pascal em ngại học độ trừu tượng nên số lượng học sinh hiểu bài, trung bình khoảng 30% số thay đổi lên khoảng 70% đến 80% Đó điều đáng mừng cho giáo viên dạy môn Pascal lớp Một điều đầu năm giới thiệu môn Pascal cho em biết độ khó, độ hay em cho biết anh chị lớp trước “trấn an tư tưởng” bắt đầu làm quen với Pascal nên em chuẩn bị tinh thần để tiếp hội môn học Đây điều mà mừng em để tâm tới không câu lệnh lặp mà em phân tích kỹ mà phần khác chương trình Pascal lớp 18 C KẾT LUẬN VÀ KIẾN NGHỊ I Kết luận: Ngơn ngữ lập trình nói chung đóng vai trị quan trọng việc xây dựng chương trình ứng dụng để phục vụ cho sống Nhờ phát triển tin học - nhà lập trình chun nghiệp đóng vai trị không nhỏ mà hầu hết lĩnh vực xã hội ứng dụng tin học để giải cơng viêc nhanh, hiệu xác Đề tài mang tính thực tiễn cao cụ thể là: Trong tiết học em học sinh chủ động để tìm tịi lại kiến thức học qua giải vấn đề giáo viên đặt Trong trình giải vấn đề, giáo viên sai lầm mà em học sinh mắc phải hiểu không rõ vấn đề nhằm giúp cho em hiểu rõ câu lệnh Trên số phương pháp sử dụng q trình giảng dạy mơn Tin học trình thực đề tài Do lần làm chuyên đề nên chắn khơng tránh khỏi thiếu sót Rất mong đóng góp q thầy để chun đề tơi hồn thiện II Kiến nghị: Qua số phương pháp tập giúp em học sinh lớp có thêm kiến thức vòng lặp với số lần biết trước kỹ viết chương trình số tập câu lệnh For…do…ở mức từ dễ đến khó Đối với giáo viên: Cần tích cực trao dồi, tự học thu thập thêm tài liệu để có phương pháp hay hướng dẫn em hiểu sâu vòng lặp với số lần biết trước_câu lệnh For…do…, đồng thời gây ý, tạo hứng thú cho học sinh lớp u thích, đam mê lập trình Pascal TÀI LIỆU THAM KHẢO Sách giáo khoa tin học Sách giáo viên tin học 19 Các vấn đề lập trình Pascal tác giả Trần Đức Huyên Hướng dẫn thực chuẩn kiến thức, kĩ môn Tin học Bộ giáo dục đào tạo Một số kinh nghiệm ý kiến đồng nghiệp Buôn Hồ, ngày 10 tháng 10 năm 2018 Người biên soạn Nguyễn Thế Phi MỤC LỤC A Mở đầu I Lý chọn đề tài II Mục tiêu, nhiệm vụ đề tài 20