Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

84 962 2
Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

Đ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

Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT Mục Lục. Trang Lời cảm ơn Các ký hiệu viết tắt: Mục lục: Phần mở đầu: Chơng I: Phơng pháp tổng quát để giải một bài toán trên MTĐT I- Xác định vấn đề bài toán: . 4 1.1- Thế nào là vấn đề bài toán? 4 1.2- Xác định bài toán: 4 1.3- Bài toán trên máy tính: . 5 1.4- Các khó khăn khi giải quyết bài toán bằng MTĐT: . 5 1.5- Một số ví dụ: 6 1.6- Một số nhận xét: 7 II- Chơng trình các cấu trúc cơ bản của CT: 2.1- Cấu trúc tổng quát của một chơng trình: 7 2.2- Một vài ví dụ đơn giản: 8 2.3- Các thành phần cơ bản cấu trúc nên chơng trình: 10 2.3.1- Cấu trúc dữ liệu: 10 2.3.2- Khai báo biến: . 10 2.3.3- Các cấu trúc dữ liệu thờng dùng: 11 2.3.4- Cấu trúc điều khiển: 13 2.3.4.1- Phép gán: 13 2.3.4.2- Cấu trúc tuần tự: . 14 2.3.4.3- Cấu trúc chọn: 14 2.3.4.4- Cấu trúc lặp: . 15 III- Thuật toán: . Trần Thị Kim Dung - 1 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT 3.1- Khái niệm thuật toán: 16 3.2- Các đặc trng của thuật toán: 16 3.2.1- Tính xác định: 17 3.2.2- Tính hữu hạn dừng: 17 3.2.3- Tính đúng đắn: . 17 3.2.4- Tính có đại lợng vào ra: 17 3.2.5- Tính phổ dụng: . 17 3.2.5- Tính hiệu quả: . 17 3.3- Mở rộng khái niệm thuật toán: 17 IV- Lập trình: 4.1- Khái niệm lập trình: . 20 4.2- Kỹ năng lập trình: 21 4.3- Phát triển chơng trình bằng cách tinh chế từng bớc: . 21 V- Chạy thử, thay đổi chơng trình: . 5.1- Chạy thử chơng trình: 22 5.2- Phân loại lỗi cách sửa lỗi: . 23 5.3- Thay đổi chơng trình: 23 5.4- Tiêu chuẩn của chơng trình: 23 5.4.1- Tính tin cậy: . 23 5.4.2- Tính uyển chuyển: . 23 5.4.3- Tính trong sáng: . 24 5.4.4- Tính hữu hiệu: 24 5.5- Kết luận: 24 Chơng II: Nghiên cứu về các sai lầm phổ biến của HS THPT khi LT bằng ngôn ngữ TURBO PASCAL. 2.1- Sơ lợc vài nét về chơngtrình Tin học THPT: . 25 2.1.1- Nội dung: . 25 2.1.2- Mức độ yêu cầu: 25 Trần Thị Kim Dung - 2 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT 2.2- Một số sai lầm phổ biến của HS THPT khi giải bài toán bằng ngôn ngữ lập trình TURBO PASCAL . 27 2.2.1- Một số lỗi thờng gặp về cú pháp: . 28 2.2.1.1- Khai báo thiếu, thừa, sai tên biến: . 28 2.2.1.2- Lỗi chính tả: 32 2.2.1.3- Khai báo sai kiểu dữ liệu: . 38 2.2.1.4- Viết sai quy cách câu lệnh: . 45 2.2.2- Lỗi trình tự: 53 2.2.3- Lỗi thuật toán: 60 Chơng III: Phân tích nguyên nhân dẫn tới các sai lầm của HS THPT Khi lập trình bằng ngôn ngữ TP- Các biện pháp dạy học nhằm hạn chế sửa chữa các sai lầm đó. 3.1- Cơ sở lí luận: . 67 3.1.1- Lí luận về phơng pháp dạy học: . 67 3.1.2- Những vấn đề cơ bản của tâm lý học dạy học: 68 3.2- Phân tích các nguyên nhân dẫn tới sai lầm của HS THPT khi lập trình bằng ngôn ngữ TP: . 69 3.2.1- Nguyên nhân 1: 69 3.2.2- Nguyên nhân 2: 72 3.2.3- Nguyên nhân 3: 72 3.3- Các biện pháp dạy học nhằm phát hiện, hạn chế sửa chữa sai lầm cho HS khi lập trình bằng ngôn ngữ TP: 73 3.3.1- Biện pháp 1: 73 3.3.2- Biện pháp 2: 75 3.3.3- Biện pháp 3: 76 Trần Thị Kim Dung - 3 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT Các ký hiệu viết tắt. MTĐT : Máy tính điện tử. NNLT: Ngôn ngữ lập trình. NNLT TP : Ngôn ngữ lập trình Turbo Pascal. THPT : Trung học phổ thông. HS THPT : Học sinh trung học phổ thông. CT : Chơng trình. LT : Lập trình. TP : Turbo Pascal. GV: Giáo viên. HS : Học sinh. SV : Sinh viên. (?): Lời giải sai lầm. (!): Phân tích sai lầm. Trần Thị Kim Dung - 4 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT CHƯƠNG I Phơng pháp tổng quát để giải một bài toán Trên máy tính Điện Tử. I- Xác định vấn đề- bài toán: 1.1- Thế nào là vấn đề bài toán : Vấn đề hiểu một cách đơn giản là những vớng mắc, khó khăn trong cuộc sống mà chúng ta cần giải quyết. Chính vì vậy mà Scorat- Một nhà hiền triết cổ đại- đã nói rằng: Cuộc sống là một chuỗi các vấn đề mà ta phải giải quyết. Thực vậy, trong cuộc sống của mình, con ngời hầu nh lúc nào cũng phải giải quyết vấn đề. Từ giải một bài toán đố, trả lời các câu hỏi thi trắc nghiệm, đến giải quyết các khó khăn trong cuộc sống, trong gia đình, cho đến giải quyết các vấn đề liên quan đến kinh tế, xã hội. Dới góc nhìn khoa học, vấn đề thờng đợc thể hiện dới dạng một bài toán. Bài toán chỉ là một trờng hợp riêng của vấn đề. Nó cũng là một loại vấn đề mà để giải quyết nó chúng ta phải ít nhiều cần đến tính toán nh các bài toán trong vật lý, toán học . Trong chơng này ta đề cập đến việc giải quyết các bài toán bằng máy tính điện tử (MTĐT). Theo nhiều nhà nghiên cứu thì một bài toán đều có thể diễn đạt theo sơ đồ chung: A B Trong đó: A : Là giả thiết, điều kiện ban đầu hoặc là cái đã cho, đã có khi bắt đầu giải bài toán. B: Là kết luận, mục tiêu cần đạt hoặc là cái phải tìm, phải làm ra khi kết thúc bài toán. : Là suy luận, giải pháp cần xác định hoặc là một chuỗi các thao tác thực hiện, cần thi hành để có đợc cái phải tìm từ cái đã cho A. 1.2- Xác định bài toán: Theo sơ đồ trên, việc cho một bài toán nghĩa là cho A cho B. Việc giải quyết bài toán có nghĩa là xuất phát từ A dùng một số hữu hạn các bớc suy luận hoặc hành động thích hợp để đạt đợc B. Trần Thị Kim Dung - 5 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT Trong thực tế, ta thờng gặp phải nhiều vấn đề mà các dữ liệu về A (giả thiết/ điều kiện ban đầu) hoặc về B (kết luận/ mục tiêu) là không hoàn toàn đầy đủ hoặc không hoàn toàn chính xác trong trờng hợp đó, việc giải quyết vấn đề trở nên khó khăn hơn rất nhiều. Thông thờng, những vấn đề loại này không có một lời giải tổng quát, nghĩa là muốn giải quyết nó, chúng ta phải căn cứ cụ thể vào các đặc điểm của từng vấn đề. Nếu xét theo tính rõ ràng của vấn đề thì có thể chia bài toán thành 4 loại nh sau: Loại các bài toán với thông tin về A B rõ ràng Loại có mục tiêu không rõ ràng. Loại có giả thiết không rõ ràng. Loại có cả giả thiết mục tiêu đều không rõ ràng. 1.3 Bài toán trên máy tính: Một bài toán trên máy tính cũng mang đầy đủ các tính chất của một bài toán tổng quát đã nói ở trên nhng có thể đợc diễn đạt theo một cách nói khác : A B Trong đó : A: Là Input hay còn gọi là thông tin vào. B: Là Output hay còn gọi là thông tin ra. : Là chơng trình tạo ra từ các lệnh cơ bản của máy tính cho phép biến đổi từ A thành B. 1.4- Các khó khăn khi giải quyết bài toán bằng MTĐT: Ngôn ngữ lập trình trên máy tính đòi hỏi phải rõ ràng, chính xác, đầy đủ đơn nghĩa. Nhng trong thực tế, không phải cách giải quyết vấn đề nào cũng mang đầy đủ các tính chất trên. Chính vì vậy việc chuyển đổi sang máy tính không phải lúc nào cũng diễn ra suôn sẻ. Một trong những khó khăn chính của việc thể hiện cách giải quyết bài toán. Tính không xác định của bài toán thờng thể hiện qua 2 yếu tố. 1)Thông tin về A (giả thiết, điều kiện ban đầu) B (kết luận, mục tiêu) không rõ ràng hoặc không đầy đủ.Ngay cả bài toán trong toán học th- ờng đợc xem là mẫu mực của diễn đạt chính xác cũng giả định rằng 1 số thông tin về A B đã biết trớc. Chẳng hạn trong bài toán sau: Giả thiết: Cho số nguyên dơng n 2 số thực a b. Kết luận: Tìm số thực x sao cho ax n + b =0. Trần Thị Kim Dung - 6 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT Bài toán trên đã giả định, ngời giải đã phải biết số nguyên dơng, số thực là gì? Cũng nh ý nghĩa của phép tính luỹ thừa, phép cộng . Nếu không biết các khái niệm này thì ta không thể hiểu đợc bài toán chứ đừng nói đến việc giải bằng máy tính. 2)Tập các quy ớc, điều kiện ràng buộc về lời giải thờng không đợc nêu đầy đủ trong vấn đề bài toán hay nói cách khác, thông báo về các điều kiện đặt ra cho cách giải ( ) thờng không đợc nêu ra một cách minh bạch. Chẳng hạn, đối với việc giải 1 bài toán lớp 12 thờng đợc hiểu ngầm là đợc phép dùng mọi kiến thức toán học trong sách giáo khoa lớp 12. 1.5- Một số ví dụ: Bài toán 1: Cho một dãy số nguyên dơng a1,a2, .,an. Hãy tìm từ dãy trên 1 dãy con (không nhất thiết phải liên tiếp) tăng có độ dài là lớn nhất. Xác định bài toán: A- Xác định thông tin vào (INPUT): - Một dãy số nguyên dơng : a1,a2, .,an - Mỗi số đợc xác định bởi 2 yếu tố là giá trị của số vị trí (số thứ tự) của số đó trong dãy. B- Xác định thông tin ra (OUTPUT): - Một dãy lấy ra từ dãy đã cho: ai1,ai2, .,aik. ( nghĩa là dãy con thu đợc sau khi gạch bỏ 1 số phần tử của dãy đã cho). - Dãy con này phải có 2 tính chất : + Tăng: ai1<ai2< .<aik. +Có độ dài là dài nhất trong các dãy có thể lấy đợc. Xác định các thao tác xử lý thông tin: - Lần lợt duyệt các phần tử của dãy đã cho. - Phải quyết định xem phải loại bỏ phần tử nào để dãy còn lại là tăng dài nhất. Bài toán 2: Cho 2 số tự nhiên a, b. Tìm ớc số chung lớn nhất của chúng. Xác định bài toán: A- Xác định thông tin vào (INPUT): - Hai số tự nhiên a,b. B- Xác định thông tin ra (OUTPUT): Trần Thị Kim Dung - 7 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT - Số tự nhiên d thoả mãn: + d là ớc của a d là ớc của b + d lớn nhất trong tập các ớc chung của a b. Xác định các thao tác xử lý thông tin: - Xây dựng một dãy hữu hạn các thao tác cho phép tính đợc d từ a b. Ví dụ: a=16, b=24 thì d=8. 1.6- Một số nhận xét: Qua các ví dụ trên ta thấy một số nhận xét quan trọng sau đây: - Việc xác định bài toán là rất quan trọng nó ảnh hởng rất lớn đến cách thức chất lợng của việc giải quyết bài toán . - Một bài toán cho dù đợc diễn đạt bằng thông báo chính xác đi đến đâu đi chăng nữa cũng phải giả định là phần lớn thông tin về A B tiềm ẩn trong đầu ngời giải. Thông báo A hoặc B chỉ là biểu tợng gợi nhớ đến các thông tin tiềm ẩn đó. - Bớc đầu tiên để xác định một bài toán là phải phát biểu lại bài toán một cách chính xác theo ngôn ngữ của riêng mình vì đó chính là cách ta tiếp cận bài toán, hiểu bài toán. - Bớc kế tiếp là tìm hiểu các thông tin Input A thông tin Output B. Tìm các mối liên hệ giữa chúng. - Nên xét một vài trờng hợp cụ thể để thông qua đó hiểu đợc cả bài toán cũng thông qua đó thấy rõ đợc các thao tác cần phải tiến hành. Thực tế cho thấy có những bài toán trong tin học chỉ có thể mô tả đợc thông qua các ví dụ. II- Ch ơng trình các cấu trúc cơ bản của ch ơng trình : 2.1 Cấu trúc tổng quát của một ch ơng trình : Ta có thể hiểu chơng trình là một sự mô tả cụ thể của các thuật giải trìu t- ợng, dựa trên các phơng tiện biểu diễn cụ thể của các cấu trúc điều khiển cấu trúc dữ liệu. Do đó, mọi vấn đề bài toán khi chuyển đổi sang giải quyết trên máy tính đều phải thông qua chơng trình. Các ngôn ngữ lập trình có những quy định khác nhau về cấu trúc của chơng trình, so với các ngôn ngữ lập trình khác cấu trúc chơng trình của TP có phần chặt chẽ hơn. TP chia chơng trình thành nhiều thành phần khác nhau, mỗi phần có một chức năng riêng nh tên Trần Thị Kim Dung - 8 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT chơng trình, phần khai báo biến, phần khai báo kiểu dữ liệu mới, phần thân chơng trình . Một chơng trình TURBO PASCAL đầy đủ gồm các thành phần sau : PROGRAM Tên_chơng_trình; (* Dòng tiêu đề*) (* Khai báo các UNIT *) U USES <unit 1>,<unit2>, .,<uinit n>; (* Khai báo các nhãn *) LABEL <label 1>, <label 2>, .,<label n>; (* Khai báo các hằng *) CONST <const 1>,<const 2>, .<const n>; (* Khai báo các kiểu dữ liệu *) TYPE <type 1>= < definition1>; <type 2>=< definition 2>; . <type n>=< definition n>; (* Khai báo các biến, mảng, bản ghi, .*) VAR <Tên biến>: <Kiểu dữ liệu của biến>; (* Khai báo các thủ tục hàm *) PROCEDURE Tên_thủ_tục (danh sách tham số hình thức); <Các câu lệnh trong thân thủ tục >; FUNCTION Tên_hàm (danh sách tham số hình thức): kiểu hàm; <Các câu lệnh trong thân hàm>; (* Thân chơng trình chính *) BEGIN <Các câu lệnh>; END. (* Kết thúc chơng trình *) Trong các thành phần nói trên chỉ có thân chơng trình là bắt buộc, các thành phần khác đợc đa vào khi thấy cần thiết. 2.2 Một vài ch ơng trình đơn giản: Ch ơng trình 1: Lập chơng trình tính điểm trung bình của hai môn toán, lý. PROGRAM ĐIEM_TB; Trần Thị Kim Dung - 9 - Lớp 39A- Công Nghệ Thông Tin Luận văn tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT USES CRT; CONST HST= 1; (* hệ số toán *) HSL= 2; (* hệ số lý*) VAR Toán,Lý,TB: Real; BEGIN Clrscr; Write ( Nhập điểm toán :); Readln( Toan); Write( Nhập điểm lý :); Readln(ly); TB:= ( Toán *hst+ Ly*hsl)/(hst+hsl); Writeln( Điểm trung bình = , TB :4:2); Readln; END. Ch ơng trình 2 : Viết chơng trình vẽ bầu trời đầy sao đến khi gõ một phím bất kỳ. PROGRAM TROI_SAO; USES CRT,GRAPH; VAR x,y: Integer; Mau: word; PROCEDURE MHĐồhoạ; VAR Gd,Gm: Integer; BEGIN Gd:= Detect; Initgraph (Gd,Gm,C:\BP\BGI); If GraphResult <> 0 then Begin Writeln( lỗi đồ hoạ ); Readln; Halt(1); End; END; BEGIN (* Thân chơng trình chính*) Clrscr; MHĐồhoạ; Randomize; Trần Thị Kim Dung - 10 - Lớp 39A- Công Nghệ Thông Tin . tốt nghiệp Các sai lầm khi LT bằngTP ở học sinh THPT 2.2- Một số sai lầm phổ biến của HS THPT khi giải bài toán bằng ngôn ngữ lập trình TURBO PASCAL. . Các sai lầm khi LT bằngTP ở học sinh THPT Các ký hiệu viết tắt. MTĐT : Máy tính điện tử. NNLT: Ngôn ngữ lập trình. NNLT TP : Ngôn ngữ lập trình Turbo Pascal.

Ngày đăng: 20/12/2013, 22:04

Hình ảnh liên quan

PROCEDURE Tên_thủ_tục (danh sách tham số hình thức);                                      &lt;Các câu lệnh trong thân thủ tục &gt;; - Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

n.

_thủ_tục (danh sách tham số hình thức); &lt;Các câu lệnh trong thân thủ tục &gt;; Xem tại trang 9 của tài liệu.
Ta có thuật toán eratosthenes( sơ đồ nh hình bên) - Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

a.

có thuật toán eratosthenes( sơ đồ nh hình bên) Xem tại trang 21 của tài liệu.
Lập trình nhập m,l từ bàn phím, sau đó đa ra màn hình giá trị điện tích Q theo các giá trị của  α  - Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

p.

trình nhập m,l từ bàn phím, sau đó đa ra màn hình giá trị điện tích Q theo các giá trị của α Xem tại trang 60 của tài liệu.
kết quả lên màn hình trớc tiếp đến mới tăng giá trị củ as và trở lên tiếp tục tính vận tốc - Phát hiện và sửa chữa sai lầm cho học sinh THPT khi lập trình bằng ngôn ngữ turbo pascal

k.

ết quả lên màn hình trớc tiếp đến mới tăng giá trị củ as và trở lên tiếp tục tính vận tốc Xem tại trang 63 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan