Giáo dục và Đào tạo đóng một vai trò rất quan trọng trong chiến lược phát triển của mỗi quốc gia. Đối với giáo dục thì Đảng và Nhà nước ta đã xác định “Mục tiêu giáo dục là đào tạo con người Việt Nam phát triển toàn diện, có đạo đức, tri thức, sức khoẻ, thẩm mỹ và nghề nghiệp, trung thành với lý tưởng độc lập dân tộc và chủ nghĩa xã hội; hình thành và bồi dưỡng nhân cách, phẩm chất và năng lực của công dân, đáp ứng yêu cầu của sự nghiệp xây dựng và bảo vệ Tổ quốc” (Điều 2. Luật Giáo dục năm 2005). Như vậy chúng ta phải chuẩn bị cho thế hệ học sinh hôm nay những gì đó chính là những điều mà tất cả chúng ta đều phải quan tâm, vậy điều quan tâm trước nhất là chất lượng dạy và học trong mỗi nhà trường, mỗi địa phương. Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về công nghệ thông tin với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng suất và tự động hóa ngày một hiệu quả hơn và một trong những ứng dụng không thể không nhắc đến đó là những ứng dụng phần mềm của máy tính với nền công nghệ thông tin hiện nay. Phần mềm máy tính ngày một phát triển với những ngôn ngữ lập trình khác nhau và cụ thể là ngôn ngữ lập trình Pascal. Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản và dễ hiểu. Do vậy, Việt Nam nói chung và ngành Giáo dục Đào tạo nói riêng phải đầu tư phát triển về mọi mặt. Đặc biệt là nguồn nhân lực tri thức tức là phải đào tạo ra một thế hệ trẻ năng động, thông minh, độc lập, sáng tạo, nắm vững tri thức khoa học công nghệ để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội nhằm đáp ứng được nhu cầu trong thời kì công nghiệp hoá, hiện đại hoá đất nước. Đặc trưng của môn Tin học lớp 8 là kiến thức về lập trình. Ngôn ngữ lập trình dường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các em được học. Qua giảng dạy môn Tin học ở trường PTDTBT THCS Pa Nang, bản thân tôi nhận thấy rằng nhiều học sinh lớp 8 thấy môn lập trình Pascal khó, khô khan. Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong lập trình cũng bài toán đó mà phải làm đến hàng chục phút mà có thể cho kết quả sai. Pascal trở nên quá xa lạ và khó khăn đối với người sử dụng và nhất là đối với học sinh THCS là những người đang trực tiếp ứng dụng ngôn ngữ lập trình này. Xét ở một góc độ nào đó lập trình cũng là một môn học khó đối với học sinh THCS. Khó ở đây không phải do tính phức tạp của môn học hay phạm vi kiến thức quá rộng lớn. Nếu đem so sánh môn học lập trình và các phân môn Toán học ở trường THCS thì Lập trình Pascal gọn nhỏ hơn nhiều lần. Lập trình Pascal "khó" đối với học sinh THCS ở chỗ: môi trường lập trình Pascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay trợ giúp cũng vậy. Nhìn chung học sinh các trường miền núi, học sinh dân tộc thiểu số vốn tiếng Anh không nhiều, đa số các em còn yếu về tiếng Anh. Lấy đơn vị lớp để tính thì mỗi lớp chỉ có một vài em được gọi là "thông thạo" tiếng Anh qua các bài học. Hầu hết số còn lại nằm trong trạng thái "mù tịt". Đây là một khó khăn cho việc dạy và học lập trình Pascal. Một vấn đề nữa cũng là rào cản đối với việc các học sinh THCS tiếp cận với lập trình Pascal đó là: tư duy Toán của các em dừng lại ở mức độ sách giáo khoa Toán THCS do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bài toán hay vấn đề cần lập trình chưa tốt. Các em vẫn thụ động trong việc tiếp cận bài toán, sắp xếp tư duy, xây dựng thuật giải. Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn trăn trở làm thế nào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8. Việc tiếp cận với môn học rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu. Do đó sẽ rất khó khăn để các em hình thành kỹ năng viết chương trình. Nhất là những năm gần đây Ngành giáo dục luôn thành lập đội tuyển tham dự kì thi Tin học trẻ, học sinh giỏi môn Tin học lớp 8, 9,…. Điều đó đã thúc đẩy tôi trong quá trình giảng dạy phải nghiên cứu tìm tòi biện pháp, kinh nghiệm để giúp cho các em có sự đam mê học tập về lập trình, giúp các em biết được quy trình lập trình như thế nào và định hướng cho học sinh cách để trở thành một lập trình viên thì cần phải biết những “Kĩ năng giải các bài toán trên máy tính bằng ngôn ngữ lập trình Pascal”.
Trang 1DANH MỤC CÁC KÍ HIỆU, CHỮ VIẾT TẮT
- THCS: Trung học cơ sở
- THPT: Trung học phổ thông
- PTDTBT: Phổ thông Dân tộc bán trú
- GD&ĐT: Giáo dục và Đào tạo
- HS: học sinh
- SL: số lượng
-TB: Trung bình
Trang 2MỞ ĐẦU
1 Lí do chọn đề tài
Giáo dục và Đào tạo đóng một vai trò rất quan trọng trong chiến lược phát triển của mỗi quốc gia Đối với giáo dục thì Đảng và Nhà nước ta đã xác định “Mục tiêu giáo dục là đào tạo con người Việt Nam phát triển toàn diện,
có đạo đức, tri thức, sức khoẻ, thẩm mỹ và nghề nghiệp, trung thành với lý tưởng độc lập dân tộc và chủ nghĩa xã hội; hình thành và bồi dưỡng nhân cách, phẩm chất và năng lực của công dân, đáp ứng yêu cầu của sự nghiệp
xây dựng và bảo vệ Tổ quốc” (Điều 2 Luật Giáo dục năm 2005) Như vậy
chúng ta phải chuẩn bị cho thế hệ học sinh hôm nay những gì đó chính là những điều mà tất cả chúng ta đều phải quan tâm, vậy điều quan tâm trước nhất là chất lượng dạy và học trong mỗi nhà trường, mỗi địa phương
Lịch sử nhân loại đã chứng kiến những cuộc cách mạng về công nghệ thông tin với sự trợ giúp của máy tính và hệ thống máy tính, con người đã nâng cao năng suất và tự động hóa ngày một hiệu quả hơn và một trong những ứng dụng không thể không nhắc đến đó là những ứng dụng phần mềm của máy tính với nền công nghệ thông tin hiện nay Phần mềm máy tính ngày một phát triển với những ngôn ngữ lập trình khác nhau và cụ thể là ngôn ngữ lập trình Pascal Pascal là một ngôn ngữ lập trình có cú pháp chặt chẽ, đơn giản và dễ hiểu Do vậy, Việt Nam nói chung và ngành Giáo dục Đào tạo nói riêng phải đầu tư phát triển về mọi mặt Đặc biệt là nguồn nhân lực tri thức tức
là phải đào tạo ra một thế hệ trẻ năng động, thông minh, độc lập, sáng tạo, nắm vững tri thức khoa học công nghệ để làm chủ trong mọi hoàn cảnh công tác và hoạt động xã hội nhằm đáp ứng được nhu cầu trong thời kì công nghiệp hoá, hiện đại hoá đất nước
Đặc trưng của môn Tin học lớp 8 là kiến thức về lập trình Ngôn ngữ lập trình dường như rất xa lạ vì đây là kiến thức đầu tiên trong lập trình mà các
em được học
Qua giảng dạy môn Tin học ở trường PTDTBT THCS Pa Nang, bản thân tôi nhận thấy rằng nhiều học sinh lớp 8 thấy môn lập trình Pascal khó, khô khan Mới đầu các em cũng rất sợ vì khi thấy giải một bài toán ở ngoài thì đơn giản và chỉ trong vòng vài giây có thể nhẩm ra kết quả còn ở trong lập trình cũng bài toán đó mà phải làm đến hàng chục phút mà có thể cho kết quả sai Pascal trở nên quá xa lạ và khó khăn đối với người sử dụng và nhất là đối với học sinh THCS là những người đang trực tiếp ứng dụng ngôn ngữ lập trình này
Xét ở một góc độ nào đó lập trình cũng là một môn học khó đối với học sinh THCS Khó ở đây không phải do tính phức tạp của môn học hay phạm vi
Trang 3kiến thức quá rộng lớn Nếu đem so sánh môn học lập trình và các phân môn Toán học ở trường THCS thì Lập trình Pascal gọn nhỏ hơn nhiều lần
Lập trình Pascal "khó" đối với học sinh THCS ở chỗ: môi trường lập trình Pascal có giao diện và các từ khóa đều bằng tiếng Anh, các dòng thông báo hay trợ giúp cũng vậy Nhìn chung học sinh các trường miền núi, học sinh dân tộc thiểu số vốn tiếng Anh không nhiều, đa số các em còn yếu về tiếng Anh Lấy đơn vị lớp để tính thì mỗi lớp chỉ có một vài em được gọi là "thông thạo" tiếng Anh qua các bài học Hầu hết số còn lại nằm trong trạng thái "mù tịt" Đây là một khó khăn cho việc dạy và học lập trình Pascal
Một vấn đề nữa cũng là rào cản đối với việc các học sinh THCS tiếp cận với lập trình Pascal đó là: tư duy Toán của các em dừng lại ở mức độ sách giáo khoa Toán THCS do đó kỹ năng phân tích, tổng hợp, xây dựng thuật toán cho mỗi bài toán hay vấn đề cần lập trình chưa tốt Các em vẫn thụ động trong việc tiếp cận bài toán, sắp xếp tư duy, xây dựng thuật giải
Từ thực tế trên, trong quá trình dạy học tôi luôn băn khoăn trăn trở làm thế nào nâng cao chất lượng kỹ năng lập trình cho học sinh lớp 8 Việc tiếp cận với môn học rất khó khăn, phải làm rất nhiều lần và thực hành rất nhiều tiết các em mới hiểu việc nhập và xuất dữ liệu Do đó sẽ rất khó khăn để các
em hình thành kỹ năng viết chương trình Nhất là những năm gần đây Ngành giáo dục luôn thành lập đội tuyển tham dự kì thi Tin học trẻ, học sinh giỏi môn Tin học lớp 8, 9,… Điều đó đã thúc đẩy tôi trong quá trình giảng dạy phải nghiên cứu tìm tòi biện pháp, kinh nghiệm để giúp cho các em có sự đam
mê học tập về lập trình, giúp các em biết được quy trình lập trình như thế nào
và định hướng cho học sinh cách để trở thành một lập trình viên thì cần phải biết những “Kĩ năng giải các bài toán trên máy tính bằng ngôn ngữ lập trình Pascal”
2 Mục đích nghiên cứu và nhiệm vụ nghiên cứu
2.1 Mục đích nghiên cứu
Tìm hiểu thực trạng của việc ứng dụng phần mềm Turbo Pascal vào việc giải các bài toán trong chương trình lớp 8 để đề xuất các biện pháp phù hợp góp phần vào việc nâng cao chất lượng, hiệu quả công tác giảng dạy ngôn ngữ lập trình Pascal trong chương trình Tin học lớp 8
3.2 Nhiệm vụ nghiên cứu
- Hệ thống hóa những vấn đề lí luận liên quan tới vấn đề ứng dụng phần mềm Pascal để giải các bài toán trong chương trình lớp 8
- Mô tả thực trạng của việc dạy học ngôn ngữ lập trình Pascal trong chương trình Tin học lớp 8 – THCS;
Trang 4- Đề xuất các biện pháp, giải pháp, khuyến nghị trong việc ứng dụng phần mềm Pascal để giải các bài toán trong chương trình lớp 8
3 Đối tượng nghiên cứu
Trong phạm vi đề tài này tôi nghiên cứu các kĩ năng để giải các bài toán trong chương trình lớp 8 bằng ngôn ngữ lập trình Pascal tại trường PTDTBT THCS Pa Nang, huyện Đakrông, tỉnh Quảng Trị
4 Đối tượng khảo sát thực nghiệm
Học sinh lớp 8, trường PTDTBT THCS Pa Nang, huyện Đakrông, tỉnh Quảng Trị
5 Phương pháp nghiên cứu
- Nghiên cứu các tài liệu có liên quan đến ngôn ngữ lập trình Pascal
- Phương pháp quan sát
- Phương pháp thống kê
- Phương pháp phỏng vấn, trắc nghiệm
- Nghiên cứu các phương pháp dạy học tích cực
- Đối chiếu các kết quả bài kiểm tra của học sinh
6 Phạm vi và kế hoạch nghiên cứu
6.1 Phạm vi nghiên cứu: Tại trường PTDTBT THCS Pa Nang, huyện Đakrông
6.2 Kế hoạch nghiên cứu: Năm học 2019 - 2020 (từ tháng 10 năm 2019 đến tháng 6 năm 2020)
Tháng 10/2019 Đăng kí đề tài, lập kế hoạch nghiên cứu
Tháng 11/2019 Khảo sát thực trạng của đề tài, nghiên cứucác phương pháp nghiên cứu liên quan đến
đề tài
Tháng 12/2019
– tháng 5/2020
- Sử dụng các phương pháp để áp dụng việc thực nghiệm đề tài
- Thu thập, phân tích kết quả nghiên cứu
- Viết báo cáo đề tài Tháng 6/2020 Hoàn thiện đề tài
Trang 5NỘI DUNG CHƯƠNG 1 CƠ SỞ LÍ LUẬN
Mục tiêu của giáo dục phổ thông là giúp học sinh phát triển toàn diện
về đạo đức, trí tuệ, thể chất, thẩm mỹ và các kỹ năng cơ bản, phát triển năng lực cá nhân, tính năng động và sáng tạo, hình thành nhân cách con người Việt Nam xã hội chủ nghĩa, xây dựng tư cách và trách nhiệm công dân; chuẩn bị cho học sinh tiếp tục học lên hoặc đi vào cuộc sống lao động, tham gia xây
dựng và bảo vệ Tổ quốc (Khoản 1, Điều 27 Luật Giáo dục 2005)
Giáo dục trung học cơ sở nhằm giúp học sinh củng cố và phát triển những kết quả của giáo dục tiểu học; có học vấn phổ thông ở trình độ cơ sở
và những hiểu biết ban đầu về kỹ thuật và hướng nghiệp để tiếp tục học trung
học phổ thông, trung cấp, học nghề hoặc đi vào cuộc sống lao động (Khoản
3, Điều 27 Luật Giáo dục 2005)
Phương pháp giáo dục phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo của học sinh; phù hợp với đặc điểm của từng lớp học, môn học; bồi dưỡng phương pháp tự học, khả năng làm việc theo nhóm; rèn luyện
kỹ năng vận dụng kiến thức vào thực tiễn; tác động đến tình cảm, đem lại
niềm vui, hứng thú học tập cho học sinh (Khoản 2, Điều 28 Luật Giáo dục 2005)
Turbo Pascal là ngôn ngữ lập trình bậc cao do giáo sư Niklaus Wirth
(trường đại học mỹ thuật, Zurich, Thụy Sĩ) sáng tác và công bố vào đầu những
năm 1970, với tên Pascal để kỉ niệm nhà toán học người Pháp Blaise Pascal, thế kỉ XVII Lúc đầu, Pascal được sáng tác ra với mục đích làm một ngôn ngữ máy tính để dạy học cho sinh viên ở các trường đại học: nó giúp cho sinh viên cũng như những người mới học lập trình có được thói quen viết một chương trình có cấu trúc sáng sủa, rõ ràng, dễ hiểu và dễ đọc cho các đối tượng khác nhau Trước khi có Pascal, các sinh viên đều được học ngôn ngữ lập trình Fortran, một ngôn ngữ lâu đời nhất và là một ngôn ngữ không có cấu trúc Giáo sư Wirth thấy rằng có thể tránh được rất nhiều Pascal là một ngôn ngữ lập trình cho máy tính thuộc dạng mệnh lệnh, là ngôn ngữ đặc biệt thích hợp cho kiểu lập trình có cấu trúc Pascal dựa trên ngôn ngữ lập trình Algol Cho đến nay Pascal vẫn được dùng để giảng dạy về lập trình trong các trường THCS, THPT, Cao đẳng, Đại học,… và nhiều thế hệ sinh viên đã "vào đời" thông qua việc học Pascal như ngôn ngữ vỡ lòng trong các chương trình học đại cương Nhiều biến thể của Pascal ngày nay vẫn còn được sử dụng khá phổ biến, cả trong giảng dạy lẫn trong công nghiệp phát triển phần mềm Phần lớn
hệ điều hành Macintosh được viết bằng Pascal Hệ sắp chữ TeX được Donald Knuth viết bằng ngôn ngữ mang nhiều yếu tố của Pascal Trong chương trình Tin học THCS, ở lớp 8 phần lập trình đơn giản, học sinh được học ngôn ngữ lập trình Pascal để lập trình giải các bài toán trong chương trình THCS đồng
Trang 6thời trong nội dung thi học sinh giỏi môn Tin học đều sử dụng ngôn ngữ lập trình Pascal để giải các bài toán đó
Trong quá trình giảng dạy, tôi nhận thấy môn tin học nói chung và ngôn ngữ lập trình Pascal nói riêng là một môn học mới, khó đối với các em học sinh lớp 8 tại trường PTDTBT THCS Pa Nang, vì các em chưa từng biết đến, chưa hình dung được mình học cái gì, học như thế nào,…
Từ thực tế đó tôi không ngừng học hỏi để tìm ra biện pháp khắc phục Bằng kinh nghiệm dạy học trong những năm qua, tôi đã đưa ra một số phương pháp để hình thành các kĩ năng giải các bài toán trên máy tính bằng ngôn ngữ lập trình Pascal
CHƯƠNG 2 THỰC TRẠNG VẤN ĐỀ NGHIÊN CỨU
2.1 Thực trạng dạy học môn Tin học ở trường THCS
Hiện nay, hầu hết tất cả các trường THCS đều đã đưa môn Tin học vào giảng dạy, đối với học sinh lớp 8 các em bắt đầu làm quen với khái niệm ngôn ngữ lập trình nên còn mới mẻ, bở ngỡ Nhưng hầu hết tất cả các giáo viên đều bám sát theo sách giáo khoa và yêu cầu học sinh phải học thuộc các khái niệm, các câu lệnh hay từ khóa điều này khiến cho học sinh khó nhớ dẫn đến việc tiếp thu, lĩnh hội kiến thức cũng rất khó khăn Đặc biệt, đối với những học sinh yếu kém lại càng khó hơn
Trường PTDTBT THCS Pa Nang được sự quan tâm hỗ trợ tích cực của các cấp lãnh đạo, các tổ chức đến nay nhà trường có phòng phòng máy vi tính gồm gần 30 máy vi tính nhưng vẫn chưa đáp ứng được nhu cầu do sĩ số học sinh đông (34-40 em/lớp) nên các tiết thực hành phải dùng chung 2 đến 3 em/máy
2.2 Thực trạng dạy học môn Tin học tại Trường PTDTBT THCS Pa Nang
2.2.1 Thuận lợi
Được sự quan tâm của Ngành giáo dục trong công cuộc đổi mới phương pháp dạy học
Được sự quan tâm của BGH nhà trường trong việc đầu tư cơ sở vật chất, trang thiết bị dạy học tương đối đầy đủ đảm bảo phục vụ giảng dạy bộ môn Tin học
Giáo viên giảng dạy được đào tạo theo đúng chuyên ngành và được bồi dưỡng chuyên môn hàng năm
Đa số học sinh có sự say mê, hăng say trong học tập
2.2.2 Khó khăn
Trang 7Vẫn còn một số em học sinh tiếp thu kiến thức còn chậm, đặc biệt là kĩ năng cơ bản để giải bài toán trên máy tính bằng ngôn ngữ lập trình Pascal bởi đây là một môn học mới (một môn ngoại ngữ mới)
Một số phụ huynh chưa thực sự quan tâm đến việc học của con em mình
Tài liệu học tập, cơ sở vật chất còn thiếu
Học sinh ít được tiếp xúc với máy vi tính do gia đình học sinh chưa có điều kiện để sắm máy tính cho con học tập
Qua điều tra những tiết học đầu tiên về cả lý thuyết và thực hành tôi tiến hành tổng hợp và đã thu được kết quả như sau:
30,5
25,0
38,8
17,6
14,7
47,0
17,6
Cộng 105 13 12,3 8 27 25,7 1 42 40,0 0 22 20,9 5 1 0,95
Qua kết quả trên thì đa phần các em nắm kiến thức lý thuyết còn yếu, các em hay quên và chưa vận dụng vào thực hành được nếu không có sự hướng dẫn của giáo viên Từ thực tế trên và bản thân tôi là một giáo viên dạy
bộ môn Tin học luôn suy nghĩ phải đưa ra những giải pháp như thế nào để các
em nắm lý thuyết chắc hơn nhớ lâu hơn và vận dụng vào thực hành tốt hơn Sau một thời gian suy nghĩ tiến hành thực nghiệm tôi đã thu được những kết quả rất tốt sau đây tôi xin đề ra một số giải pháp giúp học sinh hình thành kĩ năng giải các bài toán bằng ngôn ngữ lập trình Pascal
Trang 8CHƯƠNG 3 CÁC GIẢI PHÁP VÀ KẾT QUẢ THỰC HIỆN
3.1 Các giải pháp
3.1.1 Cấu trúc chung của chương trình Pascal
Cấu trúc chung, tổng quát nhất của một chương trình Pascal gồm hai phần:
- Phần khai báo dữ liệu hằng, biến, mô tả kiểu dữ liệu, khai báo chương trình con
- Phần thân chương trình chứa các lệnh để máy tính thực hiện
Cụ thể:
+ Phần khai báo
PROGRAM ; {khai báo tên chương trình}
LABEL ; {khai báo nhãn}
USES ; {khai báo sử dụng các Unit}
CONST ; {khai báo các hằng}
TYPE ; {khai báo kiểu dữ liệu mới}
VAR ; {khai báo các biến}
PROCEDURE ; {khai báo các chương trình con là thủ tục}
FUNCTION ; {khai báo các chương trình con là hàm}
+) Phần thân chương trình chứa các lệnh để máy tính thực hiện
BEGIN
{các lệnh của chương trình}
END
3.1.2 Quy trình giải một bài toán bằng ngôn ngữ lập trình Pascal:
Bước 1 Xác định bài toán
Trong quá trình học người học sinh hay bất kỳ một cá nhân nào luôn phải liên tục giải quyết các bài toán Trong cuộc sống là một chuỗi các bài toán mà ta phải đối đầu giải quyết không một chút đơn giản mà nhiều lúc phải bực mình Song đối với học sinh lớp 8 do chương trình học toán của các chỉ mới đến giải phương trình bậc nhất nên việc đưa các lớp bài toán vào giải cho các em đang còn một phần nào bị hạn chế Nhưng bất kỳ một bài toán nào thì chúng ta cũng đọ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 thúc bài toán
Trang 9- → Là suy luận: giải pháp cần xác định hay một chuối thao tác thực hiện từ A đến B
Bước 2 Mô tả thuật toán
Thuật toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho theo đó từ Input của bài toán sẽ tìm ra được Output bài toán
Một phương pháp mô tả thuật toán một cách khoa học để học sinh nhận biết được quy trình làm việc của máy vi tính (Ngôn ngữ lập trình) làm việc như thế nào Mô tả thuật toán là bước quan trọng nhất đối với người lập trình, nếu người lập trình mô tả thuật toán sai hoặc dài dòng thì dẫn đến khi viết chương trình sẽ khó khăn hoặc sẽ cho kết quả sai Ở bước này đòi hỏi người lập trình cần có những hiểu biết cơ bản về toán học thì khả năng biểu diễn thuật toán sẽ trở nên đơn giản hơn và sẽ thấy bài toán trở nên gần gủi Vì vậy trong phần này tôi sẽ đã đưa ra hai phương pháp mô tả thuật toán một cách rõ ràng và khoa học nhất để các em dễ dàng mô tả thuật toán đúng theo ý tưởng của mình
Ví dụ: Tìm ước số chung lớn nhất của 2 số nguyên dương a, b ta có thể giải bằng các cách trên
Cách 1: Các bước xác định bài toán bằng lời:
- Bước 1: Nhập 2 số nguyên dương là a, b
- Bước 2: So sánh giá trị a và b Nếu a bằng b thì sang bước 3, ngược lại a khác b thì sang bước 4
- Bước 3: Tìm được ước số chung là a và kết thúc chương trình
- Bước 4: Nếu a lớn hơn b thì ước số chung lớn nhất là a và quay trở lại bước 2 Ngược lại ước số chung là b và quay trở lại bước 2
Cách 2: Giải bài toán bằng sơ đồ
- Có hình thoi thể hiện các thao tác so sánh
- Hình chữ nhật thể hiện các phép tính toán, các câu lệnh
- Hình ôvan thể hiện bắt đầu và kết thúc
- Các mũi tên quy định trình tự các thao tác
ALGORITHM
Trang 10
đúng sai
đúng sai
Cách 3: Dùng ngôn ngữ mô phỏng chương trình
Bắt đầu
Nhập a, b
While a khác b
IF a>b then thay a :=a -b Else thay b:=b-a;
Kết thúc in ra USCLN (a,b)
Cách 4: Viết chương trình hoàn chỉnh (dùng ngôn ngữ pascal)
PROGRAM Tim_UCLN;
Uses CRT;
VAR a,b, : integer;
BEGIN
CLRSCR;
WRITE('nhap 2 gia tri m, n='); READLN(a,b);
Begin
a, b
EN D a<>b
b:= b - a a:= b - a