skkn tin hoc11 MỤC LỤC I. TÊN SÁNG KIẾN, LĨNH VỰC ÁP DỤNG 3 II. NỘI DUNG SÁNG KIẾN 3 1. Giải pháp cũ thường làm 3 2. Giải pháp cải tiến 4 III. HIỆU QUẢ KINH TẾ VÀ XÃ HỘI 5 1. Hiệu quả kinh tế 5 2. Hiệu quả xã hội 5 IV. ĐIỀU KIỆN VÀ KHẢ NĂNG ÁP DỤNG 5 1. Điều kiện áp dụng: 5 2. Khả năng áp dụng 5 PHỤ LỤC 1: CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN 7 PHỤ LỤC 2: HỆ THỐNG BÀI TẬP TÍCH HỢP TOÁN PHỔ THÔNG VÀ CÁC BÀI TOÁN THỰC TẾ (LỚP 10, LỚP 11) 8 PHỤ LỤC 3: TÀI LIỆU THAM KHẢO 30
Trang 1MỤC LỤC
MỤC LỤC 1
I TÊN SÁNG KIẾN, LĨNH VỰC ÁP DỤNG 2
II NỘI DUNG SÁNG KIẾN 2
1 Giải pháp cũ thường làm 2
2 Giải pháp cải tiến 3
III HIỆU QUẢ KINH TẾ VÀ XÃ HỘI 4
1 Hiệu quả kinh tế 4
2 Hiệu quả xã hội 4
IV ĐIỀU KIỆN VÀ KHẢ NĂNG ÁP DỤNG 4
PHỤ LỤC 1: 6
CƠ SỞ LÝ LUẬN VÀ THỰC TIỄN 6
HỆ THỐNG BÀI TẬP TÍCH HỢP TOÁN PHỔ THÔNG VÀ CÁC BÀI TOÁN THỰC TẾ (LỚP 10, LỚP 11) 7
PHỤ LỤC 3: 31
TÀI LIỆU THAM KHẢO 31
Trang 2C Ộ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
Kính gửi: Hội đồng sáng kiến Sở Giáo dục và Đào tạo Ninh Bình
Chúng tôi ghi tên dưới đây
Tỷ lệ (%) đóng góp vào việc tạo
Là nhóm đồng tác giả đề nghị xét công nhận sáng kiến “Sử dụng chương trình
Pascal để giải một số bài toán trong toán học THPT và trong thực tiễn”
2 Lĩnh vực áp dụng
Đề tài nghiên cứu trong phạm vi Tin học 11
II NỘI DUNG SÁNG KIẾN
1 Giải pháp cũ thường làm
1.1 Thực trạng của giải pháp
Trong quá trình giảng dạy, đa số giáo viên đưa các bài toán gần gũi quen thuộcvào các tiết dạy nhưng vẫn còn rất hạn chế Các bài toán thực tế chủ yếu lấy trong sáchgiáo khoa, đôi khi còn bị bỏ qua Bên cạnh đó học sinh còn quên kiến thức toán học dẫnđến việc xác định thuật toán gặp khó khăn
1.2 Ưu điểm và hạn chế
+ Ưu điểm:
- Tốn ít thời gian không phải chuẩn bị nhiều
- Học sinh vận dụng các kĩ năng linh hoạt trong việc lập trình các bài toán đơn giản
Trang 3- Rèn kĩ năng ghi nhớ, rèn luyện tư duy logic
+ Hạn chế
- Dạy học vẫn mang nặng về lý thuyết dẫn đến kĩ năng giải quyết các vấn đề thựctiễn thông qua khả năng vận dụng còn hạn chế Dẫn đến các chương trình khôkhan khó hiểu không liền mạch kết hợp ngôn ngữ lập trình và thuật toán, thiếutính thực tiễn và giảm khả năng sáng tạo của học sinh
- Học sinh thực hành bằng cách ghi nhớ máy móc, làm theo khuôn mẫu yêu cầu đặt
ra, dẫn đến tâm lý chán nản, ngại học, học thụ động, không có phương pháp tựhọc, học trước quên sau
2 Giải pháp cải tiến
Để khắc phục những hạn chế của phương pháp cũ, chúng tôi đã nghiên cứu giảipháp tích hợp một số bài toán thông dụng toán THPT (toán 10 và toán 11) và bài toánthực tiễn dạy học lập trình trong tin học 11
(Bảng mô tả chi tiết xem PHỤ LỤC 2)
2.1 Cơ sở của giải pháp
Nếu xây dựng được một hệ thống các bài toán thông dụng chương trình phổ thông
và bài toán thực tế vào các tiết dạy giúp học sinh yêu thích hơn, chủ động tìm tòi hơn đểcác em nắm bắt các kiến thức và bồi dưỡng năng lực giải toán cũng như lập trình, qua
đó vận dụng vào thực tiễn
(Bảng mô tả chi tiết xem PHỤ LỤC 1)
2.2 Bản chất của giải pháp
- Xây dựng phương pháp học tập hiệu quả phù hợp, lấy học sinh làm trung tâm
- Xây dựng hệ thống các bài toán thực tiễn để lập trình cho phù hợp
- Học sinh liên hệ thực tế, chủ động tích cực trong học tập
2.3 Tính mới, tính sáng tạo của giải pháp
Học sinh sử dụng lập trình chương trình đơn giản, cấu trúc lặp và rẽ nhánh chonhững bài toán quen thuộc đã học trong chương trình toán 10, toán 11 và các bài toánthực tế Trên cơ sở học sinh ôn lại các kiến thức toán học mới học và chạy các test vừagiúp học sinh củng cố kiến thức toán, tin vừa hứng thú tìm tòi thuật toán để viết chươngtrình thực hành trên máy
+ Đối với giáo viên
- Thực hiện tốt chủ trương đổi mới dạy học lấy học sinh làm trung tâm
- Kích thích khả năng sáng tạo của học sinh và giáo viên
Trang 4- Rèn luyện khả năng ứng dụng công nghệ thông tin trong dạy học.
- Tạo không khí vui vẻ trong tiết học
+ Đối với học sinh
- Tạo hứng thú cho học sinh trong việc học toán và lập trình
- Kích thích tính chủ động, tích cực của học sinh và tính sáng tạo của mỗi học sinh
- Rèn luyện kĩ năng cho học sinh về sử dụng lập trình đơn giản và cấu trúc rẽ nhánh, cấutrúc lặp cho các bài toán
+ Hiệu quả giảng dạy
Chúng tôi trong suốt quá trình giảng dạy luôn băn khoăn làm sao để học sinh yêuthích môn toán và lập trình, làm sao để học sinh vận dụng kiến thức toán học vào thựctiễn Khi tích hợp toán học vào lập trình, sử dụng ngôn ngữ pascal để lập trình các bàitoán đã học trong toán THPT và thực tiễn chúng tôi thấy các em hứng thú hơn đặc biệtqua thực hành trên máy với nhiều bộ test
III HIỆU QUẢ KINH TẾ VÀ XÃ HỘI
1 Hiệu quả kinh tế
Học sinh khi học lập trình thông qua tích hợp các bài toán giúp học sinh hứng thútrong việc tiếp thu kiến thức và hình thành kỹ năng của học sinh Học sinh có vốn kiếnthức toán học và lập trình tốt có thể tiếp cận với cơ hội nghề nghiệp tương lai và hoạtđộng lao động năng động sáng tạo trong thời đại công nghiệp hóa hiện đại hóa, côngnghệ số
2 Hiệu quả xã hội
- Tiết học sinh động, linh hoạt hơn, không còn thụ động, học đi đôi với hành
- Học sinh liên hệ giữa toán vận dụng lập trình, ứng dụng thực tế
IV ĐIỀU KIỆN VÀ KHẢ NĂNG ÁP DỤNG
1 Điều kiện áp dụng:
- Giáo viên hệ thống kiến thức lập trình và các kiến thức toán học liên quan qua
đó đưa một số các bài toán phù hợp với từng tiết dạy
- Học sinh nắm được kiến thức cơ bản, áp dụng kiến thức đã học để đưa ra thuậttoán, từ đó chuyển sang viết chương trình Qua đó tạo tính sáng tạo, tìm tòi các bài tậptương tự
2 Khả năng áp dụng
Sáng kiến này có khả năng áp dụng đối với tất cả giáo viên và học sinh trong một
số tiết học Tin học 11
Trang 53 Danh sách những thành viên tham gia dự án
T Họ và tên Ngày tháng
năm sinh Nơi công tác Chức vụ
Trình độ chuyên môn
Nội dung công việc hỗ trợ
Trang 6tự rèn luyện thông qua một số bài tập, dạng bài tập cụ thể.
Làm thế nào để tìm kiếm và xây dựng tích hợp các bài toán THPT và thực tế đểgiúp học sinh rèn luyện khả năng toán học và yêu thích lập trình hơn? Đây là câu hỏibăn khoăn của các nhà giáo dục, giáo viên Qua tìm hiểu thực tiễn tôi thấy rằng các bàitoán được tìm thấy thông qua các hoạt động:
- Tìm hiểu tài liệu,tìm kiếm trên internet
- Tham khảo bộ môn Toán học
- Từ các vấn đề cuộc sống
II Cơ sở thực tiễn
Qua thực tế giảng dạy các năm qua, tôi nhận thấy khi học đến chương trình tinhọc lớp 11 đa số học sinh đều nhận xét bộ môn tuy khó nhưng gây được hứng thú khigiải quyết được các bài toán toán học bằng máy tính với nhiều bộ test khác nhau Nhiềuhọc sinh tỏ ra rất thích thú khi lập trình để giải được một bài toán và cho chạy ra kết quảđúng Từ đó hăng say lập trình giải quyết các bải toán khó hơn Bằng cách này sẽ giúpphần nào cho các em trong việc học toán, một môn khá khó
Các bài toán thông dụng và thực tế trong quá trình giảng dạy thường được sử dụng:
- Sử dụng ngôn ngữ lập trình viết chương trình đơn giản các bài toán thông dụng lớp 10, 11 và các bài toán thực tiễn
- Sử dụng ngôn ngữ lập trình cấu trúc rẽ nhánh và câu trúc lặp viết chương trình các bài toán lớp 10 và 11, các bài toán thực tiễn
Trang 7HỆ THỐNG BÀI TẬP TÍCH HỢP TOÁN PHỔ THÔNG VÀ CÁC BÀI TOÁN
Trang 8Integer 2 byte -215 → 215 – 1
Longint 4 byte -231 → 231-1+ Kiểu thực
Kiểu
Bộ nhớ lưutrữ một giátrị
Phạm vi giá trịReal 6 byte 0 hoặc giá trị tuyệt đối nằm trong phạm vi 10-38 Đến 1038
Extended 10 byte 0 hoặc giá trị tuyệt đối nằm trong phạm vi 10
-4932 đến
104932
+ Kiểu kí tự
- Kí tự: là tập các kí tự thuộc bộ mã ASCII gồm 256 kí tự được đánh số từ 0 đến 255
- Kiểu kí tự: là tập giá trị các kí tự trong bộ mã ASCII, được dùng khi thông tin là các kítự
Kiểu Bộ nhớ lưu trữ
- Ứng dụng: Lưu trữ họ tên học sinh, địa chỉ…
+ Kiểu lôgic
- Được dùng khi kiểm tra một điều kiện hoặc tính giá trị của một biểu thức logic
Kiểu Bộ nhớ lưu trữ một giá trị Phạm vi giá trị
* Nhập dữ liệu vào từ bàn phím
- Cú pháp:
Read(<danh sách biến vào>);
Readln(<danh sách biến vào>);
Đưa dữ liệu ra màn hình
- Cú pháp:
Write(<danh sách kết quả ra>);
Trang 9Writeln(<danh sách kết quả ra>);
* Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình
- Soạn thảo: Gõ nội dung chương trình gồm phần khai báo và phần thân
2 Các bài toán thông dụng
Bài toán 1: Một người đi xe đạp với tốc độ 10km/h và một người đi xe máy với tốc độ
30km/h cùng xuất phát từ một vị trí, cùng một thời điểm và đi cùng một hướng Viếtchương trình tính khoảng cách giữa hai người sau t giờ (t là số nguyên dương, t≤ 20)
Dữ liệu t được nhập vào từ bàn phím Kết quả đưa ra màn hình (Dạng dễ)
Phương án giải quyết
Khoảng cách: d
- Quãng đường người đi xe đạp sau thời gian t: 10.t
- Quãng đường người đi xe máy sau thời gian t: 30.t
Bài toán 2: Nam gọi điện thoại trao đổi với Huy Cứ mỗi phút dùng điện thoại phải trả a
đồng Cuộc trao đổi kéo dài t phút Viết chương trình tính và đưa ra màn hình số tiền mà
mẹ bạn Nam cuối tháng phải thanh toán cho cuộc trao đổi này Các dữ liệu a và t(nguyên dương) được nhập vào từ bàn phím (Dạng dễ)
Trang 10Phương án giải quyết
Số tiền = số phút (a) * thời gian (t)
Chương trình
Var s,t,a:word;
Begin
Write(‘Nhap sau thoi gian t =’); readln(t);
Write(‘Nhap so tien phai tra 1 phut’); readln(a);
Viết chương trình tính giá trị của các biểu thức lượng giác
a) 4(Cos24o + Cos48o - Cos84o-Cos12o)
b) 9Sin Cos Cos Cos Cos
c) Tan9o - Tan63o+Tan81o- Tan27o
phương pháp giải quyết
- Giúp học sinh hiểu qui tắc tính hàm lượng giác trong Pascal Đó là đối số không nhậngiá trị độ mà nhận giá trị radian thông qua sử dụng hằng Pi có sẵn trong NNLT
- Đối số của các hàm này chỉ tính theo đơn vị Radian và được đặt trong ngoặc tròn ().Muốn tính được giá trị của một biểu thức trên máy tính thì người lập trình cần phải đưa
về ngôn ngữ để máy tính hiểu được thông qua các quy tắc, quy ước, cú pháp của từngngôn ngữ lập trình
Chương trình
Program Bai9Tr161;
Begin
Writeln(‘KQ cau a = ’, 4*(Cos(24*pi/180) + Cos(48*pi/180)-Cos(840-Cos120)));
Writeln(‘KQ cau b = ’, 96*SQRT(3)*Sin(pi/48)*Cos(pi/48) Cos(pi/24)* Cos(pi/12)* Cos(pi/6));
Writeln(‘KQ cau c = ’, Sin(9*pi/180)/Cos(9*pi/180) - Sin(63*pi/180)/Cos(63*pi/180)+ Sin(81*pi/180)/Cos(81*pi/180) - Sin(27*pi/180)/Cos(27*pi/180));
Trang 11Phương án giải quyết
- Các công thức lượng giác trong tam giác vuông b=a.SinB;c=a.SinC;ha=b.SinC
- Sử dụng câu lệnh gán trong chương trình là sẽ tính được yêu cầu của bài toán Cuối cùng là in kết quả ra màn hình
Tính diện tích S của tam giác có số đo các cạnh lần lượt là 7,9,12
Phương án giải quyết
Công thức tính diện tích tam giác thông qua độ dài các cạnh là công thức Herông
S= sqrt(p ( p − a)( p − b)( p − c )) với p là nửa chu vi
Trang 12Tam giác ABC có các cạnh a=8cm; b=10cm và c=13cm Tính độ dài trung tuyến
AM của tam giác ABC
Phương án giải quyết
Tương tự mục tiêu trên thông qua bài này học sinh được học, nhớ lại kiến thức trong toán học và từ đó vận dụng viết chương trình trong pascal Qua đây các em nhìn thấy được những ứng dụng cụ thể của ngôn ngữ lập trình trong việc giải toán
Công thức tính độ lớn các trung tuyến ứng với mỗi cạnh là:
Bài toán tính diện tích tổng hợp:
Cho tam giác đều ABC độ dài cạnh là a được nhập vào từ bàn phím Tính diện tích tam giác và diện tích hình vành khăn được tạo bởi đường tròn nội, ngoại tiếp tam giác ABC
Phương án giải quyết
- Nhắc lại một số công thức trong phần giải tam giác của lớp 10 nếu các em quên
Trang 13S = a.b sinC hoặc S= b.c.sinA; S = a.c.sinB
S= , R bán kính đường tròn ngoại tiếp tam giác
hoặc S= p.r, r là bán kính đường tròn nội tiếp tam giác
- Khai báo biến a,biến r,d lần lượt ứng với bán kínhđường tròn nội, ngoại tiếp tam giác Biến Stamgiac, Svanhkhan
Writeln(‘Dien tichtam giac la: ‘,stamgiac:6);
Writeln(‘Dien tich vanh khan: ‘, svanhkhan: 6);
Readln
End.
II BÀI TẬP VẬN DỤNG CHO CHƯƠNG III: CẤU TRÚC RẼ NHÁNH VÀ LẶP
1 Kiến thức trọng tâm
Trang 14- Điều kiện là biểu thức logic.
- Câu lệnh, Câu lệnh 1, Câu lệnh 2 là một câu lệnh của Pascal
Hoạt động :
- Ở dạng thiếu : Điều kiện sẽ được tính và kiểm tra Nếu Điều kiện đúng thì Câu lệnh sẽ được thực hiện, ngược lại thì Câu lệnh sẽ bị bỏ qua
- Ở dạng đủ : Điều kiện cũng được tính và kiểm tra Nếu Điều kiện đúng thì Câu lệnh 1
sẽ được thực hiện, ngược lại thì Câu lệnh 2 sẽ được thực hiện
- For, To, Do là các từ khoá
- Biến đếm là biến đơn, thường có kiểu nguyên
- Giá trị đầu, Giá trị cuối là các biểu thức có giá trị cùng kiểu với Biến đếm và Giá trị đầu phải nhỏ hơn hoặc bằng Giá trị cuối Nếu Giá trị đầu lớn hơn Giá trị cuối thì vòng lặp không được thực hiện
- Câu lệnh là một câu lệnh trong Pascal, có thể là câu lệnh đơn hoặc câu lệnh ghép.Hoạt động:
Ở dạng lặp tiến, câu lệnh viết sau từ khóa Do được thực hiện tuần tự, với Biến đếm lần lượt nhận các giá trị liên tiếp tăng từ Giá trị đầu đến Giá trị cuối
+ Dạng lặp lùi :
Trang 15Trong đó:
- For, Downto, Do là các từ khoá
- Biến đếm là biến đơn, thường có kiểu nguyên
- Giá trị đầu, Giá trị cuối là các biểu thức có giá trị cùng kiểu với Biến đếm
- Câu lệnh là một câu lệnh trong Pascal, có thể là câu lệnh đơn hoặc câu lệnh ghép.Hoạt động:
Ở dạng lặp lùi, câu lệnh viết sau từ khóa Do được thực hiện tuần tự với Biến đếm lần lượt nhận các giá trị liên tiếp giảm từ Giá trị cuối đến Giá trị đầu
* Loại 2: Lặp với số lần chưa biết trước:
While <điều kiện> do ;
+ Trong đó:
- While, do là các từ khoá;
- Điều kiện là biểu thức logic;
- Câu lệnh là một câu lệnh đơn hoặc lệnh ghép
+ Cấu trúc hoạt động như sau:
- Bước 1: Tính ;
- Bước 2: Nếu kết quả là đúng (true) thì thực hiện và quay lại bước 1, ngược lại thì chuyển sang câu lệnh tiếp theo trong chương trình
2 Một số bài toán
Bài toán hệ phương trình bậc nhất 2 ẩn
Hệ hai phương trình bậc nhất hai ẩn có dạng tổng quát là :
Trong đó : x,y là hai ẩn, các chữ còn lại là hệ số
Nếu cặp số (x₀,y₀) đồng thời thảo mãn hai phương trình của hệ thì (x₀,y₀) được gọi là một nghiệm của hệ phương trình
Giải hệ phương trình trên là tìm tập nghiệm của nó
Bài 1: Lập trình để giải bài toán cổ sau :
Trang 16(SGK Tin học 11 – Trang 51)
Phương án giải quyết
Với bài toán trên dễ thấy ta có hệ phương trình hai ẩn như sau:
Trang 17Kết quả của chương trình : Số gà là 22, Số chó là 14.
Bài 2: Trong kho tàng văn hóa dân gian Việt Nam có bài toán “Trăm trâu trăm cỏ” sau đây: (SGK Đại số 10 – Trang 67)
Trăm trâu trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăn ba
Lụ khụ trâu già
Ba con một bó
Hỏi có bao nhiêu trâu đứng, bao nhiêu trâu nằm, bao nhiêu trâu già ?
Phương án giải quyết
Với bài toán trên dễ thấy ta có hệ hai phương trình bậc nhất 3 ẩn như sau:
x + y + z = 100;
5x + 3y + 3z = 100 ;
Trong đó : gọi x là số trâu đứng, y là số trâu nằm và z là số trâu già
Từ dữ kiện của bài toán ta có :
Trang 18writeln('So trau dung la: ',x);
Writeln('So trau nam la: ',y);
Writeln('So trau gia la: ',z);
Bài 3: Một công ti có 85 xe chở khách gồm 2 loại, xe chở được 4 khách và xe chở được
7 khách Dùng tất cả số xe đó, tối đa công ti chở 1 lần được 445 khách Hỏi công ti đó
có mấy xe khách mỗi loại ?
(SGK Bài tập Đại số 10 – Trang 77)
Phương án giải quyết
Với bài toán trên dễ thấy ta có hệ hai phương trình bậc nhất 2 ẩn như sau:
x + y = 85;
4x + 7y = 445 ;
Trong đó : gọi x là số xe chở được 4 khách, y là số xe chở được 7 khách
Từ dữ kiện của bài toán ta có :
Trang 19Writeln('So xe cho 7 khach la: ',y);
Readln
End.
Kết quả của chương trình : Số xe khách 4 chổ ngồi là 50, Số xe khách 7 chổ ngồi là 35
2.2 Một số bài toán khác về tọa độ điểm và đồ thị
Bài 1: Hãy giải bài toán sau trên máy tính thông qua ngôn ngữ lập trình Pascal Thông
Phương án giải quyết
Từ kiến thức các em được học trong toán học các em dễ dàng vận dụng nó trong lập trình Nếu một tọa độ điểm (x,y) thỏa mãn phương trình hàm số đã cho thì thông báođiểm đó thuộc đồ thị còn không thông báo điểm đó không thuộc đồ thị