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
Đổ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.
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 S 1... 4 1 3 1 2 1 (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% 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 15 kiến kinh nghiệm cấp Tỉnh năm học 2011-2012 (theo QĐ số: 184/QĐ- SGD&ĐT ngày 10/4/2012 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: 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 : Array[m1 . . m2] of ; 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 1 2 3 4 5 16 Mả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 = array[m1..m2] of ; Bước 2: Var : ; 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: Program Nhietdo_Tuan; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb: real; dem : byte; Begin clrscr; write('Nhap vao nhiet do cua 7 ngay: '); readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; dem:=0; if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; 17 if 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: Program Nhietdo_Tuan; Uses crt; Var A : array[1..7] of real; tong, tb : real; 22oC 22.5oC 23oC 23.5oC 24oC 24.5oC 25oC T1 T2 T3 T4 T5 T6 T7 23.5 3 tb dem 18 i, dem : byte; Begin clrscr; tong:=0; dem:=0; for i:=1 to 7 do begin writeln('Nhap nhiet do ngay thu ',i,' '); readln(A[i]); tong:=tong+A[i]; end; tb:=tong/7; writeln('Nhiet do trung binh cua ca tuan la: ',tb:8:1); for i:=1 to 7 do if A[i]>tb then dem:=dem+1; writeln('So ngay co nhiet do cao hon TB la: ',dem); readln; End. Ghi chú: Có thể minh hoạ bằng hình ảnh sau Mảng A So sánh 2 cách: Cách 1 Cách 2 Program Nhietdo_Tuan; Uses crt; Var t1,t2,t3,t4,t5,t6,t7,tb: real; dem : integer; Begin clrscr; write('Nhap vao nhiet do cua 7 ngay: '); readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7; Program Nhietdo_Tuan; Uses crt; Var A : array[1..7] of real; tong, tb : real; i, dem : byte; Begin clrscr; tong:=0; dem:=0; for i:=1 to 7 do 22oC 22.5oC 23oC 23.5oC 24oC 24.5oC 25oC 1 2 3 4 5 6 7 164.5 23.5 3 tong tb dem 19 dem:=0; if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; if 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 nh do cao hon TB la: ',dem); readln End. begin writeln('Nhap nhiet do ngay thu ',i,' '); readln(A[i]); tong:=tong+A[i]; end; tb:=tong/7; writeln('Nh do TB cua ca tuan la: ',tb:8:1); for i:=1 to 7 do 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 - Sử dụng 30 lệnh if - then. Cách 2: - Chỉ cần khai báo 1 mảng gồm 30 phần tử - Sử dụng lệnh for i:=1 to 30 do Rõ ràng khi bài toán sử dụng nhiều biến đơn cùng kiểu dữ liệu, thì sử biến mảng sẽ thuận lợi hơn rất nhiều. 2.2. Mảng hai chiều: Theo phân phối chương trình lớp 11, phần này được giảm tải, nên Tôi chỉ trình bày đối với học sinh khá để định hướng các em đi thi học sinh giỏi bộ môn Tin học. 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% 20 IV. 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. So sánh hai xâu. Nhận biết và bước đầu sử dụng được các hàm thủ tục chuẩn nói trên B. Hoạt động dạy học 1. Thực trạng của vấn đề Bài này đề cập đến một kiểu dữ liệu là trường hợp đặc biệt của kiểu mảng, trong đó đề cập rất nhiều đến các thao tác xử lý xâu. Do đó học sinh cũng rất khó nắm bắt, nếu ta không khéo léo dẫn dắt vấn đề. 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 21 Câ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 : 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 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’ c. Thủ tục delete: Theo SGK thì viết delete(st,vt,n) + st: biến xâu + vt: vị trí + n: số ký tự 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í) + n: số ký tự (n: viết tắt chữ number là số) Chức năng: Xóa n ký tự của xâu s tính từ vị trí pos Vd: S=‘Hoc Pascal’ Delete(S,5,3) d. Thủ tục insert: 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) S=‘Hoc cal’ s1=‘Toan’ ‘Hoc ToanTin’ s2=‘Hoc Tin’ Insert(s1,s2,5) 23 Chức năng: Tạo xâu gồm n ký tự liên tiếp từ vị trí pos f. Hàm length(s) (phần này Tôi dạy công thức như SGK) Chức năng: Cho giá trị là độ dài xâu s g. Hàm pos(s1,s2) (phần này Tôi dạy công thức như SGK) Chức năng: Cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2 h. Hàm upcase(ch) (phần này Tôi dạy công thức như SGK) Chức năng: Cho chữ cái in hoa ứng với chữ cái trong ch 4. Một số ví dụ: phần này Tôi lấy ví dụ như SGK hoặc khác tùy theo đối tượng học sinh, nhưng trên tinh thần cho các em xung phong giải bài trên bảng để lấy điểm miệng, dựa trên những giải thuật đã giới thiệu trong SGK 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 2 liên quan đến bài này. Đề kiểm tra (điển hình) như sau: 2. Câu 2: Viết chương trình tìm nhập vào một xâu, kiểm tra xem ký tự thứ 2 có trùng với ký tự kế cuối trong xâu không. Kết quả những năm gần đây: Số học sinh đạt Trung bình trở lên là trên 85% copy(s,6,9) in kho qu s=‘Hoc Tin kho qua’ lenght(s) 15 s=‘Hoc Tin kho qua’ s1=‘oc’ pos(s1,s2) 6 s2=‘Toi hoc doc’ Upcase(‘d’) ‘D’ 24 V. BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP Bài 13: Bản ghi (giảm tải); bài 14: Kiểu dữ liệu tệp; bài 15: Thao tác với tệp chỉ mang tính lý thuyết nên Tôi dạy như SGK. A. Mục đích, yêu cầu - Hiểu các thao tác cơ bản làm việc với tệp: gán tên tệp, mở/đóng tệp, đọc/ghi dữ liệu từ tệp. - Sử dụng được các hàm và thủ tục liên quan để giải quyết các bài tập. B. Nội dung lên lớp 1. Thực trạng của vấn đề Bài này nếu dạy như sách giáo khoa thì chắc chắn hiệu quả không cao, vì lần đầu tiếp cận file kiểu text mà ví dụ chỉ thể hiện ở các lệnh thao tác trên file text. Do đó học sinh sẽ khó nắm bắt được bản chất khi “làm việc với tệp”. 2. Các biện pháp đã tiến hành để giải quyết vấn đề Để dạy hiệu quả bài này, đặc biệt là ví dụ 1 Tôi phải xử dụng kiến thức Toán học, bằng cách vẽ hệ trục tọa độ Đề các để minh họa cho bài dạy. 2.1. Ví dụ 1 Một trường trung học phổ thông tổ chức cho giáo viên và học sinh của trường đi cắm trại, sinh hoạt ngoài trời ở vườn quốc gia Cúc Phương. Để lên lịch đến thăm khu trại các lớp, thầy hiệu trưởng cần biết khoảng cách từ trại của mình (ở vị trí tọa độ (0,0)) đến trại của các GVCN. Mỗi lớp có một khu trại, vị trí trại của mỗi GVCN đều có tọa độ nguyên (x,y) được ghi trong tệp văn bản TRAI.TXT (như vậy, tệp TRAI.TXT chứa liên tiếp các cặp số nguyên, các số cách nhau bởi dấu cách và không kết thúc bởi ký tự xuống dòng). Để học sinh hiểu được bài toán này, Tôi sử dụng kiến thức liên môn Toán học bằng cách đưa ra ví dụ gồm 2 trại được đặt tên là A, B có tọa độ như đồ thị sau: 25 Hình 1: Tọa độ hai trại A, B Như vậy là tệp văn bản TRAI.TXT có nội dung như sau: Hình 2: Nội dung tệp TRAI.TXT Để học sinh hiểu được bài toán, ngoài việc minh họa bằng đồ thị như trên Tôi phải áp dụng kiến thức hình học để học sinh hiểu. Ví dụ: Tính khoảng cách đến trại A (d) Để tính d: ta áp dụng định lý Pitago trong tam giác vuông 22 yxd . Từ đó ta suy ra công thức trong pascal là d:=sqrt(x*x+y*y). Từ những dẫn dắt về đồ thị, công thức hình học chuyển sang ngôn ngữ Pascal thì học học sinh dễ dàng hiểu chương trình trong ngôn ngữ Pascal: Program Cam_trai; uses crt; var d: real; f: text; x,y : integer; begin clrscr; x O d A 2 2 B -2 -2 x y y 26 assign(f,'TRAI.TXT'); reset(f); while not eof(f) do begin read(f,x,y); d:=sqrt(x*x+y*y); writeln('Khoang cach: ',d:10:2); end; close(f); readln end. 2.2. Ví dụ 2: (Trường hợp này thì Tôi áp dụng như sách giáo khoa, vì ví dụ này học sinh dễ dàng hiểu được) 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 70% VI. BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI Đây là bài cuối trong sáng kiến kinh nghiệm của Tôi, vì bài 18 ví dụ về cách viết và sử dụng chương trình con thì Tôi thực hiện như sách giáo khoa. Bài 19 thư viện chương trình con chuẩn (giảm tải). A. Mục đích, yêu cầu Học sinh cần biết: - Chương trình con thực chất là một khối lệnh (tập các lệnh) nhằm giải quyết một bài toán con để góp phần giải quyết một bài toán lớn hơn bằng một chương trình. - Khi phải viết những chương trình dài, phức tạp, việc sử dụng chương trình con là hết sức cần thiết. - Sự khác nhau cơ bản giữa hai loại chương trình con thường gặp. - Sự giống và khác nhau về cấu trúc giữa chương trình và chương trình con. - Mối quan hệ giữa tham số hình thức và tham số thực sự với chương trình con và lời gọi chương trình con. - Ý nghĩa của biến cục bộ, biến toàn cục, tham trị, tham biến. 27 B. Nội dung lên lớp 1. Thực trạng của vấn đề Bài này thực sự khó đối với học sinh và gần 10 năm giảng dạy kết quả kiểm tra kiến thức bài này rất thấp. 2. Các biện pháp đã tiến hành để giải quyết vấn đề Bài này Tôi yêu cầu các em nghiên cứu trước khi học, cho nên khi lên lớp Tôi chú ý đến bài tập nhiều hơn để làm sáng tổ ý nghĩa của “chương trình con”. Tôi lấy ví dụ trong sách giáo khoa: Tính tổng bốn lũy thừa Trước khi giải bài toán này, Tôi đưa ra ví dụ: Tính tổng bốn lũy thừa Tluythua = 225 + 334 + 443 + 552 Rồi giả sử chia cho 4 tổ trong lớp thi đua xem tổ nào tính chính xác và nhanh nhất. Lấy tinh thần xung phong của học sinh để tìm giải pháp tối ưu. Đa số các lớp các em tìm ra giải pháp là chia việc cho 4 nhóm bạn trong tổ tính 4 lũy thừa, sau đó một người tổng hợp lại thì sẽ nhanh nhất. Từ đó Tôi dẫn dắt các em trong thực tế sử dụng chương trình con là cần thiết, vì một chương trình tin học lớn, phức tạp thì một người không thể đảm nhiệm hết được, do đó cần thiết phải chia việc cho người khác cùng cộng tác. Hình thức chia việc chính là chia ra các chương trình con trong lập trình Tin học. Để giải quyết bài toán trên Tôi đưa ra 2 cách lập trình để học sinh so sánh: Cách 1: Cách 2: Program Tinhtong; uses crt; var Tlt, lt1, lt2, lt3, lt4 : real; a,b,c,d : real; i,n,m,p,q : integer; Program Tinhtong; uses crt; var Tlt : real; a,b,c,d : real; n,m,p,q : integer; Tluythua = am + bn + cp + dq 28 begin clrscr; write('Hay nhap du lieu theo thu tu: '); readln(a,b,c,d,m,n,p,q); lt1:=1; for i:=1 to m do lt1:=lt1*a; lt2:=1; for i:=1 to n do lt2:=lt2*b; lt3:=1; for i:=1 to p do lt3:=lt3*c; lt4:=1; for i:=1 to q do lt4:=lt4*d; tlt:=lt1+lt2+lt3+lt4; writeln('Tong luy thua = ',tlt:8:1); readln end. function lt(x: real; y:integer): real; var t: real; i: integer; begin t:=1; for i:=1 to y do t:=t*x; lt:=t; end; begin clrscr; write('Hay nhap du lieu theo thu tu: '); readln(a,b,c,d,m,n,p,q); Tlt:=lt(a,m)+lt(b,n)+lt(c,p)+lt(d,q); writeln('Tong luy thua = ',tlt:8:1); readln end. Nhận xét: - Cách 1: Câu lệnh for – do phải được viết 4 lần để tính 4 lũy thừa - Cách 2: Câu lệnh for – do chỉ được viết 1 lần để tính 4 lũy thừa, nhưng được gọi thực hiện 4 lần. - Giả sử bài toán được nâng lên thành tính tổng của 100 lũy thừa thì: + Cách 1: Câu lệnh for – do phải được viết 100 lần để tính 100 lũy thừa + Cách 2: Câu lệnh for – do cũng chỉ được viết 1 lần để tính 100 lũy thừa, nhưng được gọi thực hiện 100 lần. - Như vậy Chương trình con sẽ có giá trị hơn nhiều nếu chương trình thật sự lớn và phức tạp. 3. Kết quả đạt được Sau §17, §18 có bài kiểm tra 1 tiết (tiết 45). Đề kiểm tra (điển hình) như sau: Viết chương trình tính: Tinhtong = Tong+Hieu+Tich+Thuong. Yêu cầu viết các chương trình con để thực hiện các công việc sau: - Nhập 2 số nguyên x, y - Tong x + y 29 - Hieu x + y - Tich x * y - Thuong x/y (nếu để ý được trường hợp y=0 thì đạt điểm tối đa) Kết quả những năm gần đây: Số học sinh đạt Trung bình trở lên là trên 65% KẾT QUẢ KHI THỰC HIỆN SÁNG KIẾN KINH NGHIỆM BỘ MÔN TIN HỌC LỚP 11 Năm học 2009-2010 Năm học 2010-2011 Năm học 2011-2012 Năm học 2012-2013 Năm học 2013-2014 Tỷ lệ đạt 85.5% 98.5% 91.6% 93.7% 94.0% 30 PHẦN III: KẾT LUẬN VÀ KIẾN NGHỊ I. KẾT LUẬN Sau 10 năm kinh nghiệm giảng dạy lập trình Pascal đối với học sinh lớp 11, Tôi đã từng bước xây dựng được giáo án riêng cho phương pháp dạy lập trình Pascal để đáp ứng được nhiệm vụ đổi mới phương pháp giảng dạy, giúp học sinh tiếp cận với những bài toán thực tế với những minh họa trực quan mang tính giáo dục. Đối với học sinh mới tiếp cận ngôn ngữ Pascal thì việc khó nhất là nắm bắt được các thuật toán, do đó các ví dụ Tôi giảng dạy thường là đơn giản không yêu cầu kiến thức Toán học nhiều. Những hướng phát triển của đề tài: Tiếp tục hoàn thiện đề tài bằng cách đưa ra nhiều ví dụ đa dạng, đáp ứng được việc dạy cho nhiều đối tượng học sinh. II. KIẾN NGHỊ -Với sáng kiến kinh nghiệm này Tôi hy vọng sẽ giúp cho các đồng nghiệp cải thiện được rất nhiều chất lượng giảng dạy bộ môn tin học lớp 11. - Sáng kiến kinh nghiệm này là tài liệu nghiên cứu hữu ích cho học sinh và cũng có thể cho sinh viên ngành sư phạm. Với tinh thần làm việc nghiêm túc Tôi đã hoàn thành đề tài này. Tuy nhiên không thể tránh khỏi những hạn chế, thiếu sót. Tôi rất mong nhận được sự đóng góp ý kiến chân thành, quý báu của quý Thầy Cô và các Bạn. Xin chân thành cảm ơn! 31 TÀI LIỆU THAM KHẢO 1. Hồ Sĩ Đàm (Chủ biên) (1997), Tin học 11 (thí điểm), Nhà xuất bản Giáo dục. 2. Hồ Sĩ Đàm (Chủ biên) (2007), Tin học 11, Nhà xuất bản Giáo dục. 3. Phạm Quang Huân (2005), “Giải pháp nhằm nâng cao chất lượng giáo dục”, đăng trên Tạp chí Phát triển Giáo dục – Viện Chiến lược và Chương trình giáo dục. Số 76, tháng 4/ 2005. 4. Lê Anh Nhật, Một vài phương pháp giảng dạy tích cực, 5. Đỗ Tiến Sỹ, Đổi mới phương pháp dạy học trong tư duy quản lý trường học, 6. PGS.TS Vũ Hồng Tiến, Một số phương pháp dạy học tích cực,
File đính kèm:
- SKKN_Tin_hoc_11.pdf