Đăng ký Đăng nhập
Trang chủ Xây dựng hệ thống bài tập trong dạy học lập trình pascal tin học 11 (2018)...

Tài liệu Xây dựng hệ thống bài tập trong dạy học lập trình pascal tin học 11 (2018)

.PDF
71
164
145

Mô tả:

TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN THỊ HỒNG LOAN XÂY DỰNG HỆ THỐNG BÀI TẬP TRONG DẠY HỌC LẬP TRÌNH PASCAL TIN HỌC 11 KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Sƣ phạm Tin học HÀ NỘI – 2018 TRƢỜNG ĐẠI HỌC SƢ PHẠM HÀ NỘI 2 VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN THỊ HỒNG LOAN XÂY DỰNG HỆ THỐNG BÀI TẬP TRONG DẠY HỌC LẬP TRÌNH PASCAL TIN HỌC 11 KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Sƣ phạm Tin học Ngƣời hƣớng dẫn khoa học ThS. Nguyễn Văn Hà HÀ NỘI – 2018 LỜI CẢM ƠN Sau một thời gian dài nghiên cứu, cố gắng để học tập và làm việc một cách nghiêm túc, em đã hoàn thành bài khóa luận với đề tài “Xây dựng hệ thống bài tập trong dạy học lập trình pascal Tin học 11”, ngoài sự cố gắng của bản thân, em xin bày tỏ lòng biết ơn đến những người đã giúp đỡ, bên cạnh em suốt thời gian qua. Đầu tiên, em xin bày tỏ lòng biết ơn chân thành và sâu sắc nhất của mình tới thầy giáo ThS. Nguyễn Văn Hà đã tận tình giúp đỡ, hướng dẫn và chỉ bảo em trong suốt quá trình thực hiện đề tài. Ngoài ra, em xin chân thành cảm ơn các thầy, cô giáo viện CNTT trường Đại học Sư phạm Hà Nội 2 đã tạo điều kiện thuận lợi cho em trong suốt quá trình học tập, nghiên cứu. Trong quá trình khảo sát, cũng như trong quá trình làm khóa luận, do lần đầu tiên làm quen với công tác nghiên cứu khoa học, trình độ lý luận cũng như kinh nghiệm thực tiễn còn hạn chế, mặc dù đã rất cố gắng nhưng vẫn khó trách khỏi sai sót, em rất mong các thầy cô bỏ qua. Em rất mong nhận được những ý kiến đóng góp quý báu để em tích lũy thêm được nhiều kinh nghiệm và khóa luận được hoàn thiện hơn. Em xin chân thành cảm ơn! Hà Nội, tháng 5 năm 2018 Sinh viên Nguyễn Thị Hồng Loan LỜI CAM ĐOAN Tên em là: Nguyễn Thị Hồng Loan. Sinh viên lớp: K40B Sư phạm Tin học – Viện CNTT. Trƣờng: Đại học Sư phạm Hà Nội 2. Em xin cam đoan đây là công trình nghiên cứu của riêng em và được sự hướng dẫn khoa học của thầy giáo ThS. Nguyễn Văn Hà. Trong khóa luận này em có tham khảo những tài liệu có liên quan đã được hệ thống trong mục tài liệu tham khảo. Và nó không trùng với kết quả của bất cứ tác giả nào khác. Hà Nội, tháng 5 năm 2018 Sinh viên Nguyễn Thị Hồng Loan MỤC LỤC DANH MỤC VIẾT TẮT LỜI MỞ ĐẦU CHƢƠNG 1 CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI ........................4 1.1 Lí luận về bài toán Toán học .........................................................................4 1.1.1 Bài toán và lời giải của bài toán ..............................................................4 1.1.2 Phương pháp tìm lời giải bài toán Toán học ...........................................6 1.2 Lí luận về bài toán Tin học ............................................................................7 1.2.1 Bài toán Tin học ......................................................................................7 1.2.2 Phương pháp tìm thuật giải bài toán Tin học: .........................................8 1.3 Đặc điểm năng lực nhận thức và năng lực lập trình của HS ở THPT .....12 1.4 Phân loại, vị trí và ý nghĩa của bài tập Tin học .........................................13 1.4.1 Phân loại ................................................................................................13 1.4.2 Vị trí ......................................................................................................13 1.4.3 Ý nghĩa ..................................................................................................14 1.5 Biện pháp sƣ phạm khi dạy học bài tập lập trình Tin học .......................14 1.5.1 Thông hiểu các thuật toán cơ bản .........................................................14 1.5.2 Phân tích tìm thuật toán giải bài toán ....................................................15 1.5.3 Lập trình và test chương trình với bộ dữ liệu cũ ...................................15 1.5.4 Khai thác bài toán .................................................................................16 CHƢƠNG 2 XÂY DỰNG HỆ THỐNG BÀI TẬP DẠY HỌC KĨ NĂNG LẬP TRÌNH PASCAL CHO HỌC SINH LỚP 11 TRƢỜNG THPT ........................20 2.1 Tổng quan các bài tập lập trình Tin học 11 THPT ...................................20 2.1.1 Nội dung chương trình các bài tập lập trình .........................................20 2.1.2 Một số nguyên tắc xây dựng hệ thống bài tập nhằm củng cố kiến thức và phát triển tư duy sáng tạo .....................................................................................21 2.2 Xây dựng hệ thống bài tập dạy học lập trình Pascal ở lớp 11 trƣờng THPT ........................................................................................................................23 2.2.1 Hệ thống bài tập “Cấu trúc rẽ nhánh” ...................................................23 2.2.2 Hệ thống bài tập “Cấu trúc lặp” ............................................................29 2.2.3 Hệ thống bài tập “Kiểu mảng” ..............................................................34 2.2.4 Hệ thống bài tập “Kiểu xâu” .................................................................44 2.2.5 Hệ thống bài tập “Kiểu tệp” ..................................................................51 KẾT LUẬN CHƢƠNG 2 ...................................................................................61 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN .............................................................62 TÀI LIỆU THAM KHẢO ......................................................................................64 DANH MỤC VIẾT TẮT CNTT Công nghệ thông tin GV Giáo viên HS Học sinh NNLT Ngôn ngữ lập trình PPDH Phương pháp dạy học PT Phổ thông THPT Trung học phổ thông LỜI MỞ ĐẦU 1. Lý do chọn đề tài Đất nước ta đang trong giai đoạn đẩy mạnh công nghiệp hóa, hiện đại hóa và hội nhập quốc tế, nguồn lực con người trở nên có ý nghĩa quan trọng quyết định đến sự thành công của công cuộc phát triển đất nước. Mục tiêu của giáo dục phổ thông đã đề ra: “Mục tiêu của giáo dục phổ thông là giúp HS phát triển toàn diện về đạo đức, trí tuệ, thể chất, thẩm mỹ và các kĩ năng cơ bản, phát triển năng lực cá nhân, tính năng động và sáng tạo, hình thành nhân cách con người Việt Nam xã hội chủ nghĩa, xây dựng tư cách và trách nhiệm công dân; chuẩn bị cho HS tiếp tục học lên hoặc đi vào cuộc sống lao động, tham gia xây dựng và bảo vệ Tổ quốc”. Chính vì vậy, giáo dục có vai trò vô cùng quan trọng trong việc xây dựng một thế hệ con người Việt Nam mới phát triển toàn diện, có lý tưởng, đạo đức, có tính tổ chức và kỷ luật, làm chủ tri thức hiện đại, có tư duy sáng tạo, đáp ứng yêu cầu xây dựng và bảo vệ tổ quốc. Trong thực tế, Tin học là môn học vừa mang tính khoa học vừa mang tính kĩ thuật, ngành Tin học đang phát triển như vũ bão, ngày càng xâm nhập vào các ngành khoa học công nghệ và đời sống, môn Tin học phản ánh vào nhà trường những tri thức và phương pháp phổ thông cơ bản nhất trong những thành tựu cơ bản của nhân loại, sắp xếp chúng thành một hệ thống logic đảm bảo tính khoa học, tính tư tưởng, tính thực tiễn, và tính sư phạm, phù hợp với điều kiện hoàn cảnh của đất nước, đáp ứng được yêu cầu của cách mạng khoa học công nghệ ngày nay, phục vụ công cuộc công nghiệp hóa, hiện đại hóa đất nước, chuẩn bị cho nền kinh tế tri thức. Tin học 11 giúp học sinh hình thành nên những kiên thức cơ bản và quan trọng nhất, chuẩn bị cho các em một hành trang để bước vào đời hoặc học lên những bậc học cao hơn. Đó cũng chính là chiếc chìa khoá mở cửa cho tương lai. Hiện nay môn Tin học đã trở thành môn học bắt buộc trong nhà trường phổ thông, đây là một thuận lợi lớn cho việc tiến hành giảng dạy. Tuy nhiên, thực tế ở trường phổ thông nhà trường và HS chưa chú ý nhiều đến môn Tin học. Vì vậy đa số HS lớp 11 THPT còn non kém về kĩ năng lập trình. Trong chương trình môn Tin học lớp 11 trường THPT, kĩ năng được đề cập đến và quan trọng nhất đó là những kĩ năng lập trình giải quyết các bài toán. Nhờ có kĩ năng này mà HS có được những trải nghiệm thú vị, thấy được máy tính có thể giúp con người giải quyết các bài toán, các công việc một cách tự động bằng chương trình, chính những nhận thức và kĩ năng lập trình này sẽ kích thích HS hứng thú hơn trong việc tìm tòi về thuật toán về NNLT. Thấy được tầm quan trọng của việc dạy và học môn Tin học nói chung và Tin học 11 nói riêng, đồng thời phát huy cao hơn nữa hiệu quả trong giảng dạy theo tinh thần đổi mới sách giáo khoa, với mong muốn đóng góp một phần rất nhỏ về PPDH một môn học còn rất mới mẻ trong nhà trường THPT, tôi tiến hành nghiên cứu đề tài: “Xây dựng hệ thống bài tập trong dạy học lập trình Pascal Tin học 11”, nhằm giúp các em có thể phân loại được các dạng bài tập phù hợp với khả năng và mục đích của mình. 2. Mục đích nghiên cứu Nghiên cứu tổ chức dạy học có hệ thống các bài tập lập trình Pascal nhằm phát triển kĩ năng lập trình Tin học cho HS lớp 11 trường THPT. Góp phần khơi dậy lòng yêu thích và hứng thú khi học môn Tin học của học sinh. Đặc biệt là giúp các em nhìn thấy những ứng dụng đơn giản, cụ thể, gần gũi, thiết thực của lập trình trong môi trường học tập của bản thân. 3. Nhiệm vụ nghiên cứu Nghiên cứu tổng hợp cơ sở lí luận về hình thành và phát triển kĩ năng trong giảng dạy lập trình Tin học ở trường THPT. Nghiên cứu cách tổ chức dạy học các bài tập lập trình Tin học để phát triển kĩ năng lập trình cho HS. Đề xuất những biện pháp phát triển kĩ năng lập trình. Phân loại, phân tích hệ thống các bài toán, các phương pháp giải các bài toán Tin học trong chương trình Tin học 11. 4. Phƣơng pháp nghiên cứu Một số phương pháp nghiên cứu được sử dụng trong đề tài đó là: Tìm hiểu, phân tích, tổng hợp những tài liệu về lý luận dạy học Tin học, về kĩ năng lập trình Tin học. Phương pháp ứng dụng tổ chức dạy học bài tập lập trình cho HS lớp 11 trường THPT. Phân tích đánh giá mức độ học sinh hiểu vận dụng, giải được các bài toán trong các môn học khác, từ đó xây dựng, giới thiệu các bài toán phù hợp với từng đối tượng học sinh. 5. Ý nghĩa khoa học và thực tiễn của đề tài Ý nghĩa khoa học Tìm hiểu những đặc điểm và yêu cầu cần có của học sinh. Từ đó biên soạn hệ thống bài tập dạy hoc lập trình Pascal Tin học và áp dụng các phương pháp hướng dẫn giải bài tập phù hợp giúp bồi dưỡng học sinh giỏi. Ý nghĩa thực tiễn Kết quả nghiên cứu có thể sẽ là một tài liệu tham khảo cho việc dạy học lập trình nói chung và lập trình Pascal Tin học 11 nói riêng. Nếu xây dựng được một hệ thống bài tập khoa học và tổ chức dạy học có hiệu quả thì sẽ phát triển được năng lực tự giải quyết vấn đề, kỹ năng lập trình, tính tích cực, sáng tạo cho học sinh, qua đó nâng cao chất lượng dạy và học lập trình Pascal Tin học 11. 6. Cấu trúc khóa luận Ngoài phần mở đầu, kết luận và hướng phát triển, tài liệu tham khảo, nội dung khóa luận gồm 2 chương: Chương 1: Cơ sở lý luận và thực tiễn của đề tài. Chương 2: Xây dựng hệ thống bài tập dạy học lập trình Pascal cho học sinh lớp 11 trường THPT. CHƢƠNG 1 CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN CỦA ĐỀ TÀI 1.1 Lí luận về bài toán Toán học 1.1.1 Bài toán và lời giải của bài toán 1.1.1.1 Bài toán Theo G.POLYA. Bài toán là việc đặt ra sự cần thiết tìm kiếm một cách có ý thức các phương tiện thích hợp để đạt đến một mục đích nhất định trông thấy rõ ràng, nhưng không thể đạt được ngay. Trên cơ sở định nghĩa khái quát của G.POLYA cho ta thấy rằng: Bài toán là sự đòi hỏi phải đạt tới mục đích nào đó. Như vậy, bài toán có thể đồng nhất với một số quan niệm khác nhau về bài toán như đề toán, bài tập, ... Trong định nghĩa về bài toán ở trên ta thấy có hai yếu tố chính hợp thành của một bài toán: - Bài toán luôn có mục đích xác định. - Sự đòi hỏi người khác thực hiện mục đích của bài toán (giao nhiệm vụ hoặc yêu cầu người khác thực hiện mục đích của bài toán) Ví dụ 1: “Số tự nhiên n  N và n < 10.” - Đây không phải là bài toán vì thiếu sự đòi hỏi người khác thực hiện mục đích. - Đây không phải là mệnh đề toán học vì không có giá trị chân lý đúng hay sai. - Đây là một hàm mệnh đề vì đó là câu có chứa biến số n và khi thay biến bởi hằng ta được mệnh đề. Ví dụ 2: “Tìm n  N và n < 10.” Đây là bài toán vì trong đó bao gồm hai yếu tố cơ bản. - Sự đòi hỏi của bài toán thể hiện qua cụm từ “tìm”. - Mục đích của bài toán thể hiện. “n  N và n < 10.” 4 1.1.1.2 Lời giải bài toán Lời giải của bài toán được hiểu là tập hợp hữu hạn, sắp thứ tự các thao tác cần thực hiện để đạt tới mục đích đã đặt ra trong bài toán. Như vậy ta thống nhất các thuật ngữ bài giải, cách giải và đáp án của bài toán đều theo nghĩa lời giải ở trên. Một bài toán có thể có lời giải như sau. - Một lời giải; - Nhiều lời giải; - Không có lời giải. Giải được một bài toán được hiểu là tìm ra và trình bày đúng ít nhất một lời giải của bài toán trong trường hợp bài toán có lời giải, hoặc lý giải được bài toán là không giải được trong trường hợp nó không có lời giải. Ví dụ 1: Tìm các lời giải của bài toán cổ sau. “Vừa gà vừa chó, Bó lại cho tròn, Ba mươi sáu con, Một trăm chân chẵn. Tính số gà, số chó?” Cách giải:. Giả thiết tạm Giả sử tất cả 36 con vật đều là gà. Vậy số chân của 36 con vật là 2  36 = 72 (chân) Tổng số chân hụt đi so với điều kiện thực tế của bài toán là 100 – 72 = 28 (chân) Ta thấy 28 chân thiếu hụt so với điều kiện thực của bài toán là do ta giả sử tất cả 36 con vật đều là gà. Như vậy, ta đã bỏ đi ở mỗi con chó là 2 chân. Vậy số con chó là 28 : 2 = 14 (con chó) 5 Số con gà là 36 – 14 = 22 (con gà) Đáp số: Số gà là 22 con; số chó là 14 con. 1.1.2 Phƣơng pháp tìm lời giải bài toán Toán học Bốn bước giải toán của G.POLYA Bƣớc 1.Tìm hiểu đề Trước khi giải một bài toán ta phải phân tích nội dung của bài toán, rồi tìm hiểu thấu đáo nội dung của bài toán bằng những câu hỏi sau: - Những cái gì đã biết? Cái gì chưa biết của bài toán? - Tìm những yếu tố cố định, những yếu tố không đổi, những yếu tố thay đổi và biến thiên của bài toán. - Xác định các ẩn và các giá trị hằng của bài toán. - Dữ kiện của bài toán có đủ để xác định cái chưa biết hay không? Bƣớc 2. Xây dựng chƣơng trình giải Để tìm được lời giải cho bài toán một cách có hiệu quả thì bước xây dựng chương trình giải là bước quyết định, đồng thời đây cũng là bước khó khăn nhất. Bước xây dựng chương trình giải đòi hỏi chúng ta biết huy động các kiến thức đã biết để xem xét, phân tích, so sánh, bác bỏ, tổng hợp. Từ đó mới có thể thiết lập được mối liên hệ giữa cái đã cho và cái cần tìm. Trả lời một số câu hỏi: – Bạn đã gặp bài toán nào tương tự thế này chưa? Hay ở một dạng hơi khác? – Bạn có biết một định lý, một bài toán liên quan đến bài toán này không? – Hãy xét kỹ cái chưa biết, và thử nhớ xem có bài toán nào có cùng cái chưa biết không? – Hãy xét kỹ các khái niệm có trong bài toán và nếu cần hãy quay về các định nghĩa. 6 – Đây là bài toán mà bạn đã có lần giải nó rồi, bạn có thể áp dụng được gì ở nó? Phương pháp? Kết quả? Hay phải đưa thêm yếu tố phụ vào mới áp dụng được? – Nếu bạn chưa giải được bài toán này, hãy thử giải một bài toán phụ dễ hơn có liên quan, một trường hợp riêng, tương tự, tổng quát hơn? Hãy giữ lại một phần giả thiết khi đó ẩn được xác định đến chừng mực nào? Từ các điều đó bạn có thể rút ra được điều gì có ích cho việc giải bài toán? Với giả thiết nào thì bạn có thể giải được bài toán này? – Bạn đã tận dụng hết giả thiết của bài toán chưa? Bƣớc 3. Thực hiện chƣơng trình giải Thực hiện lời giải mà bạn đã đề ra. Bạn có nghĩ rằng các bước là đúng? Bạn có thể chứng minh nó đúng? Đây là quá trình tổng hợp lại của bước xây dựng chương trình giải, ta dùng các phép suy luận hợp logic xuất phát từ giả thiết của bài toán hay các mệnh đề Toán học đã biết ta suy dần ra đi tới kết luận của bài toán. Trong bước thực hiện chương trình giải một bài toán cần chú ý phân biệt sự khác nhau giữa những điều đã thấy được và những điều suy ra được chính là điều chứng minh được. Bƣớc 4. Kiểm tra lời giải và khai thác bài toán Bạn có nghĩ ra một hướng khác để giải bài toán? Lời giải có ngắn hơn, đặc sắc hơn. Bạn đã áp dụng cách giải đó cho bài toán nào chưa? Bạn có thể áp dụng bài toán này để giải các bài toán khác đã biết? 1.2 Lí luận về bài toán Tin học 1.2.1 Bài toán Tin học - Bài toán là những việc nào đó ta muốn máy tính thực hiện. - Tìm hiểu nội dung bài toán: Khi dùng máy tính giải toán cần quan tâm Input và Output Input : Thông tin nào đưa vào máy tính. 7 Output : Thông tin đưa ra từ máy tính. Ví dụ 1: Tìm ước số chung lớn nhất của 2 số tự nhiên M, N Input : Cho 2 số tự nhiên M, M Output: Một số UC là ước số chung lớn nhất của 2 số M và N Ví dụ 2: Kiểm tra 1 số tự nhiên N có phải là nguyên tố ? Input : Cho số tự nhiên N Output: Số N là nguyên tố hay không là số nguyên tố 1.2.2 Phƣơng pháp tìm thuật giải bài toán Tin học: Bƣớc 1: Tìm hiểu nội dung bài toán Input → Process → Output (Dữ liệu vào → Xử lý → Kết quả ra) Tìm hiểu nội dung bài toán hay nói chính xác hơn là ta đi xác định xem ta phải giải quyết vấn đề gì, với giả thiết nào đã cho và lời giải cần phải đạt những yêu cầu gì? Mỗi bài toán được đặc tả bởi hai thành phần: Input và Output. Việc xác định bài toán chính là xác định từ hai thành phần này và mối quan hệ giữa chúng. Các thông tin đó cần được nghiên cứu cẩn thận để có thể lựa chọn thuật toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán và NNLT thích hợp. Ví dụ 3: Tạo mảng A gồm n (n ≤ 100) số nguyên, mỗi số có trị tuyệt đối không vượt quá 300. Tính tổng các phần tử của mảng là bội số của một số nguyên k cho trước. Đối với bài toán này, GV cần hướng dẫn HS xác định được Input, Output của bài toán, cách thể hiện các đại lượng đã cho, các đại lượng phát sinh trong quá trình giải bài toán như sau: - Input: Mảng A gồm n phần tử là các số nguyên - Output: Tổng các phần tử của mảng chia hết cho số k - Thể hiện các đại lượng đã cho: 8 + Vì n là số phần tử của mảng A và n ≤ 100 nên ta khai báo kiểu dữ liệu của n là Byte. + Mỗi phần tử của mảng là kiểu số nguyên và có giá trị tuyệt đối không vượt quá 300 vì vậy ta khai báo kiểu dữ liệu của mảng là Integer. - Các đại lượng phát sinh + Để tham chiếu đến từng phần tử của mảng cần khai báo thêm biến i. + Để tính tổng các phần tử của mảng là bội số của một số nguyên k cho trước ta khai báo biến Tong kiểu Integer và phải gán giá trị ban đầu (bằng 0) trước khi sử dụng biến Tong. Bƣớc 2: Xây dựng thuật giải Thuật toán là một hệ thống chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy thao tác trên cấu trúc dữ liệu sao cho: Với một bộ dữ liệu vào, sau một số hữu hạn bước thực hiện thao tác, ta đạt được mục tiêu đã định. Dựa vào các thông tin đó xác định được về bài toán để lựa chọn hoặc thiết kế thuật toán, đây là bước quan trọng nhất để giải một bài toán. Ở bước này ta có thể hướng dẫn hoặc yêu cầu HS viết thuật giải bằng sơ đồ khối hoặc ngôn ngữ phỏng trình. Tức là xây dựng dãy các tác động để cho máy tính có thể thực hiện trong một khoảng thời gian nhất định nhằm đạt được một kết quả xác định. Cũng có thể cho HS biết được nhiều thuật giải giải quyết cùng một bài toán, sau đó yêu cầu HS chọn xem trong số các thuật giải đó thuật giải nào tốt nhất. Ví dụ 4: Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự “anh” bằng cụm kí tự "em" Đối với bài toán này HS có thể xây dựng thuật giải bằng ngôn ngữ mô phỏng chương trình như sau: THUATGIAI XULIXAU; BIEN S: String; vt: Byte; BATDAU {Nhập xâu S} KHI vị trí xâu con “anh” trong xâu s khác 0 9 BATDAU - Tìm vị trí bắt đầu của xâu “anh” - Xóa xâu “anh” vừa tìm thấy - Chèn xâu “em” vào xâu s tại vị trí trước xuất hiện xâu “anh” KETTHUC; {In xâu S} KETTHUC. Bƣớc 3: Thực hiện xây dựng chƣơng trình Xây dựng chương trình hay cũng được gọi là lập trình. Lập trình là dùng một ngôn ngữ máy tính cụ thể để diễn tả thuật toán, cấu trúc dữ liệu thành các câu lệnh để máy tính có thể thực hiện được và giải quyết đúng bài toán mà người lập trình mong muốn. Ở bước này GV có thể yêu cầu HS xây dựng chương trình bằng cách tinh chế từng bước, đây là phương pháp có hệ thống giúp HS phân tích các thuật toán và cơ sở dữ liệu để từ đó viết thành chương trình. Ban đầu chương trình được viết bằng những câu lời tự nhiên thể hiện sự phân tích tổng thể. Ở từng bước sau các câu lời được phân tích chi tiết hơn thành những câu lời khác tương ứng với sự phân tích công việc thành những công việc nhỏ hơn. Mỗi câu lời đó là sự đặc tả công việc. Sự tinh chế được hướng về phía NNLT mà ta sẽ dựng nghĩa là càng ở những bước sau các câu lời tự nhiên càng được thay bằng các câu lời của NNLT. - Ban đầu, chương trình được thể hiện bằng ngôn ngữ tự nhiên, thể hiện thuật toán với các bước tổng thể, mỗi bước nêu lên một công việc phải thực hiện. - Một công việc đơn giản hoặc là một thuật toán cơ sở đã biết thì ta tiến hành viết mã lệnh ngay bằng NNLT. - Một công việc phức tạp thì ta lại chia ra thành những công việc nhỏ hơn để lại tiếp tục với những công việc nhỏ hơn đó. Phương pháp tinh chế từng bước là một thể hiện của tư duy giải quyết 10 vấn đề từ trên xuống, giúp cho người lập trình có được một định hướng thể hiện trong phong cách viết chương trình. Tránh việc mò mẫm, xoá đi viết lại nhiều lần, biến chương trình thành tờ giấy nháp. Làm mịn ngôn ngữ mô phỏng từ ví dụ 4: + Nhập xâu S: Cú pháp nhập một xâu từ bàn phím: read/readln(S); + Hàm tìm vị trí: POS(„anh‟,S)  KHI vị trí xâu con “anh” trong xâu S khác 0: While POS(„anh‟,S) <> 0  Tìm vị trí bắt đầu của xâu “anh”: vt:= While POS(„anh‟,S); + Thủ tục Delete(S,k,n): Xoá n kí tự trong xâu S bắt đầu từ vị trí k Xóa xâu “anh” vừa tìm thấy: Delete(s, vt, 3); + Thủ tục Insert(s1,s2,k): chèn xâu s1 vào xâu s2 bắt đầu từ vị trí k Chèn xâu “em” vào xâu s tại vị trí trước xuất hiện xâu “anh”: Insert ('em', s, vt); + In xâu: Cú pháp: write/writeln(S); Chương trình hoàn chỉnh như sau: Program XULIXAU; Var S: string; vt: Bỵte; BEGIN Write (' Moi nhap mot xau: ' ); Readln(S); While Pos ('anh' , s)<>0 do Begin vt:= Pos ('anh' , s); Delete(s, vt, 3); Insert ('em' , s, vt); 11 End; Write (s); Readln; END. Bƣớc 4: Thực hiện chƣơng trình (chạy chƣơng trình) Để tạo điều kiện vận dụng tri thức khoa học Tin học vào thực tế cần tránh tình trạng HS chỉ dừng lại ở phương hướng xây dựng giải thuật mà không trực tiếp sử dụng các NNLT để mã hóa và thực hành kiểm thử lại chương trình trên máy. Tình trạng này sẽ có tác hại không nhỏ đối với HS trong học tập hiện tại cũng như trong cuộc sống sau này (VD: thói quen làm việc nửa vời, mang tính lí thuyết nhiều hơn, làm việc không suy tính đến các kết quả có thể xảy ra sau này, …) Một chương trình viết xong chưa chắc nó chạy được trên máy tính; kĩ năng tìm lỗi sửa lỗi, điều chỉnh viết lại chương trình cũng là một kĩ năng quan trọng trong lập trình. Khi chương trình không chạy được hoặc chạy cho kết quả sai là có lỗi về thuật toán hoặc lỗi trình tự hoặc lỗi có pháp. Học sinh cần phát hiện được và sửa được các lỗi để có chương trình chạy đúng. Trong bước này GV nên yêu cầu HS xây dựng các bộ test nhằm kiểm tra tính đúng đắn của chương trình, theo dõi và đánh giá chương trình của HS. 1.3 Đặc điểm năng lực nhận thức và năng lực lập trình của HS ở THPT Lứa tuổi học sinh ở trường THPT là thời kì các em đạt được sự trưởng thành về mặt thể lực, về hệ thần kinh, tạo điều kiện cho sự phát triển hoạt động phân tích, tổng hợp của HS. Nội dung và tính chất hoạt động học tập của học sinh có tính năng động và độc lập ở mức cao hơn, yêu cầu có sự phát triển tư duy lý luận. Các em có vốn kinh nghiệm sống rất phong phú, thái độ ý thức đối với học tập ngày càng phát triển, hứng thú học tập gắn liền với khuynh hướng nghề nghiệp. Lứa tuổi HS cấp THPT tính chủ định phát triển mạnh ở tất cả các quá trình nhận thức, tri giác có mục đích đạt tới mức độ cao. Quan sát trở nên có 12 mục đích, có hệ thống toàn diện hơn. Tuy nhiên, quan sát của HS khó có hiệu quả nếu thiếu sự chỉ đạo của GV. Sự ghi nhớ có chủ định giữ vai trò chủ đạo trong hoạt động trí tuệ, vai trò của ghi nhớ logic trừu tượng, ghi nhớ ý nghĩa ngày một tăng lên rõ rệt. Nắm được quy trình thao tác thực hành nhằm đạt được mục đích, điều cơ bản HS thông hiểu kĩ năng, ghi nhớ và áp dụng lý thuyết, thực hiện các thao tác hành động gần như hoàn thiện. Tuy nhiên ở lứa tuổi HS cấp THPT chưa phát huy hết năng lực độc lập suy nghĩ của bản thân, nhiều lúc cũng kết luận vội vàng, ... Vì vậy việc giúp các em phát triển khả năng nhận thức là một nhiệm vụ quan trọng của GV khi thực hiện giảng dạy kiến thức trên lớp. 1.4 Phân loại, vị trí và ý nghĩa của bài tập Tin học 1.4.1 Phân loại Phân loại bài tập theo yêu cầu luyện tập kĩ năng, phát triển tư duy trong quá trình dạy học. - Bài tập luyện tập: Loại bài tập dùng để rèn luyện cho học sinh áp dụng được những kiến thức xác định để giải từng bài tập theo mẫu xác định. Ở đó không đòi hỏi học sinh phải tư duy sáng tạo mà chủ yếu để cho học sinh luyện tập, có kĩ năng giải đối với một loại bài tập đã được chỉ dẫn. - Bài tập sáng tạo: Loại bài tập áp dụng tổng hợp nhiều kiến thức để giải các bài tập đòi hỏi phát triển tư duy sáng tạo của học sinh. 1.4.2 Vị trí Trong thực tế dạy học hiện nay, giáo viên có thể sử dụng bài tập ở bất cứ lúc nào, bất cứ nơi nào khi thấy nó có thể giúp mình thỏa mãn nhiệm vụ dạy học và mục đích dạy học. Bài tập tin học không phải là nội dung tri thức mới của Tin học nhưng nó chứa đựng nội dung dạy học. Bài tập phải phù hợp với nội dung dạy học, với năng lực nhận thức của học sinh và phải phục vụ được ý đồ của giáo viên. Khi ra một bài tập phải xác định đúng vị trí của nó để bài tập trở thành một bộ phận hữu cơ của hệ thống kiến thức cần truyền thụ. 13
- Xem thêm -

Tài liệu liên quan

Tài liệu vừa đăng

Tài liệu xem nhiều nhất