skkn một số lưu ý khi dạy lập trình pascal cho học sinh lớp 11

11 882 0
skkn một số lưu ý khi dạy lập trình pascal cho học sinh lớp 11

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤC A PHẦN I: MỞ ĐẦU Lý chọn đề tài .2 Mục đích nghiên cứu Đối tượng nghiên cứu .3 Phương pháp nghiên cứu B PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHỆM 2.1 Cơ sở lí luận sáng kiến kinh nghiệm 2.2 Thưc trạng vấn đề trước khí áp dụng sáng kiến kinh nghiệm 2.3 Sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề I Một số lỗi sai thường gặp học sinh lập trình Pascal 1) Sử dụng dấu ; sai vị trí 2) Không phân biệt xâu biến 3) Khai báo sai miền số cho liệu kiểu mảng 4) Khai báo biến thuộc kiểu liệu phần thân chương trình lại dùng biến với kiểu liệu khác 5) Tràn số kết tính toán vượt giới hạn 6) Không hiểu nguyên tắc làm tròn số thực .4 7) Chưa nắm nguyên lí hoạt động vòng lặp For 8) Giá trị biến điều khiển vượt miền số mảng .5 9) Chưa hiểu thứ tự ưu tiên phép toán II Giải pháp sử dụng để giải vấn đề 1) Bài tập đọc hiểu chương trình .6 2) Bài tập sửa lỗi chương trình 3) Bài tập khai báo biến .7 4) Bài tập viết thuật toán 5) Chia toán thành nhiều toán nhỏ 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, với thân, đồng nghiệp nhà trường C PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ DANH MỤC TÀI LIỆU THAM KHẢO 10 PHẦN I: MỞ ĐẦU 1) Lý chọn đề tài : • Sự phát triển mạnh mẽ vũ bão tin học làm cho xã hội có nhiều nhận thức cách tổ chức hoạt động Nhiều quốc gia giới ý thức rõ tầm quan trọng tin học có đầu tư lớn cho lĩnh vực này, đặc biệt giáo dục nâng cao dân trí tin học đào tạo nguồn nhân lực có chất lượng cao Người Việt Nam có nhiều tố chất thích hợp với ngành khoa học này, hi vọng sớm hoà nhập với khu vực giới • Trong thời đại thông tin bùng nổ ngày nay, việc lập chương trình tự hoạt động cho máy tính, máy gia dụng cần thiết Và để làm việc cần có trình nghiên cứu, học tập ngôn ngữ lập trình lâu dài, qua nhà lập trình chọn ngôn ngữ lập trình thích hợp • Tin học môn học trường phổ thông nên học sinh nhiều bỡ ngỡ tiếp cận với môn học Nội dung tin học lập trình lớp 11 nội dung lạ đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc liệu mà học sinh tiếp xúc lần đầu Chính mà học sinh dễ mắc sai lầm lập trình giải toán Nguyên nhân dẫn đến khó khăn mà học sinh thường gặp phong phú • Tuy nhiên thứ điều có điểm khởi đầu nó, với học sinh việc học ngôn ngữ lập trình Turbo Pascal khởi đầu cho việc tiếp cận ngôn ngữ lập trình bậc cao, qua giúp em hình dung đời, cấu tạo, hoạt đông ích lợi chương trình hoạt động máy tính, máy tự động… Qua giúp em có thêm định hướng, niềm đam mê tin học, nghề nghiệp mà em chọn sau Xuất phát từ sở trên, chọn đề tài “Một số lưu ý dạy lập trình Pascal cho học sinh lớp 11” 2) Mục đích nghiên cứu: • Do gặp phải khó khăn nên lập trình giải toán học sinh thường mắc nhiều lỗi, chí có lỗi em mắc phải nhiều lần không hiểu nguyên nhân xuất lỗi Vì nội dung đề tài nêu số lỗi phổ biến em thường mắc phải cách sửa lỗi • Tuy vậy, đối tượng học sinh giỏi, đa phần em hào hứng với việc học lập trình, cụ thể ngôn ngữ lập trình Turbo Pascal Do đề tài trình bày thêm số lưu ý kinh nghiệm dạy lập trình Pascal đề giúp học sinh hiểu cách nhanh chóng, nắm kiến thức kĩ lập trình Pascal số ví dụ mở rộng, nâng cao với đối tượng học sinh 3) Đối tượng nghiên cứu: • Đối tượng nghiên cứu: học sinh lớp 11A1, 11A2 , 11A3 trường THPT Nông Cống I 4) Phương pháp nghiên cứu: • Trực tiếp qua dạy PHẦN II: NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận sáng kiến kinh nghiệm • Đảng Nhà nước ta nhận thấy tầm quan trọng ngành Tin họ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 Thành to lớn ngành công nghệ ngày không vận dụng riêng giáo dục rộng rãi khắp lĩnh vực xã hội • Riêng trường phổ thông Tin học vận dụng triệt để, đặc biệt với sở vật chất đầy đủ trường THPT Nông Cống I, tất môn học khả áp dụng công nghệ thông tin vào giảng dạy Chính lợi to lớn cho riêng môn Tin học, đặc biệt chương trình Tin học 11 em bước đầu làm quen với việc lập trình Kỹ môn học 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 Mục tiêu giáo viên làm sau kết thúc chương trình lớp 11 em hiểu nắm ngôn ngữ lập trình, cụ thể ngôn ngữ lập trình Pascal Với số nội dung đề tài này, học sinh tự học, tự rèn luyện thông qua số tập, dạng tập cụ thể 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm • Qua thực tế giảng dạy trường THPT Nông Cống I năm qua, nhận thấy học đến chương trình tin học lớp 11 đa số học sinh nhận xét môn khó Các học sinh thường gặp nhiều lỗi viết chương trình ngôn ngữ lập trình Pascal • Tuy nhiên có số lượng không nhỏ học sinh yêu thích tin học thích tìm hiểu số toán, dạng toán phạm vi sách giáo khoa 2.3 Sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề I Một số lỗi sai thường gặp học sinh lập trình Pascal: 1) Sử dụng dấu ; sai vị trí - Trước Else dấu chấm phẩy - Sử dụng dấu chấm phẩy sau từ khoá câu lệnh lặp 2) ) Không phân biệt xâu biến: học sinh cần phải ý xâu đặt cặp nháy đơn biến không cần đặt cặp nháy đơn Writeln(' Nhap phan tu thu ',i,' cua mang'); Nhap phan tu thu, cua mang: xâu i: biến 3) Khai báo sai miền số cho liệu kiểu mảng Ví dụ : Nhập vào mảng số nguyên gồm số lớn nhỏ 100 In mảng vừa nhập Học sinh khai báo mảng sau: Var a: array[5 100] of integer; 4) Khai báo biến thuộc kiểu liệu phần thân chương trình lại dùng biến với kiểu liệu khác Ví dụ: Khai báo biến a thuộc kiểu nguyên, phần thân chương trình lại có câu lệnh a:=a/2; biểu thức a/2 thuộc kiểu số thực, biến a thuộc kiểu nguyên lưu trữ giá trị số thực 5) ) Tràn số kết tính toán vượt giới hạn Tính tổng số nguyên từ 50 đên 500 Var SUM,i:integer; Begin SUM:=0; For i:=50 to 500 SUM:=SUM+i; Writeln('Tong:=',SUM); End Song thực tế, tổng SUM lớn 32767 tức tràn ô nhớ Vì vậy, cần khai báo tổng SUM Real chương trình chạy 6) ) Không hiểu nguyên tắc làm tròn số số thực Trong toán học: 10 = + 5 + Tuy nhiên Pascal biểu thức sau cho kết sai: If 10/sqrt(5)=3/sqrt(5)+5/sqrt(5)+2/sqrt(5) then write(‘Dung!’) else write(‘sai!’); Khi thực vế trái máy tính tính sai số 1lần, vế phải chịu sai số lần Do kết thực không giống Đây nguyên nhân khiến cho trình tính toán gần máy tính thành tính toán sai 7) Chưa nắm nguyên lí hoạt động vòng lặp For nên dễ sai trình dùng biến vòng lặp For lồng Ví dụ: Trong toán xếp dãy không giảm có đoạn chương trình For j:=N downto For i:=1 to j-1 If a[i]>a[j] then begin t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; end; Nhiều học sinh tự sửa lại câu lệnh For j:=N downto câu lệnh For j:=2 to n do, nghĩ hai câu lệnh 8) Giá trị biến điều khiển vượt miền số mảng Ví dụ 2: Nhập vào dãy số gồm phần tử cho biết dãy vừa nhập có tạo thành cấp số cộng không? Học sinh lập trình giải toán sau: Var a: array[1 7] of integer; i,d:integer;kt:boolean; Begin Write(‘nhap day so:’); For i:=1 to Begin Write(‘a[’ ,i, ‘]’); Readln(a[i]); End; d:=a[2]-a[1];kt:=true;i:=1; while (kt) and (i=,>,1 then begin tu:=tu div d; mau:=mau div d; end; Writeln('phan so toi gian la:',tu,'/',mau); readln; END Chương trình sử dụng hàm UCLN(a,b) để tối giản phân số có tử số mẫu số nhập từ bàn phím Nhìn vào chương trình ta thấy bàn đến tính đắn công thức, nhiên chạy chương trình ta nhận kết 1/1 cho phân số Vậy lỗi đâu? Lỗi chương trình hàm UCLN tổ chức truyền theo tham biến, nên sau lời goi d:=UCLN(tu,mau), ta đông thời giá trị d, tu, mau d Để sửa lại chương trình cho ta phải sửa lại khai bao tham số hàm UCLN truyền theo tham trị ( tức bỏ từ khoá Var trước a,b) Bài tập khai báo biến: • Ví dụ: Hãy lỗi sai khai báo sau: Var K,M,I,L: Integer; C,C1: Char; i,il,j: integer; PI=3.14; Biến i khai báo lần ( Pascal không phân biệt chữ hoa chữ thường) PI thực nên khai báo phải là: Const PI=3.14; • Khai báo kiểu liệu không chuẩn ( khai báo tốn nhiều nhớ không sát với yêu cầu toán) Ví dụ: Cho dãy A gồm n số nguyên dương a1, a2,a3 an Tìm giá trị nhỏ dãy đưa vị trí số Học sinh viết khai báo sau: Const nmax=50; Var A: array[1 nmax] ò integer; n,i,min,csmin:integer; Bài toán cho ta dãy số nguyên dương học sinh khai báo Integer có nghĩa nhập giá trị cho phần tử mảng âm thoả mãn điều sai với yêu cầu toán Bài tập viết thuật toán: • Theo định nghĩa sách giáo khoa Tin học 10, thuật toán dãy hữu hạn thao tác xếp theo trình tự xác định, cho sau thực dãy thao tác từ INPUT ta nhận OUTPUT Nói cách khác, trình bày thuật toán tức bước cần thực để đến kết • Việc trình bày thuật toán trước viết chương trình quan trọng Thuật toán chương trình có khả đúng, thuật toán sai chắn cho chương trình sai Tuy nhiên phần lớn học sinh lớp 11 thường bỏ qua bước tâm lý học sinh không thích loại tập • Trong nhiều trường hợp tưởng không cần thuật toán cụ thể học sinh viết chương trình Thực tế thuật toán không viết hình thành sẵn đầu người viết • Một toán có nhiều cách giải khác ứng với cách giải ta có thuật toán Để giúp học sinh có khả nhanh chóng nắm ý tưởng người khác cần luỵên cho em biết giải toán theo thuật toán trao đổi Khả hiểu nhanh ý tưởng người khác yêu cầu hoạt động nhóm Phát triển khả phát triển phẩm chất tư quí báu để em biết hợp tác công việc, yêu cầu người lao động, sáng tạo thời đại mới, thời đại mà sản phẩm kết tinh lao động nhiều người • Với đa số học sinh nay, cần phải dành lượng thời gian thích hợp để rèn luỵên loại tập Phải cho việc viết thuật toán trở thành kĩ để em lập trình máy, không cần viết thuật toán song em hình dung thuật toán đầu Cần phải tạo cho em có ý thức viết chương trình Pascal phải tuân thủ theo trình tự sau: Bài toán Xây dựng thuật toánViết chương trình Ví dụ: Một lớp có 40 học sinh, chào cờ nhà trường yêu cầu xếp thành hàng dọc theo thứ tự từ thấp đến cao Với toán thực tế ta phát biểu lại toán toán học sau: Cho dãy 40 số nguyên, xếp dãy theo thứ tự tăng dần Khi trình bày thuật toán sau: B1: Nhập N, a1,a2, a40 B2: Gán M=40 B3: Nếu MM quay lại B3 B7: Nếu ai>ai+1 tráo đổi cho ai+1 B8: Quay lại B5 Chia toán thành nhiều toán nhỏ: Trong thực tế thường gặp vấn đề lớn mà với sức người giải gặp vấn đề vậy, ta thường nhờ bạn bè, người thân giúp tay, người lo phần việc.Khi giải toán, ta thường chia toán lớn ban đầu thành nhiều toán để việc giải toán ban đầu trở nên dễ dàng hơn, … Và vậy, cần giải vấn đề máy tính, để viết chương trình phức tạp ta viết phần chương trình giải vấn đề nhỏ Như vậy, việc phân chia toán thành nhiều toán nhỏ giúp cho việc giải toán mạch lạc, vịêc kiểm tra sai sót thuận tiện, thấy kết bước điều chỉnh kịp thời Cụ thể rèn luyện tư khả sư dụng chương trình 2.4 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, thân, đồng nghiệp học sinh • Bảng số liệu kết đạt học sinh lớp 11 năm học 2014-2015 chưa thực đề tài: STT Lớp Sỉ số Đạt yêu cầu Không đạt yêu cầu 11C1 49 70% 30% 11C2 48 62.5% 37.5% 11C5 50 44% 56% • Khi thực thực nghiệm qua đối tượng học sinh nêu trên, đa số em tránh lỗi thường gặp học lập trình PascalMột số không học sinh có tiến rõ rệt viết chương trình có sử dụng lập trình có cấu trúc • Nâng cao việc yêu thích học tin học phận học sinh số em có định hướng nghề nghiệp sau • Bảng số liệu kết đạt học sinh lớp 11 năm học 2015-2016 sau thực đề tài: STT Lớp 11A1 11A2 11A3 Sỉ số 45 43 48 Đạt yêu cầu 92% 85% 66% Không đạt yêu cầu 8% 15% 34% III KẾT LUẬN VÀ KIẾN NGHỊ • Có thể nói sáng kiến kinh nghiệm vấn đề đơn giản lại tảng vững để bước đầu em hiểu rõ yêu thích môn học Nó tài liệu hữu ích giáo viên vừa đứng lớp giảng dạy lập trình Pascal • Việc ứng dụng sáng kiến vận dụng tại trường THPT Nông Cống I đem lại hiệu trông thấy thông qua số liệu khảo sát Hy vọng sáng kiến nhiều đồng nghiệp chuyên môn trường tham khảo hướng tiếp tục nghiên cứu phát triển mở rộng để sáng kiến hoàn thiện DANH MỤC TÀI LIỆU THAM KHẢO Hội Tin học Việt Nam - Tạp chí “Tin học nhà trường” Hồ Sĩ Đàm (chủ biên)- Sách giáo khoa, sách giáo viên tin học lớp 11 GS-TS Hoàng Kiếm -“Giải toán máy tính nào” Quách Tuấn Ngọc - Ngôn ngữ lập trình Pascal XÁC NHẬN CỦA THỦ TRƯỞNG ĐƠN Thanh Hoá, ngày tháng năm VỊ 2016 Tôi xin cam đoan SKKN viết, không chép nội dung người khác 10 11 ... tượng học sinh giỏi, đa phần em hào hứng với việc học lập trình, cụ thể ngôn ngữ lập trình Turbo Pascal Do đề tài trình bày thêm số lưu ý kinh nghiệm dạy lập trình Pascal đề giúp học sinh hiểu... chương trình tin học lớp 11 đa số học sinh nhận xét môn khó Các học sinh thường gặp nhiều lỗi viết chương trình ngôn ngữ lập trình Pascal • Tuy nhiên có số lượng không nhỏ học sinh yêu thích tin học. .. mê tin học, nghề nghiệp mà em chọn sau Xuất phát từ sở trên, chọn đề tài Một số lưu ý dạy lập trình Pascal cho học sinh lớp 11 2) Mục đích nghiên cứu: • Do gặp phải khó khăn nên lập trình giải

Ngày đăng: 17/10/2017, 09:32

Hình ảnh liên quan

• Bảng số liệu kết quả đạt được của học sinh lớp 11 năm học 2015-2016 sau khi thực hiện đề tài: - skkn một số lưu ý khi dạy lập trình pascal cho học sinh lớp 11

Bảng s.

ố liệu kết quả đạt được của học sinh lớp 11 năm học 2015-2016 sau khi thực hiện đề tài: Xem tại trang 10 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan