Trong quá trình giảng dạy bộ môn, tôi suy nghĩ nhiều về những khó khăn trên và đã nảy ra ý tưởng: nếu mình kết hợp nội dung của môn học với một môn học khác mà học sinh thích học Hoặc là
Trang 1SỞ GIÁO DỤC ĐÀO TẠO ĐỒNG NAI TRƯỜNG THPT ĐOÀN KẾT
Người thực hiện: VŨ QUỐC KHANH
Tổ chuyên môn: TIN
Lĩnh vực nghiên cứu:
- Quản lý giáo dục
- Phương pháp dạy học bộ môn:
- Lĩnh vực khác: Bổ sung hệ thống bài tập tin 11
Có đính kèm:
Mô hình Phần mềm Phim ảnh Hiện vật khác
Năm học: 2013-2014
Trang 2MỤC LỤC
NỘI DUNG TRANG Phần 1:
I Lý do chọn đề tài: 1
II Thực trạng trước khi thực hiện đề tài :
Phần 2 : I Cơ sở lý luận: 2
II Những căn cứ để xây dựng đề tài : 2
III Nội dung 1 Bổ sung các bài tập trong mp Oxy 3
2 Bổ sung các bài tập về dãy số 5
3 Bổ sung các bài tập về tổ hợp, thống kê 16
4 Biện pháp thực hiện 19
5 Kết quả thực hiện đề tài 19
III Bài học kinh nghiệm: 19
IV Kết luận: 20
V Tài liệu tham khảo: 21
Trang 3SƠ LƯỢC LÝ LỊCH KHOA HỌC
I THÔNG TIN CHUNG VỀ CÁ NHÂN
1 Họ và tên: Vũ Quốc Khanh
2 Ngày tháng năm sinh: 04-03-1965
3 Giới tính : Nam
4 Địa chỉ: 24, tổ 7, khu 12, TT Tân Phú, Tân Phú, Đồng Nai
5 Điện thoại: 0919479560
6 E-mail:vuquock@yahoo.com
6 Chức vụ : Tổ trưởng chuyên môn
7 Đơn vị công tác: Trường THPT Đoàn Kết
II TRÌNH ĐỘ ĐÀO TẠO
Học vị cao nhất: Đại học
Năm nhận bằng: 1987
Chuyên ngành đào tạo: Toán (Văn bằng 2: Tin)
III KINH NGHIỆM KHOA HỌC
Lĩnh vực chuyên môn có kinh nghiệm: Dạy toán – tin
Số năm có kinh nghiệm: 27 năm
Trang 4Phần 1: PHẦN MỞ ĐẦU
I. Lí do chọn đề tài:
Nền giáo dục Việt Nam đang ngày càng chuyển mình đổi mới để hòa nhịp với nền giáo dục tiên tiến toàn cầu Tin học là một ngành khoa học quan trọng đối với sự phát triển của một quốc gia trong thời đại mới Tuy nhiên Tin học lại là mônhọc còn non trẻ, từ nhà trường cho đến giáo viên và học sinh còn coi nhẹ và chưa
có sự quan tâm đúng mức Ngoài ra đây lại là môn học không thi tốt nghiệp và không có mặt trong các khối thi vào trường đại học, ngay cả ngành CNTT
Đặc biệt môn tin học lớp 11 (lập trình PASCAL) đối với đa số học sinh là khó, cộng với tâm lý “môn phụ” nên học sinh càng lười học Hầu hết các học sinh đều không làm bài tập với lý do là khó quá không làm được
Trong quá trình giảng dạy bộ môn, tôi suy nghĩ nhiều về những khó khăn trên và đã nảy ra ý tưởng: nếu mình kết hợp nội dung của môn học với một môn học khác mà học sinh thích học (Hoặc là môn chính) thì có thể học sinh sẽ hứng thú hơn và có thể hỗ trợ ôn tập, củng cố kiến thức cho môn học đó Với lợi thế là giáo viên toán và môn toán cũng rất gần gũi với tin học, tôi quyết định chọn môn toán
Xuất phát từ vấn đề trên, với mong muốn khơi dạy sự hứng thú của học sinh đối với môn tin và cũng mong muốn góp phần khắc phục khó khăn trong việc dạy môn tin 11, tôi quyết định chọn đề tài:
“ BỔ SUNG HỆ THỐNG BÀI TẬP MÔN TIN HỌC 11 ”
II Thực trạng trước khi thực hiện các giải pháp của đề tài:
- Do chuyên môn chính là toán nên trình độ chuyên sâu về lập trình còn hạn chế
- Do tuổi cao nên khả năng sáng tạo của bản thân bị hạn chế, nhất là với môn tin học đòi hỏi sự nhạy bén
b/ Các yếu tố khách quan:
Trang 5- Đa số học sinh chưa có nhiều hứng thú với môn học vì cho là môn phụ nên dẫn tới năng lực học và tiếp thu bài còn nhiều hạn chế.
- Phòng máy của nhà trường tuy đủ về số lượng nhưng đã hết thời hạn sử dụng nênchất lượng không được tốt
Phần II : NỘI DUNG ĐỀ TÀI
I.CƠ SỞ LÍ LUẬN:
Chúng ta biết rằng sự nhận thức đúng về tầm quan trọng của một vấn đề sẽ giúp
ta tích cực lĩnh hội nó tốt hơn Cũng vậy nếu học sinh thấy được tầm quan trọng, thấy được cái hay, cái đẹp của môn học sẽ giúp học sinh có cảm tình với môn học
đó, từ đó không có thái độ thờ ơ, xem thường mà trái lại hứng thú và say mê học tập để lĩnh hội nó
Các môn học trong nhà trường đều có sự liên quan bổ trợ lẫn nhau Có thể nói môn tin là môn công cụ giúp việc giải quyết các vấn đề của các môn học khác được nhanh hơn, với độ chính xác kiểm soát được Các bài tập tin học giúp học sinh nhận ra ý nghĩa và vai trò của môn tin đối với các môn học khác và thực tiễn Các bài tập tin học còn có ý nghĩa củng cố kiến thức cho các môn học khác
Việc làm các bài tập tin mang đậm nét toán học sẽ giúp học sinh vừa cảm thấy gần gũi với môn chính (toán) vừa giúp học sinh củng cố kiến thức toán học đồng thời cụ thể hóa các vấn đề trừu tượng của toán học giúp HS cảm nhận tốt hơn về môn học
II NHỮNG CĂN CỨ ĐỂ XÂY DỰNG ĐỀ TÀI:
a) Căn cứ vào chương trình tài liệu
- Nhà trường xếp 2 tiết tin ở học kỳ I và 1 tiết ở học kỳ II nên giáo viên có thể triểnkhai sớm các kiến thức cơn bản về lập trình PASCAL cho HS ngay trong HK I
- Chương trình toán 10, 11 rất phù hợp để triển khai các bài tập tin tương ứng:Chẳng hạn:
+ Ứng với chương các phép biến hình của hình học 11 ta có thể triển khai các bài tập lập trình về phương pháp tọa độ trong mặt phẳng Oxy
+ Ứng với chương dãy số và giới hạn của giải tích 11 ta có thể triển khai các bài tập về mảng một chiều
Trang 6+ Ứng với chương Xác suất thống kê ta có thể triển khai các bài tập lập trình tính tần số, tần suất, phương sai, về giai thừa, tổ hợp,
+ Các bài tập của sách giáo khoa tuy rất hay nhưng thường khó và ít làm cho học sinh hơi bị sốc khi mới làm quen với lập trình
b) Căn cứ vào phương tiện dạy học của nhà trường:
- Nhà trường có đủ phòng máy thực hành cho môn tin, hầu như giờ nào cũng có thể dạy trên phòng máy
- Ngoài ra có thể dùng bộ trình chiếu di động để minh họa chương trình và kết quả chạy chương trình một cách trực quan
c) Căn cứ vào tình hình học sinh trong trường phổ thông
Đa số các em còn xem nhẹ môn tin học, chưa có hứng thú với môn học vì thế việc tiếp thu môn học rất là khó đối với các em Việc gắn kết với môn toán sẽ giúp học sinh cảm thấy môn tin gần gũi hơn, dễ tiếp thu hơn, quan trọng hơn từ đó khơi dậy hứng thú học tập bộ môn
III NỘI DUNG:
1 Bổ sung các bài tập trong mặt phẳng Oxy :
Sau khi học xong cấu trúc rẽ nhánh thì lúc này bên hình học đang học về phép biếnhình vì thế việc triển khai các bài tập về mpOxy trong giai đoạn này là rất phù hợp
Sau khi các em biết lập trình giải phương trình bậc nhất, bậc hai, hệ phương trình bậc nhất (trong SGK) có thể cho các em làm bài tập sau:
Bài tập1: Viết chương trình tìm giao điểm của một Parabol (P):y = ax 2 +bx + c và một đương thẳng d: y = mx +n
Dữ liệu vào: Các hệ số a, b, c, m, n là các số thực nhập từ bàn phím
Dữ liệu ra: Tọa độ giao điểm hoặc tọa độ tiếp điểm hoặc thông báo không có
điểm chung.
Nhận xét: Phương trình hoành độ giao điểm của (P) và d là:
ax2+(b-m)x + c-n=0 Như vậy bài tập này có thể đưa về phương trình bậc hai mà SGK đã trình bày
Trang 7Bài tập 2: Viết chương trình nhập vào tọa độ 3 điểm A, B, C trong mp Oxy Kiểm
tra tính thẳng hàng của 3 điểm A, B, C Nếu A, B, C không thẳng hàng thì kiểm tra tính cân, đều, vuông của ∆ABC.
Dữ liệu vào: xA, yA, xB, yB, xC, yC là các số thực nhập từ bàn phím
Dữ liệu ra: In ra các câu trả lời theo yêu cầu
Nhận xét: Bài này các em có thể sử dụng các tính toán đơn giản của hình học trong
mp Oxy cùng với cấu trúc If….then… else…
Bài tập 3: Viết chương trình xét vị trí tương đối của đường tròn (T) có phương
trình x 2 + y 2 – 2ax – 2by + c = 0 và đường thẳng d: y = kx + m
Dữ liệu vào: a, b, c, k, m là các số thực nhập từ bàn phím
Dữ liệu ra: câu trả lời về vị trí tương đối của (T) và d
Nhận xét: Bài này các em có thể sử dụng các tính toán đơn giản của hình học trong
mp Oxy: xác định tâm, bán kính đường tròn (T), tính khoảng cách từ tâm đường tròn (T) đến đường thẳng d, cùng với cấu trúc If….then… else…
Bài tập 4: Viết chương trình tìm ảnh của điểm M qua phép đối xứng tâm I
Dữ liệu vào: xM, yM, xI, yI là các số thực nhập từ bàn phím
Dữ liệu ra: xN, yN là tọa độ điểm N đối xứng với M qua I
Nhận xét: Bài này các em có thể sử dụng các tính toán đơn giản của hình học trong
mp Oxy: công thức tọa độ trung điểm
Bài tập 5: Viết chương trình tìm ảnh của điểm M qua phép vị tự tâm I tỉ số k
Dữ liệu vào: xM, yM, xI, yI, k là các số thực nhập từ bàn phím
Dữ liệu ra: xN, yN là tọa độ điểm N là ảnh của M
Nhận xét: Tương tự bài tập 4 bài này chỉ mang tính chất tính toán không thiên về tin học Tuy nhiên nó có thể tạo hứng thú cho học sinh vì các em đang học về phépbiến hình trong mpOxy
Bài tập 6: Viết chương trình xét vị trí tương đối của đường tròn (T) có phương
trình x 2 + y 2 – 2ax – 2by + c = 0 và điểm M(p,q)
Dữ liệu vào: a, b, c, p, q là các số thực nhập từ bàn phím
Trang 8Dữ liệu ra: câu trả lời về vị trí tương đối của (T) và M
Nhận xét: Bài này các em có thể sử dụng các tính toán đơn giản của hình học trong
mp Oxy: xác định tâm, bán kính đường tròn (T), tính khoảng cách từ tâm đường tròn (T) đến điểm M, cùng với cấu trúc If….then… else… để in ra kết quả
Bài tập7: Viết chương trình nhập vào tọa độ 3 điểm A, B, C, M trong mp Oxy
Kiểm tra tính thẳng hàng của 3 điểm A, B, C Nếu A, B, C không thẳng hàng thì kiểm tra xem điểm M có nằm trong ∆ABC không.
Dữ liệu vào: xA, yA, xB, yB, xC, yC, xM, yM là các số thực nhập từ bàn phím
Dữ liệu ra: In ra các câu trả lời theo yêu cầu
Nhận xét: Bài này khó giáo viên có thể hướng dẫn cho các em thuật giải sau:
+ Viết phương trình tổng quát của các cạnh AB, BC, CA
+ Nếu A, M nằm cùng phía so với BC và B, M nằm cùng phía so với AC và C, M nằm cùng phía so với AB thì kết luận M nằm trong ∆ABC
Có thể phát triển bài toán này thành bài toán tối ưu của đại số 10
2 Bổ sung các bài tập về dãy số :
Sau khi học sinh được học về cấu trúc lặp và dữ liệu kiểu mảng thì tương ứng ở giải tích 11 các em cũng được học về dãy số, cấp số cộng, cấp số nhân… vì thế việc triển khai các bài tập về dãy số trong giai đoạn này là rất phù hợp, giúp cho các em vừa hứng thú học tập vừa củng cố thêm các kiến thức toán học
Bài tập 8: Viết chương trình in ra các số hạng của dãy số u n = 1 1
đến 20 Nêu nhận xét về kết quả in ra trên màn hình: Tính tăng giảm, dự đoán giới hạn
Dữ liệu vào: Không có dữ liệu nhập vào
Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét: Bài này giúp các em rèn luyện về kiểu mảng và cấu trúc lặp xác định Ngoài ra giúp các em có cái nhìn thực tiễn về số e
Bài tập 9: Viết chương trình in ra n số hạng của cấp số cộng với u1 = 5 và công
sai d = 4 Tính và in ra tổng của n số hạng nói trên.
Dữ liệu vào: n
Trang 9Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét: Bài này giúp các em rèn luyện về kiểu mảng và cấu trúc lặp xác định Ngoài ra giúp các em ôn tập về cấp số cộng
Bài tập 10: Viết chương trình in ra n số hạng của cấp số nhân với u1 = 5 và công
bội p = 2 Tính và in ra tổng của n số hạng nói trên.
Dữ liệu vào: n
Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét: Bài này giúp các em rèn luyện về kiểu mảng và cấu trúc lặp xác định Ngoài ra giúp các em ôn tập về cấp số nhân
Bài tập 11: Viết chương trình in ra u n Biết rằng u 1 = 2 và số u n = u n+ 1với n≥ 2
Dữ liệu vào: n
Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét: Bài này giúp các em rèn luyện về kiểu mảng và cấu trúc lặp xác định Ngoài ra giúp các em ôn tập về dãy số cho bằng công thức truy hồi
Bài tập 12: Viết chương trình xét xem một số n có phải là số nguyên tố không?
a.Hướng dẫn:
- Nếu n không chia hết mọi số i có giá trị từ 2 đến n - 1 thì n là số nguyên tố
- Sử dụng biến ok có kiểu boolean và có giá trị ban đầu là true
- Cho biến i chạy từ 2 đến n – 1 Xét n mod i Nếu bằng 0 thì gán ok = false Ngược lại vẫn để nguyên ok
if ok then write(n,' la so nguyen to')
else write(n, ' khong la so nguyen to');
Trang 10readln
end.
c Nhận xét: Ở đây ta sử dụng biến có kiểu logic (Đúng, sai) Chỉ cần một lần n
mod i = 0 thì sau khi thực hiện xong vòng lặp ok có giá trị là false
- Sử dụng mảng M để chứa dãy n số fibonacy Tạo lập hai phần tử đầu tiên là 1, 1
- Cho i chạy từ 3 đến n M [i] = M[i-1]+M[i-2]
- In n phần tử đầu tiên của mảng
Trang 11for i:=3 to n do m[i]:=m[i-1]+m[i-2];
for i:=1 to n do write(m[i],' ,');
Trang 12write('Nhap phan tu can xoa: ');readln(k);
for i:=k to n-1 do m[i]:=m[i+1];
for i:=1 to n-1 do write(m[i],', ');
readln
end.
c Nhận xét: Với yêu cầu của bài tập trên chỉ cần kiểm tra chỉ số khi in (VD nếu
i=8 thì không in) Tuy nhiên trong khi sử dụng mảng để lưu dữ liệu giải toán, nhiềukhi ta có nhu cầu xóa bớt hoặc chèn thêm phần tử vào dãy
Bài tập 17:
Viết chương trình cho phép nhập một dãy gồm n số nguyên Nhập thêm một
số và chèn thêm vào dãy sau phần tử k.
Trang 13write('Vi tri chen: ');readln(k);
for i:=n+1 downto k+1 do M[i]:=M[i-1];
write('Nhap so can chen: '); readln(M[k]);
for i:=1 to n+1 do write(M[i],', ');
- Cho Min = M[1], j = 1 (Xem phần tử đầu tiên là bé nhất)
- So sánh Min với n-1 số còn lại Trong quá trình so sánh nếu Min > M[i] thì gán Min = M[i], j=i và tiếp tục so sánh
Trang 14For j:=i+1 to n do if M[j] <=M[i] then
Begin Tam:= M[i]; M[i]:=M[j]; M[j]:=tam; End;
Write('Sau khi sap xep: ');
For i:=1 to n do Write(M[i],';');
Bước 1: Khởi tạo một mảng một chiều n phần tử có giá trị 0.
Bước 2: Khởi tạo giá trị cho hàng thứ nhất M[1,1] = 1.
Bước 3: - Đối với hàng thứ i tính giá trị phần tử từ phần tử thứ i + 1 xuống phần tử thứ 2: M[j]:=M[j] + M[j-1]
- In ra hàng thứ i.
Trang 16for i:=1 to n do write(x[i],', ');
Var M: array[1 100] of integer;
i,n, dau,ldau, dai,Max: integer;
Begin
Write('Nhap so n: '); Readln(n);
For i:=1 to n do
Begin Write('[',i,']='); Readln(M[i]); End;
{Khoi tao gia tri dau}
Trang 17if dai> Max then Begin Max:=dai; ldau:=dau; dai:=0 End
else Begin dau:=i+1; dai:=1 End;
Write('Nhap so nc: '); Readln(n); Max:=0;
For i:=1 to n do Begin Write('[',i,']=');
Trang 18i,n, dau,ldau, dai,Max: integer;
if M[i+1]*M[i]>0 then dai:=dai+1 else
if dai> Max then Begin Max:=dai; ldau:=dau; dai:=0 End
else Begin dau:=i+1; dai:=1 End;
Trang 19Begin ldau:=i; Max:=Tong(M,i,j) ; dai:=j+1 End;
Write('Xau con co tong:',max,' bat dau tu: ',ldau, ' dai: ',dai);
Readln
End.
3 Bổ sung các bài tập vể tổ hợp, xác suất thống kê :
Bài tập 22:
Viết chương trình tính n! với yêu cầu sử dụng hàm để tính giai thừa.
a Hướng dẫn: Có thể dung cấu trúc for hoặc while
Trang 20a Hướng dẫn: Sử dụng hàm trong bài tập 22, và công thức trong toán học đã biết
b Mã chương trình:
Function Cnk(n,k:longint):longint;
begin
ank:=(Giai_thua(n)/(giai_thua(k)*giai_thua(n-k)) end;
Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét: Bài này giúp các em rèn luyện cách sử dụng hàm và ôn tập về nhị thức Niu-tơn ( )n
a b+
Bài tập 25:
Viết chương trình nhập vào điểm số của một bài kiểm tra một tiết của một lớp học (gồm 40 bài) In ra bảng phân bố tần số, tần suất, số trung bình, mốt, số trung vị, phương sai Yêu cầu ghép lớp như sau:
Dữ liệu vào: gồm điểm số của 40 học sinh (dùng kiểu mảng)
Dữ liệu ra: in ra kết quả theo yêu cầu
Nhận xét:
Dùng 2 mảng
+ Mảng A[1 40] chứa điểm số
+ Mảng L[1 5] chứa tần số của mỗi lớp
Trang 21Có thể dủng For kết hợp case để tính tần số
Các số liệu khác dùng các công thức về thống kê, kết hợp cấu trúc for
Bài tập này giúp học sinh ôn luyện về thống kê đã học ở lớp 10
Bài tập 26:
Viết chương trình cho phép thực hiện rút gọn phân số.
a Hướng dẫn:
- Tìm UCLN của tử số và mẫu số
- Chia tử và mẫu của phân số cho UCLN vừa tìm được
write('Nhap tu: '); readln(tu);
write('Nhap mau: '); readln(mau);
write('Ket qua rut gon: ',tu,'/',mau,'=',tu div UCLN(tu,mau),'/',mau div UCLN(tu,mau));
readln
end.
Đây là một bài toán đơn giản nhưng tạo hứng thú cho Hs do tính ứng dụng cao