Tài liệu Skkn một số giải giáp nhằm nâng cao chất lượng dạy học lập trình pascal đối với môn tin học 8

  • Số trang: 31 |
  • Loại file: DOC |
  • Lượt xem: 4458 |
  • Lượt tải: 0
dangvantuan

Tham gia: 02/08/2015

Mô tả:

Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 I. Phần mở đầu: 1. Lý do chọn đề tài. Tin học ở cấp THCS là môn học tự chọn với thời lượng 2 tiết/tuần từ lớp 6 đến lớp 9. Là môn học mới đưa vào trường phổ thông và có những đặc thù riêng như liên quan chặt chẽ với sử dụng máy tính. Đặc trưng của môn Tin học là kiến thức đi đôi với thực hành, đặc biệt phần thực hành còn chiếm thời lượng nhiều hơn phần lí thuyết. Môn học này giúp học sinh bước đầu làm quen với phương pháp giải quyết vấn đề theo quy trình công nghệ và kỹ năng sử dụng máy tính phục vụ học tập và cuộc sống. Tin học có ý nghĩa to lớn đối với sự phát triển trí tuệ, tư duy thuật toán, góp phần hình thành học vấn phổ thông cho học sinh. Qua thực tế trong ba năm giảng dạy môn Tin học 8 ở trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk, bản thân tôi nhận thấy rằng nhiều học sinh còn yếu về khả năng tiếp nhận kiến thức về mặt thuật toán. Thậm chí còn có một số học sinh không thích lập trình mà chỉ thực hiện gõ các bài tập chứ không tìm hiểu thuật toán. Do vậy kiến thức, kỷ năng lập trình cơ bản của học sinh còn yếu. Trong quá trình giảng dạy bản thân luôn suy nghĩ làm thế nào để các em tiếp cận một cách tốt nhất, dễ hiểu nhất các thuật toán, áp dụng những cấu trúc lệnh có sẵn để vận dụng giải quyết các bài toán cơ bản. Chính vì thế tôi luôn chú trọng đến việc phân tích các dạng bài toán theo các cấu trúc câu lệnh để học sinh đều có thể tự mình tìm ra các thuật toán viết thành những chương trình thực hành trên máy. Với những suy nghĩ, băn khoăn trăn trở đó, bản thân tôi đã mạnh dạn lựa chọn đề tài: “Mô ôt số giải pháp để nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8” để có thể giúp các em biến những bài toán đơn giản thành những chương trình chạy được trong máy tính. Hình thành trong các em ước mơ trở thành những lập trình viên giỏi để phục vụ cho xã hội sau này. 2. Mục tiêu, nhiệm vụ của đề tài. Dạy học lập trình Pascal trong môn tin học 8 là phải tìm ra những phương pháp, các bước giải bài toán bằng cách lập trình trên máy vi tính. Để giúp các em có những phương pháp tốt nhất nhằm giải quyết những bài toán cơ bản là một nhiệm vụ quan trọng, yêu cầu giáo viên phải tìm tòi những giải pháp phù hợp để nâng cao chất lượng giờ dạy Tin học nói chung và Tin học lớp 8 nói riêng đó là: - Hình thành được cách hướng dẫn cho học sinh tiếp thu các kiến thức cơ bản về ngôn ngữ lập trình một cách thuận lợi nhất và dễ hiểu nhất. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 1 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 - Hướng dẫn cho học sinh cách giải quyết các bài toán khi áp dụng các cấu trúc lệnh trong ngôn ngữ lập trình Pascal. 3. Đối tượng nghiên cứu. - Nghiên cứu một số giải pháp để nâng cao chất lượng dạy-học trong ngôn ngữ lập trình Pascal. 4. Giới hạn của đề tài. - Phạm vi áp dụng trong các tiết học về lập trình Pascal môn Tin học 8 Trường THCS đơn vị tôi đang công tác năm học 2016 - 2017. - Thời gian thực hiện dự án: Trong 6 tháng. 5. Phương pháp nghiên cứu. a) Nhóm phương pháp nghiên cứu lý luận - Phương pháp phân tích - tổng hợp tài liệu. + Tham khảo sách giáo khoa Tin học lớp 6. + Tham khảo hướng dẫn Tin học lớp 6 dành cho giáo viên. + Tham khảo các tài liệu trên mạng internet. - Phương pháp khái quát hóa các nhận định độc lập. b) Nhóm phương pháp nghiên cứu thực tiễn - Phương pháp điều tra. - Phương pháp tổng kết kinh nghiệm giáo dục. + Tham khảo những kinh nghiệm của đồng nghiệp đi trước. + Tham khảo kinh nghiệm của các trường bạn. - Phương pháp nghiên cứu các sản phẩm hoạt động. - Phương pháp lấy ý kiến chuyên gia. - Phương pháp khảo nghiệm, thử nghiệm. + Thử áp dụng các giải pháp vào quá trình giảng dạy Tin học ở lớp 8a4, 8a5 trường THCS Lương Thế Vinh. II. Phần nội dung 1. Cơ sở lý luận: Theo Nghị quyết số 29-NQ/TW Hội nghị Trung ương 8 khóa XI về đổi mới căn bản, toàn diện giáo dục và đào tạo và Nghị quyết số 44/NQ-CP ban hành Chương trình hành động của Chính phủ thực hiện Nghị quyết số 29/NQ-TƯ ngày 04 tháng 11 năm 2013 Hội nghị lần thứ tám Ban Chấp hành Trung ương khóa XI: - Đẩy mạnh ứng dụng công nghệ thông tin và truyền thông trong dạy và học. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 2 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 - Phát huy vai trò của công nghệ thông tin và các thành tựu khoa học công nghệ hiện đại trong quản lý nhà nước về giáo dục, đào tạo. - Từng bước hiện đại hóa cơ sở vật chất kỹ thuật, đặc biệt là hạ tầng công nghệ thông tin. Ngôn ngữ lập trình Pascal chính là sử dụng ngôn ngữ lập trình để giải quyết các bài toán. Chính vì vậy kiến thức về toán học là hết sức quan trọng, muốn lập trình được thì yêu cầu học sinh phải nắm kiến thức về Toán học khi đó mới có thể tiến hành tìm ra hướng đi cho từng bài toán cụ thể. Đây là một vấn đề vô cùng khó khăn đối với các học sinh yếu và kém về môn Toán khi tiếp cận với lập trình Pascal. 2. Thực trạng vấn đề nghiên cứu. Qua quá trình giảng dạy tôi nhận thấy rằng đa số học sinh gặp khó khăn nhiều khi học các tiết học về chương trình và viết chương trình bằng ngôn ngữ lập trình Pascal. Nhiều em không hiểu ý nghĩa của các câu lệnh, quá trình giải một bài toán và không tìm ra được thuật toán nên các em học theo kiểu máy móc, học thuộc không hiểu về quy trình lập trình. Vẫn còn những học sinh học tập một cách thụ động, chỉ chờ thầy, cô đọc cho chép, hoặc trả bài một cách đối phó hay lười suy nghĩ… Một phần cũng do giáo viên hay sử dụng các phương pháp dạy học cũ là đọc chép, lý thuyết nhiều mà ít thực hành. Đa số các em rất khó giải quyết các bài toán, đặc biệt là không biết áp dụng các câu lệnh vào từng bài toán cụ thể. Nhiều em kỷ năng phân tích bài toán còn rất yếu. Là môn học sử dụng ngôn ngữ lập trình Pascal (ngôn ngữ viết bằng Tiếng Anh) nên các em có nhiều bỡ ngỡ vì đây là lần đầu tiên các em biết đến khái niệm lập trình và hiểu nghĩa các từ khóa bằng Tiếng Anh. Mặt khác là môn học vận dụng kiến thức về Toán học rất khó cho các em trong quá trình lập trình. Theo tôi, kiến thức không bao giờ là cô lập, không đứng độc lập mà nó có mối liên hệ chặt chẽ với nhau. Nếu chúng ta không học hỏi, trau dồi kiến thức ở những môn học khác thì cũng giống như “con chuột chui vào sừng trâu; càng chui sâu càng hẹp” mà thôi. Những hạn chế mà đề tài đưa ra cũng sẽ được khắc phục nếu như cả giáo viên và học sinh đều không ngừng học hỏi, trau dồi kiến thức ở những môn học khác có liên quan thì sẽ thu lại kết quả khả quan. 3. Nội dung và hình thức của giải pháp: a. Mục tiêu của giải pháp Thực hiện đề tài này, tôi mong muốn có thể nâng cao được chất lượng học tập ở môn Tin học của học sinh. Đồng thời tôi cũng muốn đưa ra một vài kinh nghiệm của mình để có thể giúp đồng nghiệp trong quá trình giảng dạy. b. Nội dung và cách thức thực hiện giải pháp. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 3 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Từ thực trạng trên tôi xin đưa ra một số giải pháp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin hoc 8:  Đối với giáo viên: - Cần phải nắm vững các phương pháp dạy học Tin học nhằm phát huy tính tích cực, chủ động của học sinh trong học tập. Để nâng cao chất lượng dạy học môn Tin học, giáo viên phải tiếp cận nội dung bài và lựa chọn các phương pháp, xây dựng hệ thống câu hỏi logic, phù hợp với ba đối tượng: giỏi, trung bình, yếu. Từ đó dẫn dắt học sinh tự khám phá kiến thức, không thụ động ghi nhận kiến thức mà giáo viên cung cấp, phải có sự phối hợp giữa hoạt động dạy và hoạt động học trên cơ sở lấy học sinh làm trung tâm. - Để tạo hứng thú học tập và hoạt động tích cực chủ động của học sinh, giáo viên phải phối hợp nhuần nhuyễn các phương pháp dạy học. Giáo viên phải tích hợp các môn học khác nhau trong mỗi tiết dạy. - Tùy theo từng dạng bài mà giáo viên sử dụng phương pháp dạy học và lập kế hoạch, chuẩn bị nội dung dạy học cho phù hợp. Sau đây là một số giải pháp:  Tìm hiểu các từ khóa. Trong mỗi bài học việc tìm hiểu nghĩa các từ khóa rất quan trọng, phải làm cho các em hiểu được ý nghĩa của các từ khóa trước khi yêu cầu các em vận dụng nó vào công việc viết chương trình hay cấu trúc lệnh. Vì mỗi cấu trúc lệnh của Pascal đều có nghĩa của nó. Nếu công việc này nếu chúng ta cho học sinh hiểu được thì xem như chúng ta đã đạt được 30% mục tiêu bài học. Ví dụ: - Write nghĩa là viết, ở đây chúng ta có thể nói rõ cho học sinh biết viết ra màn hình. - Read nghĩa là đọc, ở đây ta có thể hiểu là đọc (nạp) dữ liệu vào cho máy tính. - If ... then ... else...: có nghĩa là Nếu ... thì .... ngược lại ... - While ... do...: Trong khi ... thì làm việc ... - Begin....end.: Bắt đầu.....kết thúc.  Cho học sinh thực hiện và luyện tập những hoạt động tương tự với nội dung và mục tiêu dạy học: + Dạy lý thuyết. Phát hiện những hoạt động tương tự với nội dung. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 4 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Ví dụ: - Cách đặt tên chương trình, biến trong Pascal với đặt tên tệp. - Cấu trúc lệnh rẽ nhánh với các hoạt động có điều kiện trong thực tế. - Cấu trúc lệnh lặp với những hoạt động lặp lại hàng ngày. - Các thao tác tìm phần tử, max, min trên dãy số với các hoạt động tìm người nặng nhất, cao nhất trong lớp. - Thao tác hoán đổi hai giá trị với hoạt động hoán đổi hai ly nước đường, muối. - ... Phân tách hoạt động thành những thành phần. * Bài 2 . Làm quen với chương trình và ngôn ngữ lập trình Để dạy bài này và giúp học sinh hiểu được chương trình và ngôn ngữ lập trình thì giáo viên phải giúp học sinh tìm hiểu các hoạt động sau: Hoạt động 1: Các thành phần của ngôn ngữ lập trình. Đối với phần này giáo viên cần nêu rõ các thành phần cơ bản tạo nên ngôn ngữ lập trình đó là: + Các từ để viết thành lệnh trong chương trình; VD: Program, var, Begin.. end, Writeln… + Các ký hiệu được viết theo quy tắc: Quy định về viết các từ và thứ tự của nó. VD: Từ nào viết trước, từ nào viết sau, các từ được ngăn cách nhau bởi dấu cách hoặc nhiều dấu cách, cuối một số lệnh phải có dấu “;”….. VD: Khai báo tên chương trình phải dùng từ khóa: Program; bắt đầu chương trình dùng từ khóa Begin và kết thúc chương trình phải là từ khóa end…. Nếu viết sai quy tắc máy sẽ báo lỗi. Trong phần này giáo viên cần nhấn mạnh các quy tắc khi viết lệnh cho chương trình. Hoạt động 2: Cấu trúc chung của chương trình. Để viết được chương trình thì bắt buộc học sinh phải nắm được cấu trúc chung của một chương trình. Giáo viên phải nêu rõ 2 phần của chương trình: + Phần khai báo thường gồm các câu lệnh dùng để khai báo tên chương trình (Program); khai báo hàm thư viện (uses crt); khai báo biến (var); khai báo hằng (Const)…Phần khai báo có thể có hoặc không. Giáo viên nhấn mạnh cho học sinh hiểu hơn: Nếu có phần khai báo thì nó phải được đặt trước phần thân chương trình. + Phân thân của chương trình gồm các câu lệnh mà máy tính cần thực hiện (Đây là phần bắt buộc phải có): Bằng từ khóa Begin…End. Từ khóa Begin để GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 5 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 cho biết điểm bắt đầu và từ khóa end để cho biết điểm kết thúc của một chương trình. Giáo viên đưa ra một ví dụ và cho học sinh tự nhận biết các phần của cấu trúc chung của chương trình. Ví dụ: Program toilapascal; Uses crt; Phần khai báo Begin Writeln(‘Rat vui vi ban den vơi pascal’); Phần thân End. * Bài 3. Chương trình máy tính và dữ liệu Để giúp học sinh hiểu về một chương trình máy tính và các kiểu dữ liệu sử dụng trong chương trình thì giáo viên phải yêu cầu học sinh tìm hiểu các hoạt động sau: Hoạt động 1: Các kiểu dữ liệu thường dùng. Hoạt động này cần giúp học sinh biết được để máy tính hiểu được thông tin đưa vào, xử lý thông tin, thông tin đưa ra trong ngôn ngữ lập trình thì phải cần đến các kiểu dữ liệu được định nghĩa sẵn: + Kiểu số nguyên: Integer + Kiểu số thực: Real + Kiểu ký tự: Char + Kiểu xâu ký tự: String +……….. Trong hoạt động này giáo viên cần làm rõ: Tùy thuộc vào yêu cầu của từng bài toán để chúng ta khai báo dữ liệu của bài toán đó thuộc kiểu dữ liệu nào? Ví dụ : + Đối với bài toán nhập xuất họ và tên học sinh thì biến hoten phải khai báo kiểu dữ liệu string. + Đối với bài toán “Kiểm tra N là số chẵn hay lẻ ” thì biến N phải khai báo kiểu Integer; Khi khai báo kiểu dữ liệu thì giáo viên cần nhắc học sinh chú ý đến phạm vi sử dụng của các kiểu dữ liệu. Khai báo đúng kiểu dữ liệu có nghĩa là phần nào các em đã biết nắm bắt được yêu cầu của bài lập trình. Hoạt động 2: Lệnh nhập xuất của chương trình. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 6 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Đối với hoạt động này giáo viên cần làm rõ cho học sinh hiểu được quá trình trao đổi dữ liệu giữa con người và máy tính thì phải cần đến lệnh nhập xuất dữ liệu. + Lệnh nhập: Là lệnh đưa dữ liệu vào cho chương trình được thực hiện: Readln(giá trị dữ liệu cần nhập); VD: Nhập vào một số nguyên N từ bàn phím. Viết chương trình kiểm tra xem N là số chẵn hay số lẽ? Đối với bài toán này thì yêu cầu phải nhập số nguyên N bằng lệnh: Readln(N); + Lệnh xuất: Là lệnh đưa kết quả ra màn hình được thực hiện: Writeln(giá trị cần xuất); VD: Muốn đưa kết quả S ra màn hình: Writeln(S); Trong hoạt động này giáo viên cần nhấn mạnh vai trò của việc nhập xuất dữ liệu khi viết chương trình. * Bài 4. Sử dụng biến trong chương trình Để dạy bài này và giúp học sinh hiểu được công cụ biến trong chương trình, biết cách sử dụng áp dụng biến vào từng bài toán cụ thể thì giáo viên phải giúp học sinh tìm hiểu qua các hoạt động sau: Hoạt động 1: Tìm hiểu về công cụ biến trong chương trình. Ở hoạt động này giáo viên phải nói rõ cho học sinh hiểu để lưu trữ dữ liệu và xử lý dữ liệu trong chương trình thì cần đến một công cụ lập trình đó là biến. Biến dùng để lưu trữ dữ liệu và khi nào cần xử lý dữ liệu thì chỉ cần tìm đến vị trí của biến cần lưu. Ví dụ: Để tính tổng của a+b với giá trị a, b được nhập từ bàn phím . Do không biết giá trị a,b được nhập vào là bao nhiêu nên phải sử dụng hai biến a, b để lưu giá trị cần nhập vào trong vùng nhớ. Muốn thực hiện tính tổng ta sử dụng lệnh: Writeln(a+b) khi đó chương trình sẽ tự tìm đến vị trí các biến để thực hiện phép toán a+b. Giáo viên cần nhấn mạnh cho học sinh hiểu giá trị của biến có thể thay đổi trong quá trình thực hiện chương trình. Hoạt động 2: Cách sử dụng biến trong chương trình. Đối với hoạt động này giáo viên phải giúp học sinh biết được cách sử dụng các biến trong chương trình. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 7 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 + Thực hiện tính toán giá trị cho biến; + Gán giá trị cho biến bằng lệnh: Tên biến:= Biểu thức cần gán giá trị cho biến. Giáo viên đưa ra ví dụ để học sinh nắm bắt cách gán giá trị cho biến: Ví dụ: i:=1 -> Gán giá trị 1 cho biến nhớ i; Giáo viên phải đưa ra chú ý cho học sinh hiểu tránh trường hợp học sinh gán giá trị tùy tiện đó là: Kiểu dữ liệu của biểu thức cần gán giá trị cho biến phải trùng với kiểu dữ liệu của biến, khi gán giá trị mới thì giá trị cũ bị mất đi. Ví dụ: x là biến được khai báo kiểu dữ liệu số nguyên Vậy x= a/b là sai bởi vì biểu thức a/b có kiểu dữ liệu phải là số thực. * Bài 5. Từ bài toán đến chương trình Đây là bài học rất quan trọng trong chương trình lập trình Pascal bởi vì bài học này sẽ giúp các em tìm ra đựơc con đường lập trình từ một bài toán cụ thể đến với chưong trình máy tính. Để học sinh hiểu được nội dung bài học này có nghĩa là giáo viên đã thành công một nửa trong quá trình giúp các em giải toán bằng ngôn ngữ lập trình. Để giải quyết một bài toán thì việc học sinh xác định được bài toán là bước vô cùng quan trọng, đó chính là bước đầu học sinh biết được bài toán cho gì và cần làm công việc gì? Hoạt động 1: Quá trình giải bài toán trên máy tính. Đối với hoạt động này thì giáo viên phải hình thành cho học sinh biết quá trình từ một bài toán cụ thể để viết thành chương trình gồm những bước đó là: + Xác định bài toán + Mô tả thuật toán + Viết chương trình Ví dụ: Tìm số lớn nhất trong 4 số a,b,c,d. In ra màn hình số lớn nhất? Ta cần xác định cho bài toán: + Thông tin vào: Bốn số a,b,c,d + Thông tin ra: Số lớn nhất Max. + Mô tả thuật toán: * Giả sử số lớn nhất là a: Max:=a; * So sánh Max với số b. Nếu Max THEN ; Hoạt động: Chương trình sẽ kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh sau từ khóa THEN, ngược lại bỏ qua câu lệnh. Sơ đồ: SAI Điều kiện? ĐÚNG Câu lệnh SAI + Dạng đủ: Điều kiện? Cú pháp: IF <Điều kiện> THEN ELSE ; Hoạt động: ĐÚNG Chương trình sẽ kiểm tra điều kiện, nếu điều kiện đúng thì thực hiện câu lệnh 1, ngược lại thực hiện câu lệnh 2; Sơ đồ hoạt động: Câu lệnh 1 Câu lệnh 2 GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 10 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Ngoài cấu trúc dạng thiếu và dạng đủ, giáo viên có thể đưa ra tình huống sau để giới thiệu câu lệnh điều kiện dạng ghép để nâng cao, bồi dưỡng cho học sinh giỏi. Viết câu lệnh điều kiện để xét học lực của học sinh theo yêu cầu sau: 8  dtb  10 thì học lực Giỏi 6.5  dtb  8 thì học lực Khá 5  dtb  6.5 thì học lực TB 3.5  dtb  5 thì học lực Yếu 0  dtb  3.5 thì học lực Kém Để cho học sinh dễ hiểu và dể viết cấu trúc lệnh ta có thể dùng trục số để biểu diễn như sau: Hướng dẫn cho học sinh cách xét điều kiện từ trên xuống: Cầu trúc lệnh bằng ngôn ngữ Pascal: GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 11 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 If dtb >= 8 then Write(' Gioi ') Else If dtb >= 6.5 then Write(' Kha ') Else If dtb >= 5 then Write(' TB ') Else If dtb >= 6.5 then Write(' Yeu ') Else Write(' Kem '); Giáo viên nhấn mạnh: Số câu lệnh điều kiện = Số điều kiện kiểm tra - 1. * Bài 7: “Câu lệnh lặp với số lần biết trước” Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh lặp với số lần biết trước thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau: Hoạt động 1: Hoạt động lặp với số lần lặp biết trước . Trong hoạt động này giáo viên đưa ra một số ví dụ có hoạt động lặp khi biết trước số lần lặp trong thực tế cuộc sống hằng ngày: - Đánh răng ngày 2 lần. - Ngày ăn cơm 3 bữa. - Sáng dậy đi học. Cho học sinh nêu một vài ví dụ trong thực tế hàng ngày. Sau đó giáo viên giới thiệu hoạt động lặp của bài toán: Tính tổng 100 số tự nhiên. S= 1+2+…+100. Đối với bài toán này giáo viên chỉ ra hoạt động lặp đó là: S:= S+i và i:=i+1; Trong hoạt động này giáo viên chỉ rõ cho học sinh đâu là hoạt động lặp, số lần lặp của hoạt động. Qua những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động biết trước số lần lặp. Hoạt động 2: Cấu trúc câu lệnh lặp với số lần biết trước. Ở hoạt động này để cho học sinh biết được cấu trúc câu lệnh lặp với số lần biết trước thì giáo viên giới thiệu cấu trúc lệnh lặp ở hai dạng tiến và dạng lùi: Cú pháp, hoạt động của máy tính khi gặp lệnh lặp với số lần biết trước. *Dạng tiến: Cú pháp: For to do ; GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 12 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Chú ý : For, to, do là các từ khóa. Biến đếm là biến kiểu nguyên; Giá trị đầu, giá trị cuối: là các giá trị nguyên. Giá trị đầu phải nhỏ hơn hoặc bằng giá trị cuối. Số lần lặp= giá trị cuối – giá trị đầu + 1. Hoạt động: Chương trình sẽ thực hiện, biến đếm sẽ nhận giá trị đầu và sau mỗi vòng lặp biến đếm tự động tăng lên 1 đơn vị cho đến khi bằng giá trị cuối thì kết thúc. Dạng tiến Sơ đồ: Biến đếm:= Min Biến đếm<=Max - + S; INC(Biến đếm); Thoát *Dạng lùi: Cú pháp: For downto do ; Chú ý : Biến đếm là biến kiểu nguyên; Giá trị đầu, giá trị cuối: là các giá trị nguyên. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 13 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Hoạt động: Chương trình sẽ thực hiện, biến đếm sẽ nhận giá trị cuối và sau mỗi vòng lặp biến đếm tự động giảm lên 1 đơn vị cho đến khi bằng giá trị đầu thì kết thúc. Dạng lùi Sơ đồ: Biến đếm:=Max Biến đếm>=Max + S; DEC(Biến đếm); Thoát * Bài 8: “Câu lệnh lặp chưa biết trước số vòng lặp”. Để dạy bài này và giúp học sinh giải quyết những bài toán có liên quan sử dụng câu lệnh lặp với số lần chưa biết trước thì giáo viên phải hướng dẫn học sinh qua các hoạt động sau: Hoạt động 1: Hoạt động lặp với số lần lặp chưa biết trước . Trong hoạt động này giáo viên đưa ra một số ví dụ có hoạt động lặp chưa biết trước số lần lặp trong thực tế cuộc sống hằng ngày: - Gọi điện thoại cho bạn đến khi nào bạn cầm máy thì dừng gọi điện. - Học bài đến khi nào thuộc thì dừng việc học bài. - …… Cho học sinh nêu một vài ví dụ trong thực tế. Trong hoạt động này giáo viên yêu cầu cho học sinh chỉ rõ đâu là điều kiện để dừng hoạt động và số lần thực hiện hoạt động phụ thuộc vào điều kiện. Qua GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 14 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 những ví dụ trên giáo viên cũng cần chỉ cho học sinh biết hoạt động này là hoạt động lặp có số lần chưa biết trước. Qua những ví dụ giáo viên nói rõ thêm cho học sinh những hoạt động trên có thể lặp lại vô số lần (không dừng) nếu điều kiện đúng. Hoạt động 2: Cấu trúc lệnh lặp với số lần chưa biết trước. Ở hoạt động này để cho học sinh dễ nhận biết cấu trúc lặp với số lần chưa biết trước thì giáo viên giới thiệu cho học sinh cách viết các từ Trong khi, thì làm việc bằng ngôn ngữ Pascal sau đó giới thiệu: Cú pháp, hoạt động và sơ đồ hoạt động: Cú pháp: While <Điều kiện> Do ; Hoạt động: Chương trình sẽ kiểm tra điều kiện. Khi nào điều kiện đúng thì thực hiện lệnh lặp sau Do. Ngược lại sẽ dừng lại khi điều kiện sai. Vì câu lệnh sau từ khóa Do phụ thuộc vào điều kiện nên câu lệnh lặp While có thể không thực hiện lần nào. Sơ đồ: S ai Điề u kiện? Đ úng Câu lệnh; T hoát Trong hoạt động này giáo viên cần nêu rõ cho học sinh biết được: Câu lệnh sau từ khóa Do có thể là lệnh đơn hoặc lệnh ghép. Nếu là lệnh ghép thì phải được đặt trong cặp từ khóa “Begin… end.” Giáo viên nhấn mạnh cho học sinh biết trong vòng lặp While nhất thiết phải có một câu lệnh làm thay đổi điều kiện lặp. Nếu không có sẽ dẫn đến trường hợp lặp vô hạn. Chương trình chạy mãi mà không có lối ra (Không thoát ra khỏi vòng lặp được). Giáo viên cần nhấn mạnh cho học sinh những điểm cần chú ý sau: - Cho học sinh thấy rõ sự khác nhau giữa lệnh For và lệnh While: GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 15 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Lệnh For Lệnh While Biểu thức điều kiện có giá trị sai Điều kiện kết thúc Biến đếm > Giá trị cuối Đúng bằng Giá trị cuối – giá trị đầu +1 Số vòng lặp Chưa xác định - Các bài toán có sử dụng vòng lặp For ... to ... do đều có thể thay thế bằng vòng lặp while ... do (Những bài toán viết bằng lệnh For..to.. có thể viết bằng lệnh While..do, điều ngược lại chưa chắc đúng). Ví dụ: Câu lệnh tính tổng S = 1 + 2 + 3 + ... + n Lệnh For Lệnh While S:=0; S:=0; i:=1; For i:=1 to n do S:=S + i; While i <= n do Begin S:=S + i; i:=i + 1; End; Hướng dẫn giải bài tập. Những lưu ý chung khi làm bài tập: - Yêu cầu học sinh phải nắm được các bước giải một bài toán bằng ngôn ngữ Pascal : B1: Xác định bài toán. B2: Mô tả thuật toán. B3: Viết chương trình. B4: Chạy thử và kiểm tra kết quả. - Trong từng bước thì giáo viên có những thủ thuật riêng để hướng dẫn học sinh hoàn thiện tốt nhất, hiệu quả nhất. * Bài tập về câu lệnh điều kiện. + Đối với dạng này việc đầu tiên giáo viên phải hướng dẫn học sinh xác định được điều kiện bài toán, viết các biểu thức điều kiện với ngôn ngữ Pascal. + Xác định được giá trị đúng sai của điểu kiện như thế nào? + Viết được các biểu thức điều kiện ghép (có nhiều yếu tố kiểm tra) Chẳng hạn: GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 16 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Biểu thức điều kiện ngôn ngữ Pascal Điều kiện Số nguyên a chẵn (lẻ) a mod 2 = 0 Số nguyên a là bội của b (b ước a mod b = 0 của a) Ba số a,b,c là độ dài 3 cạnh tam (a + b > c) and (a + c > b) and (b + giác c> a) Ba số a,b,c là độ dài 3 cạnh tam (a*a + b*b = c*c) or (a*a + c*c = giác vuông b*b) or (b*b + c*c = a*a) + Viết được thuật toán theo ngôn ngữ tự nhiên (Tiếng Việt). + Từ thuật toán ngôn ngữ tự nhiên dịch sang ngôn ngữ Pascal, ở thao tác này giáo viên hướng dẫn cho học sinh chuyển theo nghĩa các từ khóa và các ký hiệu Pascal. Ví dụ 1: Nhập vào một số nguyên N từ bàn phím. Viết chương trình kiểm tra xem N là số chẵn hay số lẽ? + GV hướng dẫn và yêu cầu học sinh nêu thuật toán. Thuật toán (theo ngữ tự nhiên) 1. Nhập số nguyên n. Mã hóa giải thuật Realln(n); 2. Kiểm tra nếu n chia hết cho 2 thì n If n mod 2 = 0 then Write(n,'so chan') số chẵn, ngược lại n số lẻ. else Write(n,'so le'); + Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình. Program vidu1; Uses crt; Var n: longint; Begin clrscr; Write('n = '); Readln(n); If n mod 2 = 0 then Write(n,'so chan') else Write(n,'so le'); GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 17 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 Readln End. + Giáo viên đưa chương trình vào Turbo Pascal hướng dẫn học sinh dịch và sữa lỗi. + Chạy chương trình và kiểm chứng kết quả. Ví dụ 2: Viết chương trình giải phương trình bậc nhất ax + b = 0, với a, b là các số thực nhập vào từ bàn phím. Giải thuật(theo ngữ tự nhiên) Nhập a,b Mã hóa giải thuật Readln(a); Readln(b); Kiểm tra a với 2 trường hợp + Nếu a khác 0 thì x = -b/a If a <>0 then Write('x = ', -b/a:8:2) + Nếu a bằng 0 thì kiểm tra b. Nếu b else If b = 0 then Write ('PT VSN') bằng 0 thì phương trình có vô số else Write('PT VN'); nghiệm, ngược lại phương trình vô nghiệm + Yêu cầu HS dựa vào cấu trúc của một chương trình Pascal hoàn thành chương trình. Program Phuong_trinh; Uses crt; var a,b:real; Begin Clrscr; Write('Nhap he so a = '); readln(a); Write('Nhap he so b = '); readln(b); If a <>0 then Write('x = ', -b/a:8:2) else If b = 0 then Write ('PT VSN') else Write('PT VN'); Readln End. GV: Trần Thị Tứ - Trường THCS Lương Thế Vinh – Krông Ana – ĐắkLắk 18 Một số giải giáp nhằm nâng cao chất lượng dạy học lập trình Pascal đối với môn Tin học 8 * Bài tập về câu lệnh lặp với số lần biết trước. + Đối với dạng này việc đầu tiên giáo viên phải yêu cầu học sinh tìm được hoạt động lặp của bài toán. + Giáo viên yêu cầu học sinh xác định được điều kiện để dừng vòng lặp. (Giá trị Max). + Viết được thuật toán theo ngôn ngữ tự nhiên (Tiếng Việt) + Từ thuật toán ngôn ngữ tự nhiên dịch sang ngôn ngữ Pascal. Ví dụ: Để tính tổng n số tự nhiên s=1+2+…+n. + GV hướng dẫn và yêu cầu học sinh nêu thuật toán. + GV yêu cầu học sinh dịch sang ngôn ngữ Pascal từ thuật toán. Thuật toán (theo ngữ tự nhiên) 1. Nhập số nguyên n; 2. S:=S+i; i:=i+1; 3. Nếu i headerOrgOffset) {if (currentScroll > previousScroll) {if(dheight - currentScroll < able) $('.doc_footer').slideUp('fast'); else $('.doc_footer').slideDown('fast'); } else {$('.doc_footer').slideUp('fast'); } } else {$('.doc_footer').slideUp('fast'); } previousScroll = currentScroll; } }); }( document, window, 0 )); $('.wrapper-readmore').find('a[href="#"]').on('click', function (e) { e.preventDefault(); this.expand = !this.expand; $(this).text(this.expand?"- Thu gọn -":"- Xem thêm -"); $(this).closest('.wrapper-readmore').find('.smallss, .bigss').toggleClass('smallss bigss'); });