Sáng kiến kinh nghiệm Sử dụng ngôn ngữ lập trình Pascal để giải toán

Sáng kiến kinh nghiệm Sử dụng ngôn ngữ lập trình Pascal để giải toá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 họ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ú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 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 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.

 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.

 

doc 21 trang hoathepmc36 01/03/2022 6556
Bạn đang xem 20 trang mẫu của tài liệu "Sáng kiến kinh nghiệm Sử dụng ngôn ngữ lập trình Pascal để giải toán", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
KINH NGHIỆM 
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 
PHÒNG GIÁO DỤC VÀ ĐÀO TẠO KRÔNG ANA
TRƯỜNG THCS BUÔN TRẤP
MỤ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 ĐỀ
Cơ sở lý luận của vấn đề	2
Thực trạng vấn đề	3
Các giải pháp đã tiến hành để giải quyết vấn đề:		5
Bài toán 1	5
Bài toán 2	8
Bài toán 3	10
Tính mới của sáng kiến .....15
 Hiệu quả SKKN:  ..15
Phần thứ ba: KẾT LUẬN, KIẾN NGHỊ
Kết luận:	17
Ý kiến đề xuất 	17
DANH MỤC CHỮ CÁI VIẾT TẮT
VIẾT TẮT
VIẾT ĐẦY ĐỦ
Gv
Giáo viên
Hs
Học sinh
GD-ĐT
Giáo dục – đào tạo
THCS
Trung học cơ sở
IT
Công nghệ thông tin
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 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.
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.
- 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 ĐỀ
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 họ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ú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 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 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.
	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í. 
	+ 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:
Lớp
Tổng
Số HS
Mức độ hoàn thành bài tập được giáo viên đưa ra
Hoàn thành chương trình không có lỗi
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
TS
%
TS
%
TS
%
TS
%
8a3
38
3
7.9
17
47.7
18
47.4
3
7.9
8a5
42
4
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:
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:
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ị?
- 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 quan sát.
- Gv nhận xét quá trình thực hành của các 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 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 thự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: Từ bài toán đến chương trình.
- 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ưu giá trị của Y.
- Hs suy nghĩ và trả lời theo hiểu biết của mình.
- Hs lắng nghe.
- Hs các nhóm thực hiện quá trình đổi nước trong các cốc.
- Các nhóm học sinh báo cáo kết quả làm được.
+ 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
- Hs lắng nghe.
- Hs: Phép toán gán
- Hs: Chúng ta có thể hoán đổi hai giá trị của X và Y. Cách thực hiện như sau:
+ z:=x;
+ x:=y;
+ y:=z;
- Hs: ba biến, đó là biến x, y, z
- Hs: số nguyên Integer;
- Hs: Var
- Hs: Var x,y,z:integer;
- Hs quan sát
- Hs lắng nghe và quan sát.
- Hs làm theo yêu cầu của giáo viên.
- Hs lắng nghe.
- 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:
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 từng cách làm của các nhóm.
- 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;
- Gv viết chương trình cho học sinh quan sát:
- Gv chạy chương trình cho học sinh quan sát: 
- Hs: 
+ Input: Dãy A các số a1, a2, a3, , an (n>=1)
+ Output: Giá trị MAX =max(a1, a2, ,an)
- 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, 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 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.
- 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
+ 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ú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. 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.
Đố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
Hoạt động học sinh
- Gv: Hãy xác định bài toán đã cho
- Gv: Dựa và xác định bài toán, hãy mô tả thuật toán cho bài toán trên. (yêu

Tài liệu đính kèm:

  • docsang_kien_kinh_nghiem_su_dung_ngon_ngu_lap_trinh_pascal_de_g.doc