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.

pdf31 trang | Chia sẻ: sangkien | Ngày: 30/12/2015 | Lượt xem: 2988 | Lượt tải: 98Download
Bạn đang xem 20 trang mẫu của tài liệu "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", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trê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:

  • pdfSKKN_Tin_hoc_11.pdf