Đổi mới phương pháp và hình thức tổ chức dạy học và kiểm tra đánh giá,đổi mới sinh hoạt chuyên môn theo hướng nghiên cứu bài học, tổ chức các kỳ thi giúp học sinhvận dụng kiến thức đã họ
Trang 1MỤC LỤC
Trang
Phần thứ nhất: MỞ ĐẦU
I Đặt vấn đề:
Lý do chọn đề tài 1
Đối tượng nghiên cứu: 1
Phạm vi nghiên cứu: 1
II Mục tiêu nghiên cứu: 1
Phần thứ hai: GIẢI QUYẾT VẤN ĐỀ I. Cơ sở lý luận của vấn đề 2
II. Thực trạng vấn đề 3
III.Các giải pháp đã tiến hành để giải quyết vấn đề: …5
1 Bài toán 1 5
2 Bài toán 2 8
3 Bài toán 3 10
IV Tính mới của sáng kiến……… ……….…….……… 15
V Hiệu quả SKKN: ……… ……….…….………15
Phần thứ ba: KẾT LUẬN, KIẾN NGHỊ I Kết luận: 17
II Ý kiến đề xuất 17
SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PASCAL ĐỂ
GIẢI MỘT SỐ BÀI TOÁN
Họ và tên: Nguyễn Thị Thu Thủy Đơn vị công tác: THCS Buôn Trấp Chức vụ: Giáo viên
Trang 2DANH MỤC CHỮ CÁI VIẾT TẮT
VIẾT TẮT VIẾT ĐẦY ĐỦ
Trang 3Nghị quyết 29 của BCHTW về đổi mới căn bản và toàn diện GD-ĐT đã chỉ ra là tiếp tụcđổi mới mạnh mẽ phương pháp dạy và học theo hướng hiện đại, đề cao vai trò chủ thể hoạt độngcủa học sinh nhằm phát huy tính tích cực, chủ động, sáng tạo và vận dụng kiến thức, kỹ năng vàogiải quyết các tình huống thực tiễn cuộc sống.
Bộ giáo dục đang triển khai rất nhiều công văn phục vụ đổi mới căn bản và toàn diệnGD&ĐT sau năm 2018 Đổi mới phương pháp và hình thức tổ chức dạy học và kiểm tra đánh giá,đổi mới sinh hoạt chuyên môn theo hướng nghiên cứu bài học, tổ chức các kỳ thi giúp học sinhvận dụng kiến thức đã học vào giải quyết vấn đề thực tiễn, … nhằm hình thành và phát triển cácnăng lực cần thiết của thế kỷ 21 cho học sinh
Trong quá trình dạy học chương trình Tin học lớp 8, tôi thấy rằng, những kiến thức họcsinh tiếp nhận và áp dụng vào giải các bài toán đạt kết quả chưa cao, do học sinh chưa thật sự nắmvững các bước để giải bài toán và chưa vận dụng được linh hoạt ngôn ngữ lập trình để giải bài
toán Xuất phát từ cơ sở trên tôi đã chọn đề tài “Sử dụng ngôn ngữ lập trình Pascal để giải
toán”.
Đối tượng nghiên cứu:
- Tập trung nghiên cứu sử dụng ngôn ngữ lập trình Pascal để giải toán
Phạm vi nghiên cứu:
- Học sinh lớp 8 trường THCS Buôn Trấp
- Học sinh trong đội tuyển học sinh giỏi môn tin học của trường THCS Buôn Trấp
II MỤC TIÊU NGHIÊN CỨU:
- Nhằm nâng cao chất lượng giảng dạy và học tập, chất lượng dạy học bộ môn tin học
- Thúc đẩy phong trào thi đua học tập ở học sinh
- Phát huy tính tích cực, chủ động của học sinh trong quá trình tiếp thu kiến thức
- Nâng cao khả năng tự học của học sinh
- Nhằm đổi mới phương pháp dạy học trong qua trình giảng dạy học sinh
- Tạo điều kiện thuận lợi cho những học sinh có năng lực, có niềm đam mê, có sáng tạotrong học tập bộ môn
- Giải một vài bài toán trong chương trình học toán THCS và chuyển các bài toán đó sangngôn ngữ lập trình
- Làm cơ sở cho các em định hướng và chọn lựa ngành nghề thích hợp cho tương lai
Trang 4PHẦN THỨ HAI: GIẢI QUYẾT VẤN ĐỀ
I CƠ SỞ LÝ LUẬN CỦA VẤN ĐỀ:
Đổi mới căn bản, toàn diện giáo dục và đào tạo là đổi mới những vấn đề lớn, cốt lõi, cấpthiết, từ quan điểm, tư tưởng chỉ đạo đến mục tiêu, nội dung, phương pháp, cơ chế, chính sách, điềukiện bảo đảm thực hiện đổi mới ở tất cả các bậc học, ngành học
Phát triển nguồn lực có chất lượng cao đòi hỏi phải đổi mới căn bản, toàn diện giáo dục, đàotạo ngành nghề theo hướng mở, hội nhập, xây dựng một xã hội học tập, phát triển toàn diện nănglực, thể chất, nhân cách, đạo đức, lối sống, ý thức tôn trọng pháp luật và trách nhiệm công dân Mộttrong những giải pháp nhằm nâng cao chất chất lượng nguồn lực là phải đổi mới phương pháp dạyhọc
Đổi mới phương pháp dạy học của người thầy bắt nguồn từ yêu cầu học tập của người học.Phương pháp này nhấn mạnh quá trình học tập và tiếp thu chứ không chú trọng đến kết quả học tập.Đây cũng là phương pháp giúp cho người học phát triển kỹ năng tự học và kỹ năng giải quyết vấn
đề Sử dụng phương pháp học tập tích cực, người dạy đóng vai trò là “người hướng dẫn” giúpngười học thu được kết luận đúng thông qua sự chỉ dẫn, khuyến khích cũng như thách thức họ đạtđược mục đích học tập Phương pháp học tập tích cực có ý nghĩa quan trọng giúp học sinh biết cáchtìm, tra cứu tài liệu thông tin, tổ chức chúng, thực nghiệm và kiểm nghiệm các câu trả lời của mìnhthông qua ý kiến đánh giá của người thầy và của nhiều người
Chính vì thế để nâng cao chất lượng học tập của học sinh đối với môn học lập trình và giảicác bài toán bằng ngôn ngữ lập trình chúng ta cần nắm được rõ các khái niệm sau:
Ngôn ngữ lập trình (programming language) là dạng ngôn ngữ được chuẩn hóa theo một hệthống các quy tắc riêng, sao cho qua đó người lập trình có thể mô tả các chương trình làm việcdành cho thiết bị điện tử mà cả con người và các thiết bị đó đều hiểu được
Pascal là một ngôn ngữ lập trình máy tính thuộc dạng mệnh lệnh và thủ tục, được NiklausWirth phát triển vào năm 1970 là ngôn ngữ lập trình đặc biệt thích hợp cho kiểu lập trình cấutrúc và cấu trúc dữ liệu Được đặt theo tên của nhà toán học, triết gia và nhà vật lí ngườiPháp, Blaise Pascal
Pascal được phát triển theo khuôn mẫu của ngôn ngữ ALGOL 60 Wirth đã phát triển một sốcải tiến cho ngôn ngữ này như một phần của các đề xuất ALGOL X, nhưng chúng không được chấpnhận và Ngôn ngữ Pascal được phát triển riêng biệt và phát hành vào năm 1970 Một phiên bản cảitiến được gọi là Object Pascal được thiết kế cho lập trình hướng đối tượng được phát triển vào năm
1985, được sử dụng bởi Apple Computer và Borland vào cuối những năm 1980 và sau đó phát triểnthành ngôn ngữ Delphi trên nền tảng Microsoft Windows Wirth đồng thời cũng xây dựng Modula-
2 và Oberon, là những ngôn ngữ tương đồng với Pascal Oberon cũng hỗ trợ kiểu lập trình hướngđối tượng
Trang 5Một bài toán đố là một vấn đề có thể được giải quyết bằng toán học, thường được sử dụngtrong quá trình dạy toán để giúp học sinh hiểu sự liên quan giữa các vấn đề đời sống thường ngàyvới các khái niệm và ký hiệu toán học.
Để giải một bài toán trong ngôn ngữ lập trình chúng ta cần nắm vững các bước sau:
Hiệu chỉnh sau khi viết xong, chương trình cần phải được thử bằng một số bộ test tiêu biểu.Nếu phát hiện sai sót thì phải sửa chương trình rồi thử lại
Việc áp dụng tốt các khái niệm của ngôn ngữ lập trình cũng như cách làm của một số bàitoán sẽ giúp học sinh thực hiện việc giải một bài toán nhanh hơn Tạo sự hứng thú học tập bộ môntin học lập trình hơn Nâng cao nhận thức cũng như sự yêu mến với bộ môn lập trình
II THỰC TRẠNG VẤN ĐỀ:
Như chúng ta đã biết, tin học nói chung và máy tính nói riêng có mặt ở hầu khắp mọi nơi:các cơ quan, công sở, xí nghiệp, nhà máy, trường học, khu vui chơi giải trí, …
Vì vậy tin học cũng tác động rất lớn đến xã hội:
+ Giúp tăng hiệu quả sản xuất, hiệu quả cung cấp dịch vụ và quản lí
+ Sự phát triển của tin học cũng làm thay đổi nhận thức và cách thức tổ chức, vận hành cáchoạt động xã hội
+ Thay đổi phong cách sống của con người
Dựa vào các con số thông kê của Bộ Thông tin và truyền thông Việt Nam thiếu tới 500.000nhân viên công nghệ thông tin Và mức lương của ngành Công nghệ thông tin đứng top 3 trong tất
cả các ngành ở Việt Nam Có thể thấy rằng việc xin được việc của ngành lập trình là khá dễ dàng.Bởi nguồn nhân lực đang thiếu cùng với đó là sự phát triển của ngành công nghệ Khiến mọi thứcũng thay đổi nhu cầu cũng từ đó mà tăng cao
Trang 6Để định hướng nghề nghiệp cho tương lai của học sinh đáp ứng được nhu cầu của thời đạithì trước hết học sinh cần phải học tốt các môn học nhất là bộ môn ngôn ngữ lập trình pascal Vìđây chính là ngôn ngữ đầu tiên, tiền đề cho các ngôn ngữ khác mà học sinh sẽ học Nhưng hiện nayquá trình học tập và nghiên cứu bộ môn lập trình vẫn gặp rất nhiều khó khăn như:
Đời sống của người dân trong nhiều thôn, buôn còn nhiều khó khăn, nên việc đầu tư cho con
em mình trong học tập còn hạn chế
Phương tiện dạy và học, đặc biệt là phòng máy ở một số trường còn thiếu, bị hư hỏng nhiều.Một số giáo viên vẫn chưa linh hoạt khi áp dụng các phương pháp dạy học mới vào quá trìnhgiảng dạy cho học sinh
Môn Tin học lập trình là môn học khó nên vẫn còn có học sinh chưa thật sự đam mê mônhọc, một số em còn thụ động trong quá trình tiếp thu kiến thức
Học sinh nắm các bước để giải một bài toán một cách mơ hồ nên chưa thể áp dụng để giảicác bài toán khác
Học sinh tiếp nhận kiến thức một cách thụ động nên chưa khắc sâu được kiến thức
Tư duy toán học của các học sinh chưa thật đồng đều
Học sinh chưa linh động trong việc áp dụng toán học vào lập trình Chưa nắm rõ các bước
để giải một bài toán trong ngôn ngữ lập trình và các từ khóa để thể hiện các bài toán đó nên mức độhoàn thành bài làm của giáo viên còn hạn chế minh họa trong bảng số liệu sau:
Hoàn thành chương trình vẫn gặp lỗi
Chưa hoàn thành chương trình
HS Tự đề xuất vấn đề tìm hướng giải quyết ở trên lớp
Trang 7- Như chúng ta đã biết việc khuyến khích học sinh yêu thích bộ môn là một quá trình lâu dài,cần nhiều thời gian Vì vậy khi được phân công giảng dạy tại lớp nào đó, ngoài việc truyền thụ kiếnthức cơ bản cho toàn lớp, mỗi giáo viên chúng ta nên chú trọng vào việc tìm kiếm, lồng ghépnhững kiến thức mở rộng, nâng cao hoặc những bài toán trí tuệ nhanh vào tiết dạy hoặc bài kiểmtra
- Giống như các môn học khác, môn tin Học của chúng ta, muốn đạt được kết quả mỹ mãn,trước hết mỗi giáo viên phải thực sự đam mê với công việc, phải luôn trau dồi và nâng cao kiếnthức cho bản thân Mỗi giáo viên phải:
+ Cần chọn lọc những phương pháp dạy học tích cực dễ hiểu nhất để hướng dẫn cho họcsinh không nên máy móc theo hướng dẫn
+ Giúp học sinh định hướng và nhận ra cách giải và thuật toán của các dạng bài tập cơ bản.+ Hướng dẫn học sinh vận dụng được các công thức toán học vào giải một bài toán lập trình.Điều này giúp các em nhận biết các dạng bài tập và chọn hướng giải cho phù hợp
+ Định hướng cho học sinh các bước để giải một bài toán Yêu cầu học sinh đưa ra cách giảiriêng cho bài toán của mình
+ Hướng dẫn học sinh cách trình bày, cũng như cách lập luận bài làm, để khi các em làm bàiđạt kết quả tốt nhất
Trong quá trình giảng dạy, mỗi giáo viên phải tổng hợp được những kiến thức cơ bản, trọngtâm, dễ nhớ để đưa vào kiến thức của các em Chẳng hạn như một số bài toán sau:
2.1 Bài toán 1: Thử viết chương trình nhập các số nguyên X, và Y, in giá trị của X và Y ra
màn hình Sau đó hoán đổi các giá trị của X và Y rồi lại in ra màn hình giá trị của X và Y (Bài 2,SGK tin học dành cho THCS quyển 3 trang 35)
Do đây là chương trình đầu tiên mà học sinh được tự nghiên cứu trong chương trình họcngôn ngữ lập trình pascal nên t không yêu cầu học sinh phải hiểu rõ tất cả các câu lệnh của chươngtrình, chỉ cần học sinh bước đầu làm quen với cách khai báo và sử dụng biến trong chương trìnhthôi Vì thế tiến trình dạy học sẽ diễn ra như sau:
Hoạt động giáo viên: Hoạt động học sinh:
- Gv: Bạn nào có thể tóm tắt bài toán?
- Gv: dựa vào tóm tắt bài toán, bạn nào có thể
cho cô biết bài toán này cần sử dụng những biến
nào để lưu giá trị?
- Hs:
+ Nhập giá trị của X và Y+ In giá trị của X và Y ra màn hình+ Hoán đổi giá trị của X và Y+ In lại giá trị của X và Y ra màn hình
- Hs: Biến x để lưu giá trị của X, biến y để lưugiá trị của Y
Trang 8- Gv: Ngoài hai biến x, y ra chúng ta còn cần sử
dụng những biến nào nữa?
- Gv: muốn biết chương trình còn cần sử dụng
những biến nào nữa thì ta cần phải biết cách giải
bài toán này Sau khi đã biết cách giải chúng ta
sẽ dễ dàng biết được bài toán này có những biến
nào
- Gv: Để có thể hoán đổi được giá trị của hai
biến X và Y Chúng ta cùng nghiên cứu một trò
chơi như sau: Cô có hai cốc nước màu xanh là
cốc đánh số 1 và màu đỏ lần được được đánh số
2 Làm cách nào để hoán đổi hai cốc nước với
nhau, sao cho cốc màu đỏ được đánh số 1, cốc
màu xanh được đánh số 2? Cho phép sử dụng
một cốc phụ đánh số 3 không có nước
- Gv: Chia học sinh trong lớp ra thành 4 nhóm
Mỗi nhóm có 3 cốc với 2 cốc là màu xanh và đỏ
với cốc số 3 là cốc không có nước Yêu cầu các
nhóm học sinh tiến hành thảo luận theo nhóm
Tìm ra cách để hoán đổi nước trong các cốc
- Gv quan sát nhắc nhở các nhóm thực hành cẩn
thận và nghiên túc tránh đổ nước gây mất vệ
sinh
- Gv yêu cầu các nhóm báo cáo kết quả thảo
luận của nhóm mình Thực hiện cho cả lớp cùng
giống như phép toán nào chúng ta vừa học trong
bài 4: sử dụng biến và hằng trong chương trình?
- Gv: tương tự như vậy chúng ta có thể hoán đổi
giá trị của hai biến X và Y không? Chúng ta
- Hs suy nghĩ và trả lời theo hiểu biết của mình
Trang 9thực hiện như thế nào?
- Gv: Vậy bài toán này chúng ta cần sử dụng bao
nhiêu biến? Đó là những biến nào?
- Gv: Những biến này có kiểu dữ liệu là gì?
- Gv: Vậy khai báo biến ta sử dụng từ khóa nào?
- Gv: Hãy khi báo biến cho bài toán trên?
- Gv cho học sinh tham khảo chương trình sau:
- Gv hướng dẫn thêm cho học sinh ý nghĩa của
một số câu lệnh trong chương trình Dịch và
chạy chương trình cho học sinh quan sát
- Gv yêu cầu học sinh gõ lại đoạn chương trình
trên vào máy, dịch và chạy chương trình
- Gv quan sát và giúp đỡ các nhóm học sinh
thực hành
- Gv: Vậy chúng ta đã hoàn thành giải một bài
toán trong ngôn ngữ lập trình Pascal Quá trình
chúng ta tóm tắt bài toán cũng chính là quá trình
xác định bài toán Quá trình tìm cách hoán đổi
hai giá trị của X và Y chính là việc mô tả thuật
toán Viết chương trình, dịch và chạy chương
trình là các bước cuối cùng để hoàn thiện giải
một bài toán Vậy chi tiết của các bước này như
thế nào chúng ta sẽ cùng nghiên cứu trong bài 5:
và Y Cách thực hiện như sau:
Trang 10Từ bài toán đến chương trình.
- Quá trình dạy học như thế này, yêu cầu giáo viên phải nghiên cứu bài thật kỹ trước khi lênlớp Tìm ra phương pháp hợp lý nhất để hướng dẫn học sinh làm việc, trong những tiết học như thếnày giáo viên sẽ hoạt động nhiều hơn nhưng chỉ với vai trò là đưa ra vấn đề và yêu cầu học sunhphải giải quyết vấn đề mà giáo viên đưa ra Như vậy học sinh sẽ là người làm chủ kiến thức củamình, học sinh chủ động hơn trong quá trình tiếp thu kiến thức
2.1 Bài toán 2: Tìm số lớn nhất trong dãy A các số a1, a2, a3, …, an cho trước (Ví dụ 6,
SGK tin học dành cho THCS quyển 3 trang 43)
Để có thể giải được bài toán này giáo viên có thể tiến hành giải quyết như sau:
Hoạt động giáo viên Hoạt động học sinh
- Gv: hãy xác định bài toán trên
- Gv: Để có thể đưa ra các bước mô tả cho thuật toán
này Chúng ta cùng thực hiện một hoạt động tìm bạn
lớn nhất trong nhóm Yêu cầu của hoạt động này là các
nhóm có thể dùng tất cả mọi dụng cụ có thể, hãy xác
định bạn cao nhất trong nhóm của mình Nêu rõ cách
thực hiện vào bảng nhóm
- Gv tổng hợp kết quả làm việc của các nhóm
- Gv yêu cầu các nhóm học sinh đưa ra nhận xét cho
là người cao nhất
+ Nhóm 3 xem bạn đầu tiên là cao nhất,lần lượt so sánh bạn đầu tiên với các bạncòn lại, nếu bạn tiếp theo cao hơn bạn đầutiên thì ta giữ lại bạn cao hơn So sánhnhư vậy đến hết nhóm, bạn cuối cùng cònlại ở trên chính là bạn cao nhất
+ Nhóm 4 …
- Các nhóm học sinh sẽ biện luận để bảo
vệ ý kiến của nhóm mình
Trang 11- Gv: tại sao các bạn cùng lớp, cùng độ tuổi lại có
chiều cao khác nhau?
- Gv: Ngoài yếu tố gen di truyền, chúng ta phải làm gì
để cũng cố chiều cao của mình?
- Gv: Ngoài các yếu tố trên Ở mỗi độ tuổi khác nhau
thì quá trình phát triển chiều cao cũng sẽ khác nhau…
Lồng ghép giáo dục giới tính cho học sinh
- Gv chốt lại: trong các cách tìm kiếm này, cách nào
cũng đúng và cuối cùng cũng đều đưa ra kết quả là bạn
cao nhất Nhưng cách để có thể viết và đưa ra câu lệnh
cho chương trình máy tính hoạt động nhanh nhất theo
cô là cách thứ 3 Đây cũng chính là cách tìm số lớn
nhất trong dãy số mà chúng ta đang nghiên cứu ví dụ
Vậy dựa vào cách làm này các em hãy mô tả thuật toán
tìm số lớn nhất trong dãy số a1, a2, …, an
- Gv nhận xét, yêu cầu học sinh dựa vào thuật toán trên
tìm con thỏ nặng nhất trong số bốn con thỏ có trọng
lượng tương ứng 2, 1, 5, 3 kilogam;
- Hs: Các yếu tố ảnh hưởng đến sự pháttriển chiều cao:
+ Yếu tố gen di truyền+ Yếu tố dinh dưỡng+ Yếu tố vận động+ Yếu tố giới tính
- Hs: ăn uống và tập luyện thể dục thểthao hợp lý
- Hs: lắng nghe
- Hs:
+ Bước 1: MAX <= a1; i<=1;
+ Bước 2: Nếu ai >MAX, gán MAX
<=ai;
+ Bước 3: i <=i+1;
+ Bước 4: Nếu i ≤ n, quay lại bước 2;+ Thông báo giá trị MAX và kết thúcthuật toán
- Hs:
+ Bước 1: MAX<=2; i<=1;
+ Bước 2: so sánh MAX với con thỏ thứhai Vì trọng lượng con thỏ thứ hai(bằng1) nhỏ hơn trọng lượng của thỏ số 1, do
đó MAX vẫn bằng 2;
+ Bước 3: tiếp tục so sánh MAX vớitrọng lượng thỏ thứ 3 Vì trọng lượng thỏthứ 3 lớn hơn MAX, do đó MAX=5;