PHÒNG GIÁO D
ỤC VÀ ĐÀO TẠO KRÔNG ANA
KINH NGHIỆM
TRƯỜNG THCS BUÔN TRẤP
SỬ DỤNG NGÔN NGỮ LẬP TRÌNH PASCAL ĐỂ
MỤC LỤC
GIẢI MỘT SỐ BÀI TOÁN
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
Họ và tên: Nguy
ễn Thị Thu Thủy
Phạm vi nghiên c
ứu:................................................................................................ 1
Đơn vị công tác: THCS Buôn Trấp
II. Mục tiêu nghiên cứu:.....................................................................................................
Chức v1 ụ: Giáo viên
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
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
DANH MỤC CHỮ CÁI VIẾT TẮT
VIẾT TẮT
Gv
Hs
GDĐT
THCS
IT
VIẾT ĐẦY ĐỦ
Giáo viên
Học sinh
Giáo dục – đào tạo
Trung học cơ sở
Công nghệ thông tin
Người viết: Nguyễn Thị Thu Thủy Trang 1
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Người viết: Nguyễn Thị Thu Thủy Trang 2
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
PHẦN THỨ NHẤT: MỞ ĐẦU
I. ĐẶT VẤN ĐỀ:
Lý do chọn đề tài:
Theo Trưởng Ban Kinh tế Trung ương Nguyễn Văn Bình, Cách mạng công
nghiệp 4.0 (CMCN 4.0) mang lại cơ hội cho các nước đang phát triển, giúp rút ngắn quá trình
công nghiệp hoá bằng cách đi tắt đón đầu, phát triển nhảy vọt lên công nghệ cao hơn.
Nghị 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 động củ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ào giả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ện
GD&Đ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
sinh vậ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ác nă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ọc
sinh 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ắm vữ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 trinh 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ạo
trong học tập bộ môn.
Người viết: Nguyễn Thị Thu Thủy Trang 3
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toá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 đó sang
ngô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.
PHẦ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ấp
thiế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ều kiệ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,
đào tạ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ăng lự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ôt trong 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ạy hoc.
̣
Đổi mới phương pháp dạy hoc c
̣ ủa người thầy bắt nguồn từ yêu cầu học tập của ngươì
hoc. 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ả hoc tâp. Đây cung là ph
̣ ̣
̃
ương pháp giúp cho ngươi hoc 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 day đóng vai trò là “ng
̀ ̣
ười
hướng dẫn” giúp ngươ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ách tì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ình thô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ải cá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ệc dà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 Niklaus Wirth 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ấu trú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ười Phá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ấp nhậ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
Người viết: Nguyễn Thị Thu Thủy Trang 4
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
phiên bản cải tiế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ển thành ngôn ngữ Delphi trên nền tảng Microsoft Windows. Wirth đồng
thời cũng xây dựng Modula2 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.
Mộ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ụng trong 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ày vớ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:
+ Xác định bài toán
+ Mô tả thuật toán
+ Viết chương trình
+ Hiệu chỉnh.
Vậy, xác định bài toán là xác định rõ 2 thành phần Input và Output và mối quan hệ giữa
chúng để có thể lựa chọn thuật toán và ngôn ngữ lập trình thích hợp.
Mô tả thuật toán là bước quan trọng nhất để giải bài toán. Có thể có nhiều thuật toán để
giải một bài toán, cần thiết kế hoặc chọn 1 thuật toán phù hợp để giải bài toán cho trước.
Viết chương trình là việc lựa chọn cách tổ chức dữ liệu và sử dụng ngôn ngữ lập trình
để diễn đạt đúng thuật toán. Khi chọn ngôn ngữ lập trình nào phải tuân theo quy định ngữ pháp
của ngôn ngữ đó.
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ài
toá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ôn tin 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í.
Người viết: Nguyễn Thị Thu Thủy Trang 5
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
+ 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ác hoạ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.000 nhâ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.
Để đị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
đại thì 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 nay quá 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ình giả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ôn
họ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ải cá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:
Tổng
Số
Mức độ hoàn thành bài tập được giáo viên đưa ra
Hoàn
Hoàn
Chưa
HS Tự đề xuất
thành
thành
hoàn
vấn đề tìm
Người viết: Nguyễn Thị Thu Thủy Trang 6
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
chương
trình
Lớp
HS
không có
lỗi
8a3
38
TS
3
8a5
42
4
chương
thành
hướng giải
trình vẫn
chương
quyết ở trên
gặp lỗi
trình
lớp
%
7.9
TS
17
%
47.7
TS
18
%
47.4
TS
3
%
7.9
9.5
18
42.9
20
47.6
5
11.9
III. CÁC GIẢI PHÁP ĐÃ TIẾN HÀNH ĐỂ GIẢI QUYẾT VẤN ĐỀ:
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ến thứ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ép nhữ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ểm tra.
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ến thứ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ọc sinh 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ải riê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ọng tâ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:
Người viết: Nguyễn Thị Thu Thủy Trang 7
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
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ọc
ngô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ương trì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ình thôi. Vì thế tiến trình dạy học sẽ diễn ra như sau:
Hoạt động giáo viên:
Gv: Bạn nào có thể tóm tắt bài toán?
Hoạt động học sinh:
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.
Gv: dựa vào tóm tắt bài toán, bạn nào có thể Hs: Biến x để lưu giá trị của X, biến y để lưu
cho cô biết bài toán này cần sử dụng những giá trị của Y.
biến nào để lưu giá trị?
Gv: Ngoài hai biến x, y ra chúng ta còn cần Hs suy nghĩ và trả lời theo hiểu biết của
sử dụng những biến nào nữa?
mình.
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
Hs lắng nghe.
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à
Hs các nhóm thực hiện quá trình đổi nước
Người viết: Nguyễn Thị Thu Thủy Trang 8
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
đỏ với cốc số 3 là cốc không có nước. Yêu cầu trong các cốc.
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 Các nhóm học sinh báo cáo kết quả làm
luận của nhóm mình. Thực hiện cho cả lớp được.
cùng quan sát.
+ Lấy cốc thứ nhất đổ qua cốc thứ 3
+ Lấy cốc thứ hai đổ qua cốc thứ nhất
+ Nhất cốc thứ 3 đổ qua cốc thứ hai
Gv nhận xét quá trình thực hành của các Hs lắng nghe.
nhóm đồng thời nhắc nhở về ý thức thực hành
của một số nhóm.
Gv: Cách chúng ta đổ nước vào cốc thứ 3
Hs: Phép toán gán
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
Hs: Chúng ta có thể hoán đổi hai giá trị của X
chương trình?
Gv: tương tự như vậy chúng ta có thể hoán và Y. Cách thực hiện như sau:
đổi giá trị của hai biến X và Y không? Chúng + z:=x;
ta thực hiện như thế nào?
+ x:=y;
+ y:=z;
Hs: ba biến, đó là biến x, y, z
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ì?
Hs: số nguyên Integer;
Hs: Var
Gv: Vậy khai báo biến ta sử dụng từ khóa
Hs: Var x,y,z:integer;
nào?
Hs quan sát
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:
Người viết: Nguyễn Thị Thu Thủy Trang 9
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Hs lắng nghe và quan sát.
Gv hướng dẫn thêm cho học sinh ý nghĩa của Hs làm theo yêu cầu của giáo viên.
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.
Hs lắng nghe.
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: Từ 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ên lớ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 sunh phả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ủa mì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:
Người viết: Nguyễn Thị Thu Thủy Trang 10
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Hoạt động giáo viên
Gv: hãy xác định bài toán trên
Hoạt động học sinh
Hs:
+ Input: Dãy A các số a1, a2, a3, …, an
(n>=1)
+ Output: Giá trị MAX =max(a1, a2,
…,an)
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.
Các nhóm học sinh thực hiện hoạt
động tìm bạn cao nhất trong nhóm của
mình, viết cách thực hiện vào bảng
nhóm.
Hs:
+ Nhóm 1 dùng thước đo chiều cao của
các bạn, bạn nào có số đo cao hơn thì
bạn đó sẽ là người cao nhất.
+ Nhóm 2 xếp hàng các bạn theo thứ tự
từ thấp đến cao, bạn nào đứng cuối
cùng sẽ là người cao nhất.
+ Nhóm 3 xem bạn đầu tiên là cao nhất,
Gv tổng hợp kết quả làm việc của các nhóm
lần lượt so sánh bạn đầu tiên với các
bạn còn lại, nếu bạn tiếp theo cao hơn
bạn đầu tiên thì ta giữ lại bạn cao hơn.
So sánh như vậy đến hết nhóm, bạn
cuối cùng còn lại ở trên chính là bạn cao
Gv yêu cầu các nhóm học sinh đưa ra nhận xét cho nhất.
từng cách làm của các nhóm.
+ Nhóm 4 ….
Gv: tại sao các bạn cùng lớp, cùng độ tuổi lại có
Các nhóm học sinh sẽ biện luận để
chiều cao khác nhau?
bảo vệ ý kiến của nhóm mình.
Hs: Các yếu tố ảnh hưởng đến sự phát
triển chiều cao:
+ Yếu tố gen di truyền
+ Yếu tố dinh dưỡng
Gv: Ngoài yếu tố gen di truyền, chúng ta phải làm + Yếu tố vận động
Người viết: Nguyễn Thị Thu Thủy Trang 11
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
gì để cũng cố chiều cao của mình?
+ Yếu tố giới tính.
Gv: Ngoài các yếu tố trên. Ở mỗi độ tuổi khác nhau Hs: ăn uống và tập luyện thể dục thể
thì quá trình phát triển chiều cao cũng sẽ khác nhau… thao hợp lý.
Lồng ghép giáo dục giới tính cho học sinh.
Hs: lắng nghe.
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à
Hs:
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 + Bước 1: MAX <= a1; i<=1;
nhất theo cô là cách thứ 3. Đây cũng chính là cách tìm + Bước 2: Nếu ai >MAX, gán MAX
số lớn nhất trong dãy số mà chúng ta đang nghiên cứu <=ai;
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;
+ 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úc
thuậ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ằng
1) 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ới
trọng lượng thỏ thứ 3. Vì trọng lượng
thỏ thứ 3 lớn hơn MAX, do đó MAX=5;
+ Bước 4: So sánh MAX với con thỏ
thứ 4, MAX lớn hơn trọng lượng của
con thỏ thứ 4, do đó MAX vẫn bằng 5.
Người viết: Nguyễn Thị Thu Thủy Trang 12
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Gv viết chương trình cho học sinh quan sát:
Kết quả, thỏ nặng nhất có trọng lượng
là 5.
Hs quan sát giáo viên viết và chạy
chương trình.
Gv chạy chương trình cho học sinh quan sát:
Đối với cách thực hiện như thế này sẽ phát huy được tối đa tình thần tự nghiên cứu và tự
học của học sinh. Với cách này giáo viên chỉ đóng vai trò dẫn dắt, đưa ra vấn đề cho học sinh
giải quyết. Từ đó khắc sâu được kiến thức cho học sinh. Ngoài ra giáo viên còn lồng ghép đươc
giáo dục sức khỏe, tâm sinh lý lứa tuổi của học sinh.
2.2. Bài toán 3: Viết chương trình nhập điểm của các bạn trong lớp. Sau đó in ra màn
hình số bạn đạt kết quả học tập loại giỏi, khá, trung bình vầ kém (theo tiêu chuẩn > 8.0 điểm:
Giỏi, từ 6.5 điểm đến 7.9 điểm: Khá, từ 5 điểm đến 6.5 điểm: Trung bình và dưới 5 điểm:
Kém). (SGK tin học dành cho THCS quyển 3 trang 147)
Hoạt động giáo viên
Gv: Hãy xác định bài toán đã cho
Hoạt động học sinh
Hs:
+ Input: Điểm của các bạn trong lớp
+ Output: Xếp loại của các học sinh theo tiêu chí: Số
các bạn đạt kết quả học tập loại giỏi, khá, trung bình,
yếu (theo tiêu chuẩn từ 8.0 trở lên đạt loại Giỏi, từ 6.5
đến 7.9 đạt loại Khá, từ 5.0 đến 6.4 đạt trung bình và
dưới 5.0 xếp loại kém)
Gv: Dựa và xác định bài toán, hãy mô Hs:
Người viết: Nguyễn Thị Thu Thủy Trang 13
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
tả thuật toán cho bài toán trên. (yêu
cầu các học sinh hoạt động theo cặp
đôi, hai học sinh cùng thảo luận và
đưa ra kết quả)
Gv: chia lớp thành 4 nhóm lớn và yêu
cầu các học sinh thực hiện những
nhiệm vụ sau:
+ Nhóm 1: Khai báo các biến sẽ sử
dụng trong chương trình
+ Nhóm 2: Viết đoạn chương trình
nhập số bạn và nhập điểm của các
bạn trong lớp
+ Nhóm 3: Viết đoạn chương trình
kiểm tra điều kiện để in ra kết quả
học tập của các học sinh theo yêu
cầu:
Nếu A[i]>=8.0 thì G:=G+1;
Nếu A[i]<8.0 và A[i]>=6.5 thì
K:=K+1;
Nếu A[i]<6.5 và A[i]>=5.0 thì
Tb:=Tb+1;
Nếu A[i]<5.0 thì Ke: Ke:=Ke+1;
+ Bước 1: Nhập số bạn trong lớp N và dãy a1, a2, …, an.
+ Bước 2: G:=0; K:=0; Tb:=0; Ke:=0;
+ Bước 3: i
Nếu A[i]>=8.0 thì G:=G+1;
Nếu A[i]<8.0 và A[i]>=6.5 thì K:=K+1;
Nếu A[i]<6.5 và A[i]>=5.0 thì Tb:=Tb+1;
Nếu A[i]<5.0 thì Ke: Ke:=Ke+1;
+ Bước 4: i>n. In kết quả ra màn hình
Các nhóm thực hiện theo yêu cầu của giáo viên
+ Nhóm 4: Viết câu lệnh in kết quả ra
màn hình.
Hs nhóm 1:
Gv: yêu cầu các nhóm báo cáo kết
program Phanloai;
quả hoạt động của nhóm mình.
uses crt;
Var i, n, G, K, Tb, Ke: integer;
Gv: Bài này chúng ta sử dụng những A: array[1..100] of real;
biến nào?
Hs: trả lời theo khai báo, giải thích ý nghĩa của các
Người viết: Nguyễn Thị Thu Thủy Trang 14
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Gv: biến mảng A: array[1..100] of biến.
real; được dùng để làm gì?
Gv: Có cần thiết phải khai báo số Hs: để lưu số học sinh của một lớp
phần tử của biến mảng là 100 không?
Hs: không, vì số học sinh của một lớp theo em biết
Vì sao?
không có lớp nào hơn 45 học sinh.
Gv: Vậy số phần tử của mảng cần
Hs: 50
khai báo là bao nhiêu?
Gv: Theo thông tư số 12/2011/TT
BGDĐT quy định mỗi lớp ở các cấp Hs lắng nghe.
THCS và THPT có không quá 45 học
sinh.
Gv yêu cầu Hs nhóm 2 báo cáo
Hs nhóm 2:
Begin
write('Nhap so cac ban trong lop, n = ');
readln(n);
writeln('Nhap diem:');
For i:=1 to n do
Begin
write('hoc sinh [', i ,']=');
readln(a[i]);
End;
Gv yêu cầu học sinh giải thích các Hs giải thích các câu lệnh
câu lệnh
Gv: đoạn lệnh này dùng để làm gì?
For i:=1 to n do
Begin
Hs: dùng để nhập điểm của các bạn học sinh trong
lớp.
write('hoc sinh [', i ,']=');
readln(a[i]);
End;
Gv yêu cầu Hs nhóm 3 báo cáo
Hs nhóm 3:
Người viết: Nguyễn Thị Thu Thủy Trang 15
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
G:=0; K:=0; Tb:=0; Ke:=0;
for i:=1 to n do
begin
if a[i]>=8.0 then G:=G+1;
if (a[i]<8.0) and (a[i]>=6.5) then K:=K+1;
if (a[i]>=5)and(a[i]<6.5)then Tb:=Tb+1;
if a[i]<5 then Ke:=Ke+1;
Gv yêu cầu Hs giải thích các câu end;
lệnh.
Hs giải thích.
Gv: Viết câu lệnh in kết quả ra màn Hs nhóm 4:
hình
writeln('Ket qua hoc tap:');
writeln(G,' ban hoc gioi');
writeln(K,' ban hoc kha');
writeln(Tb,' ban hoc trung binh');
writeln(Ke,' ban hoc yeu');
readln;
End.
Hs giải thích.
Gv yêu cầu hs giải thích các câu
Hs: trả lời theo hiểu biết
lệnh
Gv: theo quy chế đánh giá xếp loại
học sinh trung học cơ sở thì cách xếp
Hs lắng nghe.
loại như trên đã đúng chưa?
Gv: giải thích thêm điểm trung bình
các môn học từ 8,0 trở lên, trong đó
điểm trung bình của 1 trong 2 môn
Toán, Ngữ văn từ 8,0 trở lên; riêng đối
với học sinh lớp chuyên của trường
THPT chuyên phải thêm điều kiện
điểm trung bình môn chuyên từ 8,0 trở
lên; Không có môn học nào điểm
trung bình dưới 6,5; Các môn học
Người viết: Nguyễn Thị Thu Thủy Trang 16
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
đánh giá bằng nhận xét đạt loại Đ.
Gv các loại khác chúng ta về nghiên
cứu thông tư 58/2011/TTBGDĐT. Vì Hs lắng nghe.
thế các em hãy tập trung học đều các
môn học nếu các em muốn đạt kết
quả cao ở cuối năm.
Gv yêu cầu học sinh gõ chương trình Hs làm theo yêu cầu của giáo viên
đã viết vào máy, dịch và chạy chương Hs làm theo yêu cầu của giáo viên
trình.
Hs dịch và chạy chương trình.
Ở nội dung này, giáo viên cũng sẽ là người dẫn dắt, điều hành các em thực hiện nhiệm
vụ của mình. Các em học sinh sẽ hoạt động theo nhóm, cặp đôi, thảo luận, phản biện để bảo
vệ và đưa ra kết luận cho công việc nhóm mình thực hiện. Các em học sinh sẽ chủ động trong
việc hình thành kiến thức, tự tin hơn khi tự phản biện bảo vệ ý kiến của nhóm mình nâng cao
khả năng nói trước đám đông. Bên cạnh đó giáo viên còn có thể lồng ghép hướng dẫn cho học
sinh về ý thức học tập, về quy trình đánh giá xếp loại học tập của học sinh để học sinh có thể
Người viết: Nguyễn Thị Thu Thủy Trang 17
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
hiểu và chủ động đưa ra định hướng và cách học riêng cho bản thân mình để đạt kết quả tốt
nhất trong học tập.
IV. Tính mới của giải pháp:
Vận dụng linh hoạt các phương pháp dạy học tích cực trong quá trình dạy học: phương
pháp vấn đáp, phương pháp đặt và giải quyết vấn đề, phương pháp thảo luận nhóm.
Phát huy được tính tích cực, chủ động của học sinh trong quá trình tiếp thu kiến thức.
Lồng ghép giáo dục ý thức học tập, kỹ năng sống cho học sinh.
Tạo không khí sôi nổi trong giờ học, kích thích hứng thú học tập của học sinh đã tạo cho
các em tính mạnh dạn, tự tin hơn khi trình bày và phát biểu ý kiến của mình.
Tôi sẽ tiếp tục phát triển các giải pháp nêu trên và ứng dụng các giải pháp đó vào giảng
dạy môn Tin học ở các năm học tiếp theo.
V. HIỆU QUẢ SKKN:
Nâng cao chất lượng giảng dạy bộ môn Tin học.
Tỉ lệ học sinh ứng dụng kiến thức đã học vào thực hành giải quyết vấn đề tăng lên rõ
rệt.
Nâng cao ý thức trách nhiệm của người học sinh trong học tập cũng như trong cuộc sống
hằng ngày.
Các em đã chủ động trong việc tự học, mạnh dạn, tự tin tìm hiểu, đề xuất những vấn đề
có trong thực tế để trao đổi với bạn bè, với thầy cô giáo để tìm kiến thức mới, tìm hướng giải
quyết cùng nhau chia sẻ những điều đã biết hoặc chưa biết, phát huy vai trò tự giác, ý thức cá
nhân và tinh thần tự học trong từng hoạt động học tập. Những kỹ năng giao tiếp cần thiết giúp
học sinh từng bước tự khẳng định mình.
Điều đó cho thấy, các biện pháp nêu trên đã có tính khả thi và mang lại hiệu quả tích cực.
Qua học kỳ II của năm học 2017 – 2018, các lớp thực nghiệm với giải pháp nêu trên đã đạt
được những kết quả rất khả quan về mặt học tập và năng lực xử lí.
Thực nghiệm sư phạm được tiến hành từ tháng 10/2017 đối với HS lớp 8 học Trường
THCS Buôn Trấp, Krông Ana, Đăk Lăk với các lớp thực nghiệm (TN), đối chứng (ĐC) sau khi
phát phiếu điều tra học sinh đã thu được kết quả như sau: Tổng số lớp: 02 lớp
Lớp TN: 8A1, lớp ĐC: 8A2.
Tổng số học sinh: 82
Người viết: Nguyễn Thị Thu Thủy Trang 18
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Mức độ hoàn thành bài tập được giáo viên đưa ra
Hoàn
Tổng
Nhóm
Số
Lớp
HS
thành
chương
trình
không có
lỗi
Thực nghiệm
8a1
Đối chứng
8a2
Hoàn
Chưa
HS Tự đề xuất
thành
hoàn
vấn đề tìm
chương
thành
hướng giải
trình vẫn
chương
quyết ở trên
gặp lỗi
trình
lớp
42
TS
30
%
71.4
TS
12
%
28.6
TS
0
%
0
TS
28
%
66.7
40
5
12.5
12
30.0
23
57.5
10
25.0
* Về kết quả học tập
Kết quả bài kiểm tra thường xuyên
Tổng
Nhóm
Thực nghiệm
Đối chứng
Số
Lớp
HS
8a1
8a2
42
40
Điểm 810
Điểm 6.5
Điểm 56.5
Điểm 3.5 5
TS
15
13
TS
0
0
8
TS
7
5
%
16.7
12.5
TS
20
22
%
47.6
55.0
%
35.7
32.5
%
0
0
Qua việc trực tiếp tiến hành dạy học, tôi thấy ở lớp TN, HS hứng thú tham gia vào quá
trình học tập dưới sự hướng dẫn của GV, tư duy của HS cũng có những thay đổi tích cực.
Mức độ hứng thú và phát triển của HS ngày càng tăng từ tiết học trước đến tiết học sau,
đặc biệt thể hiện ở sự phản ứng của HS trước những câu hỏi của GV, trong tiết đầu tiên, vì
chưa quen với cách tổ chức và hướng dẫn học, phản ứng của các em còn chậm, chưa chủ động
phát biểu ý kiến của mình. Ở tiết thứ hai, do đã qua một giờ luyện tập và được sự định hướng
của GV để tiến hành tìm hiểu kiến thức mới, có sử dụng các giải pháp trên nên phản ứng của
HS đã nhanh nhẹn hơn, quá trình học tập diễn ra sôi nổi, tích cực hơn, HS tỏ ra ngạc nhiên,
thích thú trước những tình huống mới xuất hiện trong bài học, háo hức đưa ra câu trả lời và còn
Người viết: Nguyễn Thị Thu Thủy Trang 19
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
đưa ra thêm tình huống để cô và trò cùng giải quyết. Ở tiết học thứ 3, HS đã hoàn toàn chủ
động, tích cực đưa ra các ý kiến, biết suy luận, đặt vấn đề, biết định hướng giải quyết vấn đề.
PHẦN THỨ BA: KẾT LUẬN, KIẾN NGHỊ:
I. KẾT LUẬN:
Nhằm nâng cao hiệu quả và chất lượng bộ môn tin học, giáo viên phải thực hiện chiến
lược lâu dài, phải tìm kiếm được đối tượng học sinh có năng khiếu đặc biệt đối với bộ môn
thông qua bài giảng với những câu hỏi và tình huống nhanh để phát hiện đối tượng có năng
khiếu đặc biệt đó.
Người giáo viên phải linh hoạt đổi mới phương pháp giảng dạy sao cho lôi cuốn học
sinh và tạo được sự đam mê để chính các em yêu thích và khám phá môn học do các em lựa
chọn.
Qua nhiều năm áp dụng nội dung nghiên cứu này, chúng tôi nhận thấy số lượng học
sinh tham gia trong các kỳ thi học sinh giỏi bộ môn tin học ngày càng nhiều, chất lượng của các
em học sinh cũng được nâng lên rõ rệt.
II.
Ý KIẾN ĐỀ XUẤT:
1. Đối với Phòng Giáo dục và Đào tạo:
Lãnh đạo phòng, lãnh đạo các trường nên tiếp tục duy trì khuyến khích học sinh lớp 8
tham gia thi học sinh giỏi môn tin học, để học sinh xác định được hướng lựa chọn cho bản thân
cũng như khuyến khích tinh thần tự học, tự nghiên cứu của học sinh ngay từ khi mới làm quen
với ngôn ngữ lập trình và bài toán.
Các giáo viên giảng dạy môn toán học nên ra một số đề toán cơ bản và yêu cầu học sinh
có thể chuyển đổi sang ngôn ngữ lập trình.
2. Đối với các trường:
Nên tổ chức chuyên đề đổi mới phương pháp dạy học môn Tin học ở các cụm trường
với nhau, để trao đổi, học hỏi kinh nghiệm lẫn nhau.
Người viết: Nguyễn Thị Thu Thủy Trang 20
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Cần chú trọng hơn nữa công tác bồi dưỡng học sinh giỏi nói chung môn Tin học nói
riêng.
Buôn Trấp, Ngày 26 tháng 4 năm 2019
Người viết
Nguyễn Thị Thu Thủy
TÀI LIỆU THAM KHẢO
+ SGK tin học quyển 3
+ Sách giáo viên tin học quyển 3
+ Hoạt động dạy học ở trường THCS (Nguyễn Bảo Ngọc – Hà Thị Đức)
Người viết: Nguyễn Thị Thu Thủy Trang 21
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
Nhận xét của Hội đồng chấm sáng kiến kinh nghiệm cấp trường
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
CHỦ TỊCH HỘI ĐỒNG CHẤM SKKN CẤP TRƯỜNG
Nhận xét của Hội đồng chấm sáng kiến kinh nghiệm cấp Huyện
......................................................................................................................................................................
......................................................................................................................................................................
......................................................................................................................................................................
Người viết: Nguyễn Thị Thu Thủy Trang 22
Kinh nghiệm “Sử dụng ngôn ngữ lập trình Pascal để giải toán”
......................................................................................................................................................................
......................................................................................................................................................................
CHỦ TỊCH HỘI ĐỒNG CHẤM SKKN CẤP HUYỆN
Người viết: Nguyễn Thị Thu Thủy Trang 23