Các biện pháp đã tiến hành để giải quyết vấn đề .... Các biện pháp đã tiến hành để giải quyết vấn đề .... Các biện pháp đã tiến hành để giải quyết vấn đề .... Các biện pháp đã tiến hành
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO ĐĂK NÔNG TRƯỜNG THPT PHAN CHU TRINH
Đơn vị công tác: Trường THPT Phan Chu Trinh
CƯ JÚT – ĐĂK NÔNG, NĂM HỌC 2014 – 2015
Trang 2LỜI CAM ĐOAN
Tôi xin cam đoan : Đề tài sáng kiến kinh nghiệm “Một số kinh nghiệm dạy tốt
môn Tin học lớp 11” là đề tài của riêng tôi Không sao chép của ai, nội dung
đề tài có tham khảo và sử dụng các tài liệu, thông tin được đăng tải trên các tạp chí và các trang web theo danh mục tài liệu tham khảo của đề tài
Các số liệu trong đề tài được sử dụng trung thực, không trùng lặp, nếu có sai sót gì trong quá trình trình bày thì xin được châm trước
Cư Jút, ngày 20 tháng 01 năm 2015 Tác giả đề tài sáng kiến kinh nghiệm
Giáo viên
Vũ Đại Thanh
Trang 3MỤC LỤC
PHẦN I: MỞ ĐẦU 5
I LÍ DO CHỌN ĐỀ TÀI 5
II MỤC ĐÍCH NGHIÊN CỨU 5
III ĐỐI TƯỢNG NGHIÊN CỨU 5
IV PHƯƠNG PHÁP NGHIÊN CỨU 5
V GIỚI HẠN PHẠM VI NGHIÊN CỨU 6
PHẦN II: NỘI DUNG 7
I BÀI 9: CẤU TRÚC RẼ NHÁNH 7
1 Thực trạng của vấn đề 7
2 Các biện pháp đã tiến hành để giải quyết vấn đề 7
3 Kết quả đạt được 9
II BÀI 10: CẤU TRÚC LẶP 9
1 Thực trạng của vấn đề 10
2 Các biện pháp đã tiến hành để giải quyết vấn đề 10
3 Kết quả đạt được 14
III BÀI 11: KIỂU MẢNG 14
1 Thực trạng của vấn đề 15
2 Các biện pháp đã tiến hành để giải quyết vấn đề 15
3 Kết quả đạt được 19
IV BÀI 12: KIỂU XÂU 20
1 Thực trạng của vấn đề 20
2 Các biện pháp đã tiến hành để giải quyết vấn đề 20
3 Kết quả đạt được 23
V BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP 24
1 Thực trạng của vấn đề 24
2 Các biện pháp đã tiến hành để giải quyết vấn đề 24
3 Kết quả đạt được 26
VI BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI 26
1 Thực trạng của vấn đề 27
2 Các biện pháp đã tiến hành để giải quyết vấn đề 27
3 Kết quả đạt được 28
PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ 30
I KẾT LUẬN 30
II KIẾN NGHỊ 30
TÀI LIỆU THAM KHẢO 31
Trang 4DANH MỤC KÝ HIỆU VIẾT TẮT VÀ THUẬT NGỮ
STT Tên viết tắt và
thuật ngữ
Giải thích Trang xuất hiện
1 ASCII American Standard Code for
Trang 5PHẦN I: MỞ ĐẦU
I LÍ DO CHỌN ĐỀ TÀI
Đổi mới phương pháp dạy học (PPDH) là một yêu cầu tất yếu trong sự nghiệp đổi mới giáo dục – đào tạo của nước ta Đây cũng đang là vấn đề cấp bách không chỉ được toàn ngành giáo dục quan tâm mà cũng là sự quan tâm trong đường lối lãnh đạo công tác giáo dục của Đảng, từng được ghi trong các Nghị quyết Trung ương 4 (khoá VII) và Nghị quyết Trung ương 2 (khoá VIII), Luật giáo dục
Trong chương trình dạy Tin học ở bậc THPT, đặc biệt là chương trình Tin học khối 11 rất khó cho Thầy Cô giáo cũng như học sinh, vì phải làm thế nào
để học sinh có thể hiểu được ngôn ngữ lập trình, để từ đó có thể lựa chọn và thiết kế thuật toán Đối với học sinh thì phải làm quen với lối suy nghĩ logic với sự hoạt động của máy tính, mà đây lại là một lối suy nghĩ hoàn toàn khác với các môn học khác
Với kinh nghiệm mười năm dạy môn Tin học ở bậc THPT, Tôi mạnh dạn viết đề tài sáng kiến kinh nghiệm “Một số kinh nghiệm dạy tốt môn Tin
học lớp 11” để đồng nghiệp có dịp tham khảo, giúp giảng dạy môn Tin học
lớp 11 được tốt hơn
II MỤC ĐÍCH NGHIÊN CỨU
Tìm hiểu về chất lượng bộ môn Tin học và tìm giải pháp nâng cao chất lượng trong dạy học
III ĐỐI TƯỢNG NGHIÊN CỨU
Học sinh lớp 11 qua các năm học
Nghiên cứu khái quát về Chương trình Tin học lớp 11
IV PHƯƠNG PHÁP NGHIÊN CỨU
Xây dựng một số ví dụ đơn giản và bám sát mục tiêu môn học
Trang 6 Thử nghiệm câu hỏi bằng cách kiểm tra trên giấy và trên máy để đánh giá độ khó, độ phân biệt, độ giá trị của hệ thống câu hỏi, phân tích hệ thống câu hỏi tạo một bộ câu hỏi có chất lượng
V GIỚI HẠN PHẠM VI NGHIÊN CỨU
Chương trình Tin học lớp 11 của Bộ giáo dục và Đào tạo Việt Nam
và Học sinh lớp 11 qua các năm học
Trang 7PHẦN II: NỘI DUNG
thực tế mới có thể hiểu hết ý nghĩa của 2 dạng này
2 Các biện pháp đã tiến hành để giải quyết vấn đề
2.1 Câu lệnh if-then
Do đó Tôi mạnh dạn thay thay 3 ví dụ trong sách giáo khoa trang 40 bằng ví dụ sau:
Viết chương trình tìm số lớn nhất trong 3 số nguyên a, b, c được
nhập vào từ bàn phím (ví dụ được lấy trong sách giáo khoa thí điểm năm 1997)
Lưu ý là học sinh đã được học cấu trúc đầy đủ của chương trình
Trang 8max:=a;
if b>max then max:=b;
if c>max then max:=c;
writeln('So lon nhat la: ',max);
readln
end
Rõ ràng với 1 ví dụ như trên, chúng ta giúp cho học sinh hiểu rõ hơn lệnh if-then dạng thiếu cần thiết như thế nào khi nào gặp các dạng thuật toán như trên
2.2 Câu lệnh ghép
Để làm rõ hơn theo cú pháp thì sau các từ khóa then hoặc else
phải là một câu lệnh Nhưng trong nhiều trường hợp đòi hỏi phải có nhiều hơn một câu lệnh, thì ngôn ngữ lập trình cho phép gộp một dãy câu lệnh thành một câu lệnh ghép Tôi mạnh dạn gộp ví dụ phần này với ví dụ 1 trang 41 SGK thành ví dụ sau:
Trước khi giải thuật toán này, Tôi áp dụng kiến thức liên môn: ôn lại phương pháp giải phương trình bậc hai ở Toán học cho học sinh dễ hình dung ra giải thuật để em nào khá có thế tự làm được
Việc đầu tiên là tính:
delta: d:=b*b-4*a*c
Nếu d<0 phương trình vô nghiệm
Nếu d=0 phương trình có nghiệm kép
Nếu d>0 phương trình có 2 nghiệm phân biệt là:
x1 = (-b+sqrt(d))/(2*a) x2 = (-b-sqrt(d))/(2*a)
Lệnh if-then dạng thiếu rất ý nghĩa trong trường hợp này
Trang 9 Sau khi gợi ý, Tôi cũng khuyến khích học sinh bằng cách cho học sinh
tự làm trong 10 phút, nếu kiểm tra ai làm được sẽ cộng 1 điểm vào điểm 15 phút, chương trình đầy đủ như sau:
3 Kết quả đạt được
Việc đưa các ví dụ phù hợp, số học sinh nắm được bài là trên 80%
II BÀI 10: CẤU TRÚC LẶP
Đối với §10 Tôi đã viết một sáng kiến kinh nghiệm với tên “Đổi mới
phương pháp dạy học bài Cấu trúc lặp ở lớp 11” và đã đạt giải B cuộc thi
sáng kiến kinh nghiệm cấp Tỉnh năm học 2009-2010 (theo QĐ số: SGD&ĐT ngày 10/11/2010 của Sở Giáo dục và Đào tạo tỉnh Đăk Nông) Tôi xin tóm tắt lại nội dung sáng kiến của mình như sau:
Trang 10- Hiểu cấu trúc lặp kiểm tra điều kiện trước, cấu trúc lặp với số lần định trước
- Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể
- Mô tả thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp
- Viết đúng các lệnh lặp kiểm tra điều kiện trước, lệnh lặp với số lần lặp trước
- Viết được thuật toán của một số bài toán đơn giản
B Nội dung lên lớp
1 Thực trạng của vấn đề
Đối với §10 Cấu trúc lặp ở lớp 11, Tôi nhận thấy các ví dụ vẫn
chưa phù hợp với mục đích yêu cầu của bài dạy, đặc biệt là giải thích
thuật toán lại áp dụng kiến thức §4 Bài toán và Thuật toán ở lớp 10 làm cho học sinh rất khó tiếp thu
2 Các biện pháp đã tiến hành để giải quyết vấn đề
Thay các ví dụ khó trong sách giáo khoa bằng các ví dụ đơn giản
hơn, để giúp học sinh có thể nắm bắt dễ dàng chức năng của cấu trúc lặp 2.1 Lặp với số lần biết trước và câu lệnh for-do
Tôi thay bài toán 1: Tính và đưa kết quả ra màn hình tổng (trang42,
SGK)
100
1
2
1 1
1 1
a a S
Bằng bài toán: Tính và đưa kết quả ra màn hình tổng
100
3 2
số bài toán đơn giản có sử dụng lệnh lặp, viết đúng các lệnh lặp với số lần biết trước, viết được thuật toán của một số bài toán đơn giản
Trang 11 Thuật toán đưa ra cho bài toán trên:
32
S
Si = Si-1 + i i: 1 → 100
1
9899
100
S
Si = Si+1 + i i: 100 → 1
Trang 12 Ta cũng có thể gợi ý để học sinh làm việc theo nhóm để giải bài toán này
Trang 13 Ở tiết Bài tập và thực hành 2 thì chúng tôi áp dụng ví dụ sau: Tính và
2.2 Lặp với số lần chưa trước và câu lệnh while-do
Tôi thay Bài toán 2: Tính và đưa kết quả ra màn hình tổng
1
2
1 1
1 1
a a S
Trang 14 Nhận xét: Đây là cách tốt nhất để học sinh hiểu rõ câu lệnh
while-do, có thể so sánh sự giống nhau và khác nhau giữa lệnh for-do và
while-do
3 Kết quả đạt được
Sau §10 Cấu trúc lặp có bài kiểm tra 1 tiết (tiết 18)
Đề kiểm tra (điển hình) như sau:
1 Câu 1: Viết chương trình tìm số lớn nhất và nhỏ nhất trong 3 số nguyên a, b, c được nhập vào từ bàn phím
2 Câu 2: Viết chương trình tính tổng:
n
4
1 3
1 2
III BÀI 11: KIỂU MẢNG
Đối với §11 Tôi đã viết một sáng kiến kinh nghiệm với tên “Đổi mới
phương pháp dạy học bài Kiểu mảng ở lớp 11” và đã đạt giải C cuộc thi sáng
Trang 15kiến kinh nghiệm cấp Tỉnh năm học 2011-2012 (theo QĐ số: SGD&ĐT ngày 10/4/2012 của Sở Giáo dục và Đào tạo tỉnh Đăk Nông)
184/QĐ-Tôi xin tóm tắt lại nội dung sáng kiến của mình như sau:
A Mục đích, yêu cầu
- Hiểu khái niệm kiểu mảng
- Hiểu cách khai báo kiểu của các phần tử và cách truy cập đến các phần tử của mảng
- Cài đặt được thuật toán của một số bài toán đơn giản với kiểu dữ liệu mảng
- Thực hiện được khai báo mảng, truy cập, tính toán các phần tử của mảng
- Nắm được các cách khai báo kiểu dữ liệu mảng
- Nhận biết được các thành phần trong khai báo kiểu dữ liệu mảng
B Nội dung lên lớp
1 Thực trạng của vấn đề
Đối với §11 Kiểu mảng tôi nhận thấy việc dạy để học sinh hiểu được bài
này là rất khó khăn, nếu chúng ta không biết liên kết các ví dụ, đặc biệt là giúp học sinh hiểu được kiểu mảng là gì, khi nào thì dùng kiểu mảng và sử
dụng như thế nào
2 Các biện pháp đã tiến hành để giải quyết vấn đề
2.1 Mảng một chiều
a Cách khai báo:
Cách 1 : Khai báo trực tiếp
Var <Tên_biến_mảng> : Array[m1 m2] of <Tên kiểu dữ liệu>;
Trong đó : m1, m2 có cùng kiểu dữ liệu xác định phạm vi của chỉ số m1<=m2
Vd : VAR M:ARRAY[1 5] of integer;
Minh Họa: M
Trang 16Mảng M gồm 5 phần tử thuộc kiểu Integer ứng với các chỉ số 1,2,3,4,5 nghĩa là :
M[1], M[2], M[3], M[4], M[5]
Cách 2: Khai báo gián tiếp
Bước 1: Type <Tên_kiểu_mảng> = array[m1 m2] of <tên kiểu dữ liệu>; Bước 2: Var <Tên_biến_mảng> : <tên_kiểu_mảng>;
Vd : Type M=Array[1 5] of integer;
Var a:M;
Nhận xét: Các cách khai báo và ví dụ trên trực quan hơn và ngắn
gọn hơn cách khai báo và các ví dụ trong Sách Giáo Khoa
b Các ví dụ:
Ví dụ: viết chương trình nhập vào nhiệt độ (trung bình) của mỗi ngày
trong tuần, tính và đưa ra màn hình nhiệt độ trung bình của cả tuần, và đếm số ngày có nhiệt độ cao hơn nhiệt độ trung bình
Chương trình viết theo cách 1:
Trang 17if t5>tb then dem:=dem+1;
if t6>tb then dem:=dem+1;
if t7>tb then dem:=dem+1;
writeln('Nhiet do trung binh tuan la: ',tb:8:1);
writeln('So ngay co nhiet do cao hon trung binh la: ',dem);
readln
End
Ghi chú: Có thể minh hoạ bằng hình ảnh sau
Các câu hỏi gợi mở: Từ ví dụ trên Tôi đưa ra các tình huống để dẫn dắt
học sinh đến với một kiểu dữ liệu có cấu trúc đầu tiên, đó là “Kiểu mảng”:
+ Tính nhiệt độ trung bình một tuần thì sử dụng mấy biến? (học sinh trả lời: 7 biến)
+ Nếu tính nhiệt độ trung bình một tháng 30 ngày thì sử dụng mấy biến? (học sinh trả lời: 30 biến)
+ Nếu tính nhiệt độ trung bình một năm 365 ngày thì sử dụng mấy biến? (học sinh trả lời: 365 biến)
Thế thì việc sử dụng các biến đơn trở nên phức tạp trong trường hợp sử dụng nhiều biến (có cùng kiểu dữ liệu)
Từ đó người ta đưa ra khái niệm kiểu mảng
Chương trình viết theo cách 2:
Trang 18i, dem : byte;
Begin clrscr;
tong:=0; dem:=0;
for i:=1 to 7 do begin
writeln('Nhap nhiet do ngay thu ',i,' ');
if A[i]>tb then dem:=dem+1;
writeln('So ngay co nhiet do cao hon TB la: ',dem); readln;
Trang 19writeln('Nhiet do trung binh tuan la: ',tb:8:1);
writeln('So ngay co nh do cao hon TB la: ',dem);
readln
End
begin writeln('Nhap nhiet do ngay thu ',i,' '); readln(A[i]);
if A[i]>tb then dem:=dem+1;
writeln('So ngay nh do cao hon TB la: ',dem); readln;
End
Nhận xét:
Nếu mở rộng bài toán tính nhiệt độ trung bình một tháng 30 ngày và đếm xem có bao nhiêu ngày có nhiệt độ cao hơn nhiệt độ trung bình, thì:
Cách 1: - Phải khai báo 30 biến đơn
3 Kết quả đạt được
Bài kiểm tra học kỳ 1 gồm 2 câu tự luận, thì câu 1 liên quan đến bài này
Đề kiểm tra (điển hình) như sau:
1 Câu 1: Viết chương trình tìm nhập vào N số nguyên, tính trung bình cộng các số nguyên và đếm xem có bao nhiêu số nguyên có giá trị trên trung bình (với N<=50)
Kết quả những năm gần đây: Số học sinh đạt Trung bình trở lên là trên 75%
Trang 20IV BÀI 12: KIỂU XÂU
Bài này Tôi dạy được đánh giá loại “Giỏi” trong tiết thanh tra chuyên môn của Sở Giáo dục và Đào tạo Đăk Nông ngày 15/11/2012
A Mục đích, yêu cầu
1 Về kiến thức:
Biết xâu là một dãy kí tự
Biết cách khai thác xâu, truy cập phần tử của xâu
Sử dụng được một số thủ tục, hàm thông dụng về xâu
2 Về kĩ năng: HS cần nắm được các kĩ năng:
Khai báo kiểu xâu
2 Các biện pháp đã tiến hành để giải quyết vấn đề
Dựa vào kiến thức kiểu mảng học sinh vừa học, Tôi dẫn dắt thông qua hai câu hỏi bài cũ và kết hợp với sách giáo khoa thí điểm năm 1997
để thực hiện tiết dạy được hiệu quả hơn
2.1 Kiểm tra bài cũ:
Tôi nêu lần lượt các câu hỏi, gọi học sinh trả lời, đánh giá, cho điểm:
Câu hỏi 1: Khai báo mảng A như minh họa sau
Đáp án: Var A: array[1 8] of byte;
A
Trang 21Câu hỏi 2: Khai báo mảng S như minh họa sau
Đáp án: Var S: array[1 8] of char;
2.2 Giới thiệu bài mới:
Nhận xét: + mảng A là dãy hữu hạn các phần tử cùng kiểu số nguyên
+ mảng S là dãy hữu hạn các phần tử cùng kiểu ký tự
Xâu S là trường hợp đặc biệt của mảng một chiều, khi mảng đó có kiểu phần tử là ký tự Một mảng chứa các ký tự như câu hỏi 2 còn có một
cách gọi khác đó là: “xâu”
Bài này được Sách giáo khoa phân ra 3 mục: 1 Khai báo; 2 Các Thao tác
xử lí xâu, 3 Một số ví dụ Để dễ theo dõi Tôi phân ra 4 mục: 1 Khái niệm;
2 Khai báo; 3 Các Thao tác xử lí xâu, 4 Một số ví dụ
1 Khái niệm: (Tôi chỉ đưa ra 2 ý cơ bản nhất, để học sinh dễ hiểu)
- Xâu là một dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu
- Số lượng kí tự có trong xâu được gọi là độ dài của xâu
Vd: ‘Lop 11A6’ → độ dài xâu là 8; ‘Nam hoc’ → độ dài xâu là 7
2 Khai báo:
Var <tên biến>: string[độ dài lớn nhất của xâu];
Chú ý: Có thể bỏ qua “độ dài lớn nhất của xâu” và khi đó độ dài lớn
nhất của xâu mặc định là 255;
Ví dụ:
- Var hoten : string[30]; {biến họ tên nhận giá trị lớn nhất là 30}
- Var diachi : string; {biến địa chỉ nhận giá trị lớn nhất là 255}
3 Các Thao tác xử lí xâu: (Để tránh nhàm trán, máy móc Tôi đã đưa ra nhiều ví dụ khác sách giáo khoa nhưng có tính giáo dục thực tế)
a Ghép xâu:
Vd: ‘Viet ‘+’Nam’ → ‘Viet Nam’
b Phép so sánh:
S
Trang 22- Xâu A lớn hơn xâu B nếu như ký tự đầu tiên khác nhau giữa chúng
kể từ trái sang trong xâu A có mã ASCII lớn hơn
Vd: ‘Hoc Tin’ < ‘Hoc Toan
- Nếu xâu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B
Vd: ‘Hoc Tin’ < ‘Hoc Tin hoc’
‘Hoc Tin’=‘Hoc Tin’
Tôi đổi thành delete(s,pos,n) (theo SGK nxb Giáo dục 1997)
+ s: biến xâu (s: viết tắt chữ string là xâu)
+ pos: vị trí (pos: viết tắt chữ position là vị trí)
Theo SGK thì viết insert(s1,s2,vt)
Tôi đổi thành insert(s1,s2,pos) (theo SGK nxb Giáo dục 1997) Chức năng: Chèn xâu s1 vào xâu s2 bắt đầu từ vị trí pos
Vd:
e Hàm copy(s,pos,n)
Theo SGK thì viết copy(S,vt,N)
Tôi đổi thành copy(s,pos,n) (theo SGK nxb Giáo dục 1997)