Phần nhiều kiến thức lập trình nghiên về tư duy trừu tượng, khả năng phân tích, diễn giải, liên tưởng các chuỗi sự kiện từ khâu tiếp nhận để bài yêu cầu đến khâu phân tích và tìm ra hướ
Trang 1K3.2023 THCS Tin học-Toàn Cầu(HN)
Họ và tên : Trần Văn Ái Ngày sinh : 05/05/1985 Nơi Sinh : Bạc Liêu
Trang 2
HỌC PHẢN NGHIÊN CỨU KHOA HỌC SƯ PHẠM ỨNG DỤNG
Ho va tén: TRAN VAN AI
Ngày/tháng/năm sinh: 05/05/1985
Nơi sinh: BẠC LIÊU
Đơn vị công tác (Nếu có): TRƯỜNG THCS VĨNH LỘC
Số điện thoại: 0913003319
Dia chi email: tvai.thcsvl hongdan@sobaclieu.edu.vn
Đề tài:
Chọn 01 đề tài/vấn đề thuộc lĩnh vực KHGD và xây dựng đề cương nghiên
cứu cho dé tai/van đề nghiên cứu đó
Trang 3ĐÈ TÀI NÂNG CAO HIỆU QUÁ GIẢNG DẠY MÔN TIN HỌC LỚP 8
TRƯỜNG THCS VĨNH LỘC PHAN 1 MO DAU
1 Ly do chon dé tai
Thuc té trong giảng dạy môn tin học đa số các em học sinh chia sẽ đều cảm
thấy khó khăn khi tiếp cận với bộ môn tin học lớp 8 Bởi lẽ các em cảm thấy xa lạ với kiến thức lập trình Ngôn ngữ lập trình là một chủ đề khá khô khan về mặt giao
điện chương trình nên các em cảm thây khó khăn khi học
Phần nhiều kiến thức lập trình nghiên về tư duy trừu tượng, khả năng phân
tích, diễn giải, liên tưởng các chuỗi sự kiện từ khâu tiếp nhận để bài yêu cầu đến khâu phân tích và tìm ra hướng giải thích phù hợp nên đòi hỏi các em học sinh vận dụng một cách linh hoạt vốn kiến thức liên môn của mình, nhưng trên thực tế việc học của các em đa số rơi vào trường hợp bị gián đoạn ở lý thuyết nên dẫn đến việc vận dụng trong thực hành để xây dụng chương trình của các em gặp rất nhiều khó khăn
Vậy, muốn các em học sinh hiểu đầy đủ và viết chương trình một cách chính xác thì đòi hỏi các em phải hiểu sâu về các bước để giải một bài toán lập trình trên
ngôn ngữ lập trinh (Pascal)
Là một giáo viên trực tiếp giảng dạy bộ môn tin học THCS§ nói chung và bộ môn tin học 8 nói riêng, ban thân tôi cũng gặp nhiều khó khăn khi hướng dẫn các
em kiến thức về bộ môn này Bản thân luôn trăn trở đề tìm ra hướng khắc phục trên
để học sinh có cách học tương đối đơn giản nhưng cũng đáp ứng được yêu cầu của
bộ môn đặt ra Với đề tài này là một quá trình trải nghiệm và vận dụng của bản thân tôi đã rút ra được trong quá trình giảng dạy và áp dụng vào thực tế trong năm học đã đạt được hiệu quả khá tích cực Tôi mong đây là cầu nối trao đôi kinh nghiệm với đồng nghiệp đã từng và những người đang trực tiếp giảng dạy bộ môn tin học 8 tim
ra nhiều phương pháp hữu hiệu hơn nữa để việc học của các em đạt hiệu quả hơn
2 Mục đích nghiên cứu Mục đích nghiên cứu của đề tải là giúp học sinh lớp 8 tìm được cách giải bai toán viết chương trình được chính xác hơn trong nội dung môn học tin học lớp 8 (quyền ba)
Trang 43 Đối tượng, phạm vi và khách thể nghiên cứu
3.1.Đối tượng, nghiên cứu Đối tượng: Học sinh lớp 8 và việc giải bài toán lập trình trong chương trình
tin học 8
3.2 Khách thể nghiên cứu Khách thể: Phương pháp học tập của học sinh khối 8
4 Giá thuyết khoa học Nếu lựa chọn và sử đụng phương pháp dạy học thì lượng kiến thức lập trình nghiên về tư duy trừu tượng, khả năng phân tích, diễn giải, liên tưởng các chuỗi sự kiện từ khâu tiếp nhận đề bải yêu cầu đến khâu phân tích và tìm ra hướng giải thích
phù hợp được nâng lên rõ rệt
5 Pham vi nghiên cứu Lớp § của học sinh trường THCS Vĩnh Lộc trong học kì 1 năm học 2022-
2023, các bài tập lập trình bộ môn tin học 8
6 Nhiệm vụ nghiên cứu Nhiệm vụ nghiên cứu của đề tài là đi vào các bước giải bài toán lập trình Trong quá trình xây dựng các bước các em khắc phục dần những lỗi thường mắc phải để bài làm của các em được chính xác hơn
7, Phương pháp nghiên cứu 7.1 Nhóm các phương pháp nghiên cứu lÿ luận
Thu thập tải liệu, tiễn hành đọc, phân tích, tông hợp, hệ thống hóa, khái quát
hóa các nguồn tài liệu lý luận vả thực tiễn có liên quan đến thực trạng, kĩ năng lập
trình của học sinh THCS
Các tài liệu trên được phân tích, nhận xét, tóm tắt và trích dẫn phục vụ trực tiếp cho việc gIải quyết các nhiệm vụ nghiên cứu đề tài
7.2 Nhóm các phương pháp nghiên cứu thực tiễn
* Phương pháp quan sat
- Quan sát quá trình phân tích đề bài, thu thập dữ kiện và kết quả lập trình
của học sinh lớp 8 trong trong THCS Vĩnh Lộc nhằm tìm hiểu thực trạng, kỹ năng
phân tích đề bài, thu thập đữ kiện và kết quả lập trình
Trang 5* Phương pháp điều tra bằng anket
- Điều tra trên học sinh để tìm hiểu thực trạng kỹ năng phân tích đề bài, thu thập dữ kiện và kết quả lập trình, thực trạng tính tích cực của việc phân tích đề bài,
thu thập dữ kiện và kết quả lập trình của học sinh lớp 8 trường THCS Vĩnh Lộc
- Đối tượng điều tra là học sinh lớp 8 trường THCS Vĩnh Lộc
* Phương pháp điều tra bằng trò chuyện Chúng ta tiến hành trò chuyện với học sinh lớp 8 và giáo viên trường THCS Vĩnh Lộc, từ đó chúng ta có thế đưa ra những đánh giá khách quan, đúng đắn và chính xác hơn về kỹ năng phân tích đề bài, thu thập đữ kiện và kết quả lập trình của học sinh nhằm thu thập những thông tin cần thiết bỗ sung cho phương pháp điều tra bang anket
* Phương pháp nghiên cứu sản phẩm
Nghiên cứu kế hoạch phân tích đề bài thu thập dữ kiện, sản phâm lập trình của học sinh đã hoàn thành và các sản phẩm khác có liên quan đến đề tài
7.3 Nhóm phương pháp thống kê toán học Các phương pháp thống kê toán học được sử dụng để xử lý các kết quả điều
tra về
định lượng, chủ yếu là tính điểm trung bình, tính phần trăm
8 Dự kiến những đồng góp mới của đề tài
- Cho thây ưu điểm của việc phân tích đề bai, thu thập dữ kiện và kết quả lập trình, đa số học sinh lớp 8 hoạt động rất tích cực khi giải quyết vấn đề
- Đề xuất các biện pháp phát triển năng lực phân tích đề bài, thu thập dữ kiện
và kết qua lập trình cho học sinh lớp 8 trường THCS Vĩnh Lộc
PHAN 2 NOI DUNG NGHIEN CUU
1 Thực trạng về việc học sinh lớp 8 giải đúng một bài toán viết chương
Trang 6* Khuyết điểm:
Còn một số em khi tiếp cận với bài toán đã bỏ quên phần quan trọng ban đầu
nảy nên gây rất nhiều khó khăn cho các bước phía sau trong quá trình giải
Kết quả xác định bài toán của một số em là chưa giỗng nhau trên cùng một bài toán, do khả năng tiếp thu bài của các em còn chậm không đồng đều Một số em thì khi đọc được yêu cầu bài toán là lao vào viết chương trình theo cảm tính mà
không quan tâm đến bước phân tích đầu vào đề từ đó tìm kết quả cho đầu ra
1.2 Thực trạng việc tìm thuật toán ở trường THCS Vĩnh Lộc
* Ưu điểm:
Một số em cũng đã xây dụng được thuật toán trên các phương thức khác
nhau như trên ngôn ngữ tự nhiên, sơ đồ khối, ngôn ngữ phỏng trình
* Hạn chế:
Bên cạch đó đa phần các em chưa xây dựng được những công việc, những yêu cầu mà chương trình phải làm nên việc viết lại thuật toán là khó khăn Một số học sinh chưa hiểu nhiều về chuỗi công việc được lập trong thuật toán trên gid hoc
lí thuyết nên các em không biết vận dụng cho các bải tập tiếp theo
1.3 Thực trạng việc viết chương trình ở trường THCS Vĩnh Lộc
* Ưu điểm
Một số em cũng đã viết được một số chương trình với yêu cầu đơn giản
thông qua tải liệu tham khảo Biết chuyên từ thuật toán sang ngôn ngữ lập trình pascal Biết tự mình xây dựng chương trình đơn giản ngay trên ngôn ngữ lập trình
pascal
* Han chế:
Ngôn ngữ lập trình pascal là một ngôn ngữ viết bằng tiếng anh nên các em
học yếu môn này rất khó mà tiếp thu tốt Ngôn ngữ passcal có rất nhiều cú pháp của các câu lệnh mà việc vận dụng để viết chương trình đòi hỏi các em phải nắm được các cú pháp của các câu lệnh này từ đầu năm học đến cuối năm học, việc này rất khó đối với các em Đa phần các em học câu lệnh thông qua học thuộc lòng, tham khảo tài liệu mới có thể làm được Phần ít các em chưa chịu về nhà học bài nên khả
năng tìm hiệu của các em là rât thập
Trang 71.4 Thực trạng việc chạy thử, thay đổi và kiểm tra chương trình ở trường THCS Vĩnh Lộc
* Ưu điểm
Một phần các em cũng có thể kiểm tra, khắc phục lỗi của một số chương trình đơn giản Các em cũng có thể chạy thử chương trình kiểm tra với nhiều bộ số khác nhau
* Hạn chế:
Đa số các em còn chưa biết tự mình khắc phục những lỗi về câu từ, về bố cục, về cấu trúc do kiến thức lí thuyết về pascal của các em bị hụt hãng Các em chưa có thể thay thế một giải thuật bằng một giải thuật khác đề kết quả được nhanh hon, gon hon va khoa hoc hơn
2 Giải pháp thực hiện 2.1 Giải pháp xác định bài toán Một bài toán dù đơn giản hay phức tạp thì khi đọc vào các em cũng có thể xác định được ban đầu những thông tin đã có được và thông tin cần thu được sau yêu cầu đó cần đáp ứng
Đối với học sinh lớp 8 do chương trình học môn toán của các em chỉ mới đến
giải phương trình bậc nhất là cao nhất Nên việc đưa một số bài vào dạy cũng bị hạn
chế Nhưng bất kỳ một bài toán nào trong toán học thì các em đều đọc đề rồi xác định nó: A®B
Trong đó:
- A là giải thiết: Điều kiện ban đầu hoặc cái đã cho khi bắt đầu giải bài toán
- B là kết luận: Mục tiêu cần đạt được hay cái phải tìm, phải làm ra khi kết
- A: la đưa thông tin vào (Input )
- B: là đưa thông tin ra (Output)
Trang 8- ®: là chương trình tạo từ các lệnh cơ bản của máy tính cho phép biến đôi từ
A đến B
Một số ví dụ giúp các em xác định bài toán
Vị dụ ]- Tĩnh diện tích hình chữ nhật
® Các bước xác định cho bài toán:
+ Input: Chiều dài là cạnh a, chiều rộng là cạnh b + Output: Kết quả diện tích khi đưa a, b vào
® Các thông tin cần chế biến như:
Lần lượt đưa a, b vào (cho a=3, b=4)
Áp dụng công thức tính diện tích hình chữ nhật: dt=a*b (3*4) Két qua in ra la 12
Vi dụ 2: Cho 2 số tự nhiên a, b Tìm ước số chung lớn nhất của chúng
® Các bước xác định bài toán:
+ Input: hai số tự nhiên a, b + Output: số tự nhiên d thoả mãn:
đd là ước của a và d là ước của b
d là số lớn nhất trong tập các ước chung của a, b
+ Xác định các thao tác chế biến thông tin
Xây dựng hữu hạn các thao tác cho phép tính được d từ a và b
Nhập a=l6 b=24 >d=s
VỊ dụ 3: Tìm tất cả các số nguyên tô trong N số tự nhiên đấu tiên:
+ Input: Nhập số nguyên N + Output: Các số nguyên tổ (chia hết cho 1 và chính nó) nằm trong khoản từ
2 đến N
2.2 Giải pháp tìm thuật toán
Để tìm thuật toán cho bải toán ta có nhiều sự lựa chọn để tìm thuật toán cho
bài toán đó Thông thường có 3 cách thê hiện thuật toán: ngôn ngữ tự nhiên, ngôn
noữ sơ đồ khối, ngôn ngữ phỏng trình
Trang 9Ví dụ: Viết chương trình nhập vào dãy số gồm n số hạng với những giá trị
bat kì Chương trình sẽ in ra kết quả tông S của dãy số đó
Yêu cẩu: Tính tông n số S=a1+ a2+a3+ +an
wD
Đề tính tổng trên, chúng ta sử dụng phương pháp “cộng tích lũy” nghĩa là khởi đầu cho S=0 Sau mỗi lần nhận được một số hạng ai từ bàn phím, ta cộng tích lũy lại vào S (lấy giá trị được lưu trữ trong S, cộng thêm ai và lưu trở lại vào S)
Tiếp tục quá trình nảy đến khi ta tích lũy được an vào S thì ta có S lả tông các số ai
Ta có thể thể hiện thuật toán bằng ngôn ngữ tự nhiên sau:
- B1: Nhập số các số hạng n (số phần tử của dãy số)
- B2: Cho S=0 (lưu trữ số 0 trong S)
- B3: Cho ¡=1 (lưu trữ số | trong i)
- B4: Kiểm tra nếu i<=n thì thực hiện bước 5, ngược lại thực hiện bước 8
- B5: Nhập ai
- Bó: Cho S=S~aI (lưu trữ giá trị S + ai trong S$)
- B7: Tăng ¡ lên 1 đơn vị và quay lại bước 4
- B8: In S và kết thúc chương trình
Cách 2: Giải bài toán bằng sơ đồ khối
Ý nghĩa của các khối trong sơ đồ:
Trang 10Cách 3: Dùng ngôn ngữ phỏng trình Bắt đầu
Trang 11Lập trình là dùng ngôn ngữ lập trình cụ thể nào đó (ngôn ngữ Pascal) để diễn
tả thuật toán, cấu trúc dữ liệu thành câu lệnh dé máy tính có thể thực hiện được và giải quyết đúng bài toán mà người lập trình mong muốn
Một bài toán ta có thể đưa ra nhiều cách giải khác nhau, song là một giáo
viên thì chúng ta cần giúp học sinh viết chương trình làm sao người xem nhìn vào
có thể dễ hiểu được bài toán đó làm gi? Do do, viéc tinh chỉnh các bước cho bài toán trong máy tính là phương pháp khoa học, có hệ thống giúp ta phân tích các
thuật toán và cầu trúc đữ liệu từ đó thành một chương trình
Muốn lập trình giỏi không phải chỉ cần nằm ngôn ngữ lập trình là đủ Mà vấn
đề cốt yếu là biết phương pháp phát triển dần dần để chuyền các ý tưởng ra thành chương trình hoàn chỉnh thông qua ngôn nsữ lập trình Pascal
Một chương trình bắt đầu được viết bằng lời tự nhiên (tiếng vIỆt) thê hiện sự phân tích tông thể của người lập trình, được thể hiện ở từng bước sau các câu lệnh
được phân tích chi tiết hơn Bằng những lời khác nhau, tương ứng với sự phân tích
công việc thành các việc nhỏ, chi tiết hơn, dễ hiểu và chính xác hơn Người lập trình
có thể đưa ra phương pháp tính chỉnh từng bước, thể hiện tư duy để giải quyết những vấn dé cua bai toán từ trên xuống Trong đó, các bước hướng về phương pháp lập trình tối ưu làm cho bài toán được giải một cách gọn gảng nhất, chính xác
nhất
Ví dụ tỉnh chế từ thuật toán sang ngôn ngữ lập trình Bài toán: Tìm tất cả các số nguyên tô nhỏ hơn N N được nhập từ bàn phím Tình chế lần 1
- Lay 2 tap:
NT=[] (dé chia cdc sé nguyén té tim duoc)
S = [2, N] (tap các số cần xét )
- Tìm số đầu tiên trong § đưa vào NT
- Loại bỏ khỏi S các bội số của số nguyên tố vừa tìm được
- Số đầu tiên còn lại của S là số nguyên tố Tiếp tục quá trình cho đến khi
- Xuất NT
1ình chế lần 2