Trong các khối lớp học thì Tin học lớp 8 là môn học tương đối khá trừu tượng, khó hiểu, nếu không nói là khô khan khó nuốt đối với các em. Việc học tốt môn Tin học lại càng khó khăn hơn đối với các em vì hầu hết kiến thức chủ yếu và trọng tâm của chương trình là lập trình trên môi trường ngôn ngữ Pascal, đòi hỏi học sinh phải chú ý tìm hiểu kỹ vấn đề, hiểu được cách giải bài toán, hiểu cách mô tả thuật giải bài toán, cách viết chương trình, kiểm lỗi, sửa lỗi chương trình và chạy thử; Trong quá trình giảng dạy bản thân tôi nhận thấy học sinh khối 8 là khối học rất sợ môn Tin học vì kiến thức lập trình khá mới mẻ và khó hiểu. Các em phải tập trung cao độ, tìm hiểu chặt chẽ vấn đề của từng bài toán trên cơ sở hướng dẫn của giáo viên thì mong mới hiểu được cách viết lập trình cho một bài toán; Chính vì vậy, để giúp các em hiểu được vấn đề của ngôn ngữ lập trình Pascal và hiểu được cách mô tả bài toán, lập trình viết bài toán nên tôi mạnh dạn chọn giải pháp “Một số biện pháp rèn kỹ năng thực hành trong lập trình Pascal bộ môn Tin học lớp 8” để giúp học sinh tiến bộ hơn trong học tập đặc biệt là các giờ thực hành ở bộ môn Tin học khối 8 bậc Trung học cơ sở.
Trang 1SÁNG KIẾN ĐỀ NGHỊ THẨM ĐỊNH, ĐÁNH GIÁ Ở CẤP: Ngành
TÊN SÁNG KIẾN:
MỘT SỐ BIỆN PHÁP RÈN LUYỆN KỸ NĂNG THỰC HÀNH
TRONG LẬP TRÌNH PASCAL
BỘ MÔN TIN HỌC LỚP 8
Tác giả Sáng kiến: Lưu Tuấn Anh
Chức vụ: Giáo viên.
Đơn vị công tác: Trường THCS Yên Phụ.
Bộ môn (chuyên ngành): Tin học
Trang 2
Yên Phụ, tháng 10 năm 2018
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập - Tự do - Hạnh phúc
ĐƠN YÊU CẦU CÔNG NHẬN SÁNG KIẾN Cấp cơ sở đơn vị………
Kính gửi: Hội đồng sáng kiến cấp … (theo cấp tác giả yêu cầu thẩm định, công nhận sáng kiến: Cấp ngành hoặc cấp tỉnh) 1 Tên sáng kiến:………
………
2 Lĩnh vực áp dụng sáng kiến:………
3 Tác giả sáng kiến: - Họ tên:
- Cơ quan, đơn vị:………
- Địa chỉ:
- Điện thoại:
- Fax: Email:
4 Đồng tác giả sáng kiến (nếu có): - Họ tên:
- Cơ quan, đơn vị:………
- Địa chỉ:
5 Chủ đầu tư tạo ra sáng kiến (Trường hợp tác giả không đồng thời là chủ đầu tư tạo ra sáng kiến): - Tên chủ đầu tư:
- Cơ quan, đơn vị:………
- Địa chỉ:
6 Các tài liệu kèm theo: 6.1 Thuyết minh mô tả giải pháp và kết quả thực hiện sáng kiến (đóng trong cuốn đề tài, sau đơn yêu cầu công nhận SK): Mẫu 02/SK
6.2 Số lượng cuốn đề tài có đóng kèm các tài liệu trên nộp về Phòng GD&ĐT: 03 cuốn
Yên Phụ, ngày 10 tháng 10 năm 2018
TÁC GIẢ SÁNG KIẾN
(Chữ ký và họ tên)
Trang 3MỘT SỐ BIỆN PHÁP RÈN KỸ NĂNG THỰC HÀNH TRONG LẬP TRÌNH PASCAL BỘ MÔN TIN HỌC LỚP 8
PHẦN A ĐẶT VẤN ĐỀ
I LÝ DO CHỌN ĐỀ TÀI.
Mục tiêu cơ bản của ngành giáo dục và đào tạo Việt Nam hiện nay làkhông ngừng đổi mới phương pháp giảng dạy và nâng cao chất lượng giáodục ở tất cả các cấp học mà trong đó cấp Trung học cơ sở là không thể thiếu
Để làm được điều này đòi hỏi đội ngũ giáo viên nhà trường ở tất cả các bộmôn cần thể hiện tinh thần trách nhiệm, tích cực trong mọi lĩnh vực để hoànthành tốt sứ mệnh của ngành đã đề ra
Trong các môn học, Tin học là môn học không thể thiếu trong nhàtrường phổ thông Chính vì vậy, đổi mới phương pháp giảng dạy bộ môn Tinhọc trong nhà trường đặt lên vai đội ngũ thầy cô giáo giảng dạy Tin học lànghĩa vụ cao cả để hoàn thành các chỉ tiêu và hiệu quả đào tạo của nhà trườngđặc biệt là bậc học Trung học cơ sở;
Việc giảng dạy Tin học trong nhà trường phổ thông ở Việt Nam nhiềunăm nay đã xem môn Tin học là môn học không thể thiếu, bậc học Trung học
cơ sở lại rất cần thiết đối với lứa tuổi phát triển về tư duy, về tâm sinh lý.Trong đó, môn Tin học được triển khai thực hiện ở tất cả các khối 6, 7, 8, 9;
Học sinh được tiếp cận nhiều trên các phương tiện hiện đại, hệ thốngphòng máy với các thiết bị máy tính có cấu hình tương đối cao, hệ thốngmạng cáp quang tương đối mạnh để đảm bảo phục vụ tốt nhu cầu học tập vàtra cứu bộ môn Tin học của học sinh trong nhà trường;
Trong các khối lớp học thì Tin học lớp 8 là môn học tương đối khátrừu tượng, khó hiểu, nếu không nói là khô khan khó nuốt đối với các em.Việc học tốt môn Tin học lại càng khó khăn hơn đối với các em vì hầu hết
Trang 4ngôn ngữ Pascal, đòi hỏi học sinh phải chú ý tìm hiểu kỹ vấn đề, hiểu đượccách giải bài toán, hiểu cách mô tả thuật giải bài toán, cách viết chương trình,kiểm lỗi, sửa lỗi chương trình và chạy thử;
Trong quá trình giảng dạy bản thân tôi nhận thấy học sinh khối 8 làkhối học rất sợ môn Tin học vì kiến thức lập trình khá mới mẻ và khó hiểu.Các em phải tập trung cao độ, tìm hiểu chặt chẽ vấn đề của từng bài toán trên
cơ sở hướng dẫn của giáo viên thì mong mới hiểu được cách viết lập trình chomột bài toán;
Chính vì vậy, để giúp các em hiểu được vấn đề của ngôn ngữ lập trìnhPascal và hiểu được cách mô tả bài toán, lập trình viết bài toán nên tôi mạnh
dạn chọn giải pháp “Một số biện pháp rèn kỹ năng thực hành trong lập trình Pascal
bộ môn Tin học lớp 8” để giúp học sinh tiến bộ hơn trong học tập đặc biệt là các giờ thực hành ở bộ môn Tin học khối 8 bậc Trung học cơ sở.
II Ý NGHĨA VÀ TÁC DỤNG CỦA ĐỀ TÀI.
Áp dụng vào một số bài toán thực tế trong chương trình Tin học lớp 8
và một số bài toán nâng cao áp dụng cho đối tượng học sinh giỏi bộ môn;
Nâng cao tính ứng dụng, phát huy khả năng tư duy, nhận xét các bàitoán, rèn luyện kỹ năng lập trình từ đó nâng cao hiệu quả học tập bộ môn giúphọc sinh hiểu rõ cách mô tả và giải quyết từng bài toán;
Học sinh thích tìm hiểu, nghiên cứu khoa học đặc biệt là lĩnh vực lậptrình, học sinh tự tin hơn trong học tập bộ môn và từ đó say mê và ham thíchhọc tập bộ môn nhiều hơn để đạt kết quả cao
III MỤC ĐÍCH NGHIÊN CỨU ĐỀ TÀI.
Sử dụng đề tài này để hướng dẫn các em học sinh lớp 8 một số kỹ năng rèn luyện thực hành lập trình cơ bản và nâng cao đối với bộ môn Tin học, giúp học
Trang 5sinh hiểu được những bước cơ bản và hoàn thiện các bài tập thực hành giáoviên yêu cầu;
Học sinh tiến hành vận dụng kỹ năng để viết các bài tập trong chươngtrình, các bài tập áp dụng cho học sinh giỏi, vận dụng các kỹ năng lập trình đểgiải quyết một số bài toán từ đơn giản đến nâng cao
IV PHẠM VI VÀ ĐỐI TƯỢNG NGHIÊN CỨU.
Phạm vi nghiên cứu: Rèn luyện kỹ năng thực hành lập trình Pascal trong quá trình giảng dạy bộ môn Tin học lớp 8 (quyển 3), năm học 2015 –
2016;
Đối tượng nghiên cứu: Học sinh các lớp 8A, 8B, 8C, 8D, 8E của
trường THCS Yên Phụ
V ĐIỂM MỚI TRONG KẾT QUẢ NGHIÊN CỨU.
Thực hiện việc đổi mới phương pháp giảng dạy và nâng cao chấtlượng giáo dục đào tạo, đổi mới kiểm tra đánh giá thì việc hình thành trang bịcho học sinh những kỹ năng cơ bản và kỹ năng nâng cao khả năng lập trình làmột trong những yếu tố quan trọng và chủ yếu để các em học sinh tự tin tronghọc tập bộ môn Tin học đặc biệt là học sinh khối 8;
Ngôn ngữ lập trình Pascal và rèn luyện kỹ năng cơ bản cho học sinhkhối 8 là nền tảng phát triển khả năng tư duy kiến thức một cách hiệu quả.Hình thành cho học sinh các kỹ năng như: kỹ năng giải quyết vấn đề, kỹ năng
tự học, kỹ năng đặt tên, kỹ năng hợp tác với mọi người,
Nếu học sinh có thể giải quyết vấn đề, học mọi thứ nhanh chóng, đặttên mọi thứ hợp lý, và hợp tác hiệu quả với mọi người, thì các em sẽ có đượckết quả học tập cao hơn nhiều so với trước khi các em chưa được trang bị và
sẽ thành chuyên gia trong bất kỳ lĩnh vực công nghệ nào trong tương lai
Trang 6PHẦN B NỘI DUNG CỦA ĐỀ TÀI
I CƠ SỞ LÝ LUẬN VÀ THỰC TRẠNG CỦA ĐỀ TÀI.
Trong lĩnh vực công nghệ thông tin đang trên đà phát triển hiện nay,
đã và đang nảy sinh khá nhiều lĩnh vực và tạo nên các nhóm ngành mới, tạođiều kiện cho các lập trình viên mới có thể tiếp cận và chọn lựa ngành phùhợp với khả năng của mình;
Chính vì vậy việc trang bị và rèn luyện kỹ năng lập trình bằng việctăng cường các tiết thực hành ở nhà trường cho các em học sinh là một cách
vô cùng hiệu quả Việc học lập trình cũng giống như giải một bài toán, có rấtnhiều cách khác nhau để đi đến đáp số của một bài toán Các em cũng sẽ cónhiều cách khác nhau để viết nên một chương trình Việc tìm hiểu nhiềunguồn tài liệu từ các kênh khác nhau sẽ giúp các em biết được cách làm nàotốt, cách làm nào chưa tốt, và rút ra cách làm tối ưu nhất cho mình trong tất cảcác trường hợp ở các dạng bài tập
2 Thực trạng học tập bộ môn tại nhà trường:
Theo thói quen của nhiều em học sinh, học môn Tin là học những thaotác sử dụng như cách sử dụng internet, sử dụng hệ điều hành window, chươngtrình soạn thảo văn bản MS Word, chương trình soạn thảo trình diễn MS
Trang 7PowerPoint … Đây là những phần học không cần đòi hỏi tư duy, mà chỉ cầnhọc kĩ và nhớ thao tác, thực hành nhiều lần thì sẽ thành thạo;
Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh,được Niklaus Wirth phát triển vào năm 1970 là ngôn ngữ đặc biệt thích hợpcho kiểu lập trình có cấu trúc Pascal dựa trên ngôn ngữ lập trình ALGOL vàđược đặt tên theo
nhà toán học và triết học Blaise Pascal Wirth đồng thời cũng xây dựngModula-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;
Ngôn ngữ lập trình Pascal là một loại ngôn ngữ lập trình bậc cao, cáccâu lệnh và từ khóa rất gần gũi với ngôn ngữ của con người Là một môn lậptrình nên đòi hỏi người lập trình phải có tính tư duy, có khả năng phân tích,tổng hợp;
Nhưng khi học bộ môn lập trình Passal chương trình lớp 8 ở Trunghọc cơ sở thì hầu như các em bị “choáng” vì bộ môn rất “mới”, và cách họccũng “mới” Học những thao tác và thực hành nhiều không còn tác dụng, họcthuộc bài cũng không còn ổn nữa Lúc này các em cần phải học cách tư duylogic, tìm thuật toán, và viết những dòng lệnh máy tính chính xác đến từngđấu chấm, dấu phẩy;
Với tâm lí thông thường các em học sinh coi Tin học là môn phụkhông quan trọng nên nhiều em chủ quan không dành đủ thời gian để học nênkhông hiểu bài và dần bị mất căn bản Đây cũng là lí do mà nhiều em bị điểmkém, thậm chí là thi lại, học lại bộ môn tin học mặc dù có thể các em học rấtgiỏi các môn học khác;
Chính vì những điều đó nên Pascal cũng là một môn học gây khó khăncho không ít học sinh, nhất là học sinh lớp 8 Ở lứa tuổi này, các em đang pháttriển không đồng đều về tâm sinh lý nên rất ngán ngại khi học bởi vậy gặpkhông ít khó khăn cho các em khi phải sử dụng Pascal để lập trình
Đặc biệt, đối với những học sinh yếu, kém thì lại càng khó hơn Mặtkhác, nhiệm vụ chính trị quan trọng của năm học là không ngừng nâng cao
Trang 8chất lượng giảng dạy của giáo viên và việc học tập của học sinh, đổi mới cáchnhìn và tư duy học tập bộ môn Tin học khối 8;
Trong quá trình giảng dạy thực tế tại trường THCS Yên Phụ, trong cáctiết thực hành bản tôi nhận thấy kỹ năng đọc hiểu bài toán, mô tả bài toán và
kỹ năng viết lập trình đối với các em học sinh khối lớp 8 là rất yếu, chưa đápứng được yêu cầu khi tiếp xúc với các bài tập lập trình Pascal;
Theo khảo sát kiểm tra đầu năm học với học sinh các lớp 8 tại nhàtrường thì trong đó khoảng gần 60% các em chưa hiểu ngôn ngữ lập trìnhPascal là gì? Việc tiếp cận kiến thức lập trình để áp dụng giải bài toán cụ thểcòn nhiều vấn đề gây khó khăn cho việc viết chương trình, trong đó phải kểđến là các bước thực hiện lập trình, mô tả thuật toán và việc khai báo thưviện cũng như cú pháp các câu lệnh trong Pascal, kiểm lỗi, sửa lỗi chươngtrình và chạy thử;
Thực tế cho thấy tỷ lệ học sinh đạt điểm trung bình trở lên khi làmnhững bài tập đơn giản đầu tiên khá thấp, các em chưa hiểu rõ vấn đề, chưathực sự ham thích, chưa thuộc các cú pháp câu lệnh và sai cấu trúc khá nhiềudẫn đến kết quả không như mong đợi
Trang 9Nghiên cứu tài liệu các kỹ năng lập trình trong việc nghiên cứuchuyên môn, tiến hành tham gia dự giờ các đồng nghiệp và trao đổi kinhnghiệm giảng dạy với các đồng nghiệp trong nhà trường hay các đơn vị bạn,đồng thời rút kinh nghiệm bản thân qua các tiết dạy lý thuyết và thực hànhtrên phòng máy tính;
Tham khảo các giáo trình, sách báo và tìm hiểu ngôn ngữ lập trìnhPascal qua mạng internet, các tài liệu và tích lũy kinh nghiệm giảng dạy Giớithiệu tạo những hứng thú cho học sinh bằng việc đưa nhiều hình ảnh có liênquan bài học, bài tập để khi tiến hành làm thực hành các em học sinh dễ dàngkhắc sâu các kiến thức bài học đồng thời áp dụng cho những bài tập có liênquan đến những bài học sau, bài học mới
II MỤC TIÊU CƠ BẢN CỦA ĐỀ TÀI:
Rèn luyện cho học sinh những kỹ năng đọc hiểu được bài toán, cácbước giải quyết vấn đề, các bước mô tả thuật toán và giải quyết các bài toán trênmáy tính một cách lôgic và khoa học;
Rèn luyện kỹ năng lập trình cho học sinh đồng thời phát huy tính tíchcực, sáng tạo, khả năng tư duy của học sinh trong giờ học lập trình đặc biệt làtrong giờ học thực hành để đề xuất những giải pháp nâng cao chất lượng học tập
bộ môn của học sinh
III MỘT SỐ BIỆN PHÁP THỰC HIỆN HƯỚNG DẪN HỌC SINH THỰC
HÀNH LẬP TRÌNH PASCAL TRÊN MÁY:
Pascal là một ngôn ngữ lập trình cấp cao sớm xuất hiện và phần nào thểhiện được ưu điểm của nó trong việc ứng dụng để giải quyết các bài toán trênmáy tính Ở trường phổ thông chúng ta không chú trọng học chuyên sâu vềngôn ngữ lập trình để tạo ra các phần mềm máy tính mà tập trung rèn luyện kĩnăng tư duy logic, tư duy hệ thống và sáng tạo không chỉ để giải quyết nhữngvấn đề trong tin học mà đây còn là những kĩ năng vô cùng quan trọng để giảiquyết nhiều vấn đề trong cuộc sống;
Trang 10Việc giải quyết các bài toán trên máy tính thật sự không đơn giản đốivới các em học sinh Trước tiên các em phải nắm vững lý thuyết, cú pháp câulệnh, tính nguyên tắc và logic của bài lập trình Các em phải hiểu được quy tắcđặt tên chương trình, tên biến cho phù hợp với bài toán và đảm bảo tínhnguyên tắc, ví dụ như tên chương trình nếu quá 8 kí tự ta cần dùng dấu gạchnối xen giữa, bài lập trình nào thì ta cần dùng câu lệnh gán phối hợp với côngthức toán học mà các em đã học ở bộ môn Toán để tính, bài nào thì dùng câu
lệnh If…then, For…do, While…do, khi nào dùng kiểu dữ liệu Integer,
Bên cạnh đó để học sinh hiểu được, giáo viên cần chú ý cần quan tâmkhía cạnh sự thông hiểu của học sinh, nên cho các em tập làm quen với cácbài tập đơn giản nhất, dần dần tăng mức độ khó lên từ từ, không nên quá vộivàng để học sinh tiếp xúc với những bài quá khó Nếu các em chưa thông
Trang 11hiểu, chưa giải quyết được vấn đề của bài tập đó, bản thân giáo viên nên giảithích hướng dẫn các em mô tả, phân tích cụ thể để từ đó hiểu rõ hơn bài tậpmình đang làm;
Để thực hiện tốt kỹ năng lập trình các em cần nắm vững các công thứctoán học của bài toán để có thể chuyển đổi công thức ấy sang biểu thứcPascal Cho học
sinh ghi nhớ lại các công thức toán học mà các em chưa biết, chưa hiểu vào
vở bài tập Ví dụ một số công thức cơ bản như sau:
+ Tính diện tích hình chữ nhật: S CN = chiều dài × chiều rộng Khi đó
ta chuyển sang biểu thức Pascal sẽ là: S:=a*b; nên lưu ý học sinh khi viết
xong cuối dòng công thức phải có dấu chấm phẩy;
+ Tính diện tích hình vuông: S HV = cạnh × cạnh Khi đó ta chuyển sang biểu thức Pascal sẽ là: Dientich:=a*a; nên lưu ý học sinh khi viết xong
cuối dòng công thức phải có dấu chấm phẩy;
+ Tính chu vi hình tam giác: S ABC = cạnh a + cạnh b + cạnh c Khi đó
ta chuyển sang biểu thức Pascal sẽ là: CV:=a+b+c; nên lưu ý học sinh khi
viết xong cuối dòng công thức phải có dấu chấm phẩy;
Ngoài ra, trong tiết học thực hành để khích lệ động viên tinh thần các
em giáo viên nên biểu dương những học sinh có thành tích tốt bằng nhiều biệnpháp, có thể cho điểm khuyến khích, động viên, khen thưởng trước lớp vàđiều quan trọng hơn nữa là những học sinh có tư duy tốt cùng với thầy hướngdẫn lại các bạn trong quá trình thực hành;
1 Cấu trúc cơ bản nhất của một bài lập trình Pascal:
Về mặt lý thuyết giáo viên nên cung cấp chắc chắn cho học sinh cấutrúc chung của một bài lập trình theo cú pháp như sau:
PROGRAM <Tên chương trình>;
[<Phần khai báo>];
Trang 12+ Cú pháp khai báo tên thư viện: <Từ khóa> <Tên các thư viện>; Ví
dụ khai báo thư viện Crt, Graph là: USES CRT,GRAPH;
+ Cú pháp khai báo tên hằng: <Từ khóa> <Tên hằng=Giá trị>; Ví dụ
khai báo tên biến Pi khi tính diện tích hình tròn là: Const Pi=3.14;
+ Cú pháp khai báo biến: <Từ khóa> <Tên các biến:Kiểu dữ liệu>;
Ví dụ khai báo các biến a, b khi thực hiện bài toán tính tổng hai số tự nhiên a
và b biết rằng a, b là 2 ký tự được nhập vào từ bàn phím là các số nguyên: Var a,b:Integer;
+ Câu lệnh nhập dữ liệu vào từ bàn phím: Read(<Danh sách biến vào>); hoặc Readln(<Danh sách biến vào>); Ví dụ: Readln(CD,CR);
+ Câu lệnh cho phép xuất dữ liệu hoặc kết quả ra màn hình, câu lệnh
này thường sử dụng khá nhiều trong thực tế: Write(<Danh sách kết quả ra>); hoặc
Writeln(<Danh sách kết quả ra>); Ví dụ xuất ra màn hình kết quả dòng chữ WELCOME TO NGUYEN VAN XO SECONDARY SCHOOL ta có thể viết như sau: Writeln(‘Welcome to Nguyen Van Xo Secondary School’);