Tải bản đầy đủ (.doc) (20 trang)

HƯỚNG dẫn học SINH KHẮC PHỤC lỗi THƯỜNG gặp KHI làm bài tập PHẦN tệp CHƯƠNG v TIN học 11

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (240.84 KB, 20 trang )

MỤC LỤC
1. PHẦN MỞ ĐẦU................................................................................................2
1.1 Lý do chọn đề tài..........................................................................................2
1.2 Phạm vi và đối tượng nghiên cứu.................................................................2
1.2.1 Phạm vi nghiên cứu................................................................................2
1.2.2 Đối tượng nghiên cứu.............................................................................2
1.3 Mục đích của đề tài......................................................................................3
2. NỘI DUNG........................................................................................................4
2.1 Cơ sở lý luận.................................................................................................4
2.2 Thực trạng của vấn đề...................................................................................4
2.3 Nguyên nhân.................................................................................................4
2.4 Các biện pháp tiến hành để giải quyết vấn đề..............................................4
2.5 Hiệu quả của SKKN...................................................................................14
2.5.1 Năm học chưa áp dụng SKKN..............................................................14
2.5.2 Những năm học đã áp dụng SKKN......................................................14
3. KẾT LUẬN - KIẾN NGHỊ..............................................................................16
3.1 Những mặt đạt được và chưa đạt được.......................................................16
3.2 Nguyên nhân...............................................................................................16
TÀI LIỆU THAM KHẢO....................................................................................18
DANH MỤC SÁNG KIẾN KINH NGHIỆM ĐÃ ĐƯỢC HỘI ĐỒNG SÁNG
KIẾN KINH NGHIỆM NGÀNH GIÁO DỤC VÀ ĐÀO TẠO HUYỆN, TỈNH
VÀ CÁC CẤP CAO HƠN XẾP LOẠI TỪ C TRỞ LÊN....................................18

1


1. PHẦN MỞ ĐẦU
1.1 Lý do chọn đề tài
Mỗi môn học đều có đặc thù riêng, môn Tin học cũng vậy. Đối với môn
Tin học, các tiết bài tập và bài tập thực hành chiếm thời lượng giảng dạy
khá nhiều. Kết quả học lý thuyết thể hiện ở năng lực giải quyết bài tập và


bài tập thực hành của các em. Tuy nhiên, đối với học sinh khối 11, việc làm
quen với lập trình dù chỉ là các bài toán đơn giản cũng còn nhiều lạ lẫm và
khó khăn. Đó là những kiến thức mới, cách tiếp cận cũng như thực hành
không như những môn học các em đã được làm quen lâu nay. Để làm được
bài tập phải vận dụng nhiều kỹ năng như: Tư duy toán học, tư duy logic ...
Mà không phải tất cả học sinh đều có tư chất và say mê đối với môn học để
tìm tòi và đáp ứng được.
Tất cả các kiểu dữ liệu ở phần đầu của “Tin học 11” đều được lưu trữ ở bô
nhớ trong (Ram) và do đó dữ liệu sẽ bị mất khi tắt máy. Với môt số bài toán
có khối lượng dữ liệu lớn có yêu cầu lưu trữ để xử lý nhiều lần thì dữ liệu
kiểu tệp (file) giải quyết tốt nhất các yêu cầu trên. Tuy nhiên với thời lượng
chương trình dành cho phần tệp không nhiều vì vậy học sinh rất mơ hồ và
gặp nhiều lỗi khi viết chương trình với kiểu dữ liệu này. Vì nhiều thao tác
hơn so với các kiểu dữ liệu khác mà các em cảm thấy phức tạp, khó dẫn đến
mất hứng thú học.
Từ thực tiễn đó tôi đã rút ra môt số kinh nghiệm trong khi hướng dẫn các
em làm bài tập ở chương V “Tin học 11” có hiệu quả: “HƯỚNG DẪN
HỌC SINH KHẮC PHỤC LỖI THƯỜNG GẶP KHI LÀM BÀI TẬP
PHẦN TỆP - CHƯƠNG V - TIN HỌC 11”.
1.2 Phạm vi và đối tượng nghiên cứu
1.2.1 Phạm vi nghiên cứu
Trong đề tài này tôi chỉ xây dựng và đề xuất phương pháp hướng dẫn học
sinh lớp 11 làm môt số bài tập trong “Chương V– Tin học 11”.
1.2.2 Đối tượng nghiên cứu
- Học sinh các lớp 11 tôi giảng dạy trực tiếp tại trường THPT Triệu Sơn 1.

2


1.3 Mục đích của đề tài

Giúp học sinh nắm vững và tránh được các lỗi thường gặp khi làm bài tập
trong “chương V-Tin học 11”. Từ đó các em có thể hiểu, yêu thích làm các bài
tập có sử dụng kiểu dữ liệu tệp.

3


2. NỘI DUNG
2.1 Cơ sở lý luận
- Phương pháp dạy học ngôn ngữ lập trình phân tích hoạt đông thành các
hoạt đông thành phần tương thích nhỏ hơn để học sinh có thể dễ hiểu;
- Phương pháp phát vấn;
- Phương pháp quy nạp;
2.2 Thực trạng của vấn đề
Khi dạy “Chương V - Tin học 11” tại trường THPT Triệu Sơn 1 tôi nhận
thấy các em rất lúng túng và thường mắc lỗi khi làm bài tập với kiểu dữ liệu
tệp. Các em không hiểu được bản chất, ý nghĩa của từng câu lệnh khi thao
tác với tệp nên khi viết chương trình thường mắc lỗi.
Thực tế giảng dạy đặt ra vấn đề: làm thế nào để học sinh hiểu bài và tránh
được những sai lầm thường gặp là điều quan trọng. Tuy nhiên, để giải quyết
vấn đề này là không đơn giản. Nên tôi đã áp dụng SKKN: “HƯỚNG DẪN
HỌC SINH KHẮC PHỤC LỖI THƯỜNG GẶP KHI LÀM BÀI TẬP
PHẦN TỆP - CHƯƠNG V - TIN HỌC 11” vào giảng dạy “Chương V - Tin
học 11”.
2.3 Nguyên nhân
Học sinh không nhớ kiến thức cũ để giải quyết các bài tập.
Dữ liệu kiểu tệp khác hoàn toàn với các kiểu dữ liệu các em đã được học.
Bài tập cũng tương đối phức tạp với mức học của các em.
Các em không hiểu vai trò, ý nghĩa của từng câu lệnh.
2.4 Các biện pháp tiến hành để giải quyết vấn đề

Các bài tập giúp học sinh rèn luyện kỹ năng thao tác với tệp và tránh
những lỗi hay gặp.
 Hướng dẫn học sinh cách tạo tệp văn bản
Cách 1: Tạo tệp bằng Notepad:
Hướng dẫn học sinh tạo tệp bằng Notepad
Bài tập : Hãy tạo tệp ‘dulieu.inp’ có cấu trúc bằng Notepad có cấu trúc:

4


- Gồm môt dòng lần lượt là các số nguyên, mỗi số cách nhau ít nhất môt
dấu cách trống.
Hướng dẫn:
Bước 1: Mở Notepad
Start -> Program -> Accessorie -> Notepad
Bước 2: Nhập dữ liệu theo đúng cấu trúc đề bài yêu cầu;
Bước 3: Lưu dữ liệu đúng tên tệp cả phần đầu và phần mở rông.

Hướng dẫn học sinh thực hiện trên máy theo ba bước thực hiện tạo tệp
theo yêu cầu bài tập:
Ví dụ môt tệp tạo theo cấu trúc bài ra:

Cách 2: Tạo tệp bằng viết chương trình:
Có thể hướng dẫn học sinh viết môt chương trình tạo môt tệp văn bản bằng
cách nhập dữ liệu từ bàn phím.
Bài tập: Em hãy viết chương trình tạo tệp ‘dulieu.inp’ có cấu trúc:
- Gồm môt dòng lần lượt là các số nguyên, mỗi số cách nhau ít nhất môt
dấu cách trống.
Chương trình cài đặt ví dụ:
Program

taotep;
Var
i,x,N: integer;
f: text;
Begin
assign(f,'dulieu.inp');
rewrite(f);

5


write('nhap so phan tu cua tep N:'); read(N);
for i:=1 to N do
begin
read(x);
write(f,x, ' ');
end;
close(f);
readln;
End.
 Lỗi quên đóng tệp
Bài tập 1: Chương trình sau là chương trình đọc dữ liệu từ tệp văn bản
Songuyen.inp. Tính tổng các phần tử trong tệp và đưa dữ liệu ra tệp
Songuyen.out.
Tệp văn bản Songuyen.inp có cấu trúc:
- Dòng đầu ghi số nguyên N là số phần tử của tệp
- Dòng thứ hai gồm đúng N số nguyên. Mỗi số cách nhau môt dấu cách
trống.
Tệp văn bản Songuyen.out có cấu trúc:
Môt số duy nhất ghi tổng N phần tử

Ví dụ:
Songuyen.inp
Songuyen.out
5
20
12683
Đưa ra ví dụ môt tệp Songuyen.inp để học sinh thấy rõ cấu trúc của tệp:

Chương trình cài đặt:
6


Program
Baitap1_SK;
Var
i, N, x, S: integer;
f1, f2: text;
Begin
assign(f1,'Songuyen.inp');
reset(f1);
assign(f2,'Songuyen.out');
rewrite(f2);
readln(f1,N);
S:=0;
for i:=1 to N do
begin
read(f1,x);
S:=S+x;
end;
Write(f2,S:4);

close(f1);
End.
Câu hỏi 1: Em hãy nhập chương trình trên và chạy thử. Kiểm tra tệp
Songuyen.out cho kết quả thế nào?
Hướng dẫn: Tệp Songuyen.out là tệp trống không có dữ liệu.

Câu hỏi 2: Tìm lỗi trong chương trình dẫn đến tệp songuyen.out là tệp
không có dữ liệu?
Ở câu hỏi này phần lớn không tìm được nguyên nhân là do quên đóng tệp f2.
Chú ý cho học sinh: Mỗi khi thao tác với tệp, khi làm việc với tệp ngoài gán
tên tệp và mở tệp (để đọc hoặc để ghi) thì sau khi làm việc xong phải đóng
7


tệp. Nếu quên đóng tệp thì khi chạy chương trình sẽ không báo lỗi, nhưng
không thể ghi dữ liệu vào tệp. Vì vậy chương trình trên cần thêm lệnh đóng
tệp f2 như sau:
Program
Baitap1_SGK;
Var
i, N, x, S: integer;
f1, f2:text;
Begin
assign(f1,'Songuyen.inp');
reset(f1);
assign(f2,'Songuyen.out');
rewrite(f2);
readln(f1,N);
S:=0;
for i:=1 to N do

begin
read(f1,x);
S:=S+x;
end;
Write(f2,S:4);
close(f1);
close(f2);
End.
Sau khi sửa lỗi quên đóng tệp thì tệp Songuyen.out như sau:

 Lỗi đọc ghi dữ liệu không đúng vì chưa hiểu rõ các lệnh: read và
readln; write và writeln
8


Bài tập 2: Cho tệp văn bản Dulieu.inp có cấu trúc:
- Dòng đầu ghi số nguyên N là số phần tử của tệp
- Dòng thứ hai gồm đúng N số nguyên. Mỗi số cách nhau môt dấu cách trống.
a. Viết chương trình đọc dữ liệu từ tệp Dulieu.inp và ghi dữ liệu vào tệp
Dulieua.out (tệp Dulieua.out có cấu trúc: môt dòng lần lượt là các số nguyên của
tệp Dulieu.inp, mỗi số cách nhau môt dấu cách trống).
b. Viết chương trình đọc dữ liệu từ tệp Dulieu.inp và ghi dữ liệu vào tệp
Dulieub.out (tệp Dulieub.out có cấu trúc: Gồm N dòng lần lượt là các số nguyên
của tệp Dulieu.inp, mỗi số môt dòng).
Hướng dẫn:
Đưa ra môt ví dụ tệp văn bản Dulieu.inp để học sinh thấy rõ cấu trúc của tệp:

Hướng dẫn:
Đưa ra hai chương trình cài đặt của câu a và câu b:
Program

Baitap2a;
Var
i, x, N:integer;
f1,f2:text;
Begin
assign(f1,'Dulieu.inp');
reset(f1);
assign(f2,'Dulieua.out');
rewrite(f2);
readln(f1,N);
for i:=1 to N do
begin
read(f1,x);
write(f2,x:3);
end;
close(f1);
close(f2);
End.

Program
Baitap2b;
Var
i, x, N:integer;
f1,f2:text;
Begin
assign(f1,'Dulieu.inp');
reset(f1);
assign(f2,'Dulieub.out');
rewrite(f2);
readln(f1,N);

for i:=1 to N do
begin
read(f1,x);
writeln(f2,x:3);
end;
close(f1);
close(f2);
End.

9


Câu hỏi 1: Hãy quan sát hai chương trình cài đặt và giải thích vì sao khi ghi dữ
liệu vào tệp ở chương trình “Baitap2a” sử dụng câu lệnh “write(f2,x:3);” còn ở
chương trình “Baitap2b” sử dụng câu lệnh “writeln(f2,x:3);”?
Trả lời: Vì ở chương trình “Baitap2a” tệp Dulieua.out có cấu trúc gồm môt dòng
lần lượt là các số nguyên của tệp Dulieu.inp, mỗi số cách nhau môt dấu cách
trống. Còn ở chương trình “Baitap2b” tệp Dulieub.out có cấu trúc gồm N dòng
lần lượt là các số nguyên của tệp Dulieu.inp, mỗi số môt dòng.
Đưa ra hai tệp Dulieua.out và Dulieub.out sau khi thực hiện chương trình để
giải thích rõ hơn để học sinh phân biệt được khi nào cần sử dụng câu lệnh write
và writeln:
Tệp văn bản Dulieua.out:

Tệp văn bản Dulieub.out:

Câu hỏi 2: Hãy quan sát trong chương trình cài đặt “Baitap2a” đoạn lệnh đọc
dữ liệu từ tệp giải thích vì sao khi đọc số phần tử của tệp N thì dùng câu lệnh
Readln (readln(f1,N);) và khi đọc các phần tử của tệp thì dùng lệnh Read
(read(f1,x);)?

Trả lời: Vì cấu trúc tệp Dulieu.inp gồm hai dòng:
- Dòng đầu ghi số nguyên N là số phần tử của tệp
- Dòng thứ hai gồm đúng N số nguyên. Mỗi số cách nhau môt dấu cách trống.

10


Nên sau khi đọc số phần tử của tệp N thì con trỏ chuôt phải nằm ở đầu dòng
tiếp theo để đọc tiếp dữ liệu vì vậy dùng câu lệnh Readln (readln(f1,N);)
Các phần tử của tệp nằm trên môt dòng nên sau khi đọc mỗi phần tử của tệp
con trỏ chuôt phải nằm trước phần tử tiếp theo cùng dòng để đọc tiếp cho tới hết
vì vậy dùng câu lệnh Read (read(f1,x);).
Bài tập 3: Cho tệp văn bản Sothuc.inp có cấu trúc:
- Gồm các số thực, mỗi dòng môt số.
Viết chương trình đọc dữ liệu từ tệp, tính và đưa ra tổng các số trong tệp. Kết quả
đưa ra tệp Sothuc.out
Hướng dẫn:
Môt số câu hỏi hướng dẫn học sinh trước khi viết chương trình:
Câu hỏi 1: Số lượng phần tử của tệp đã biết trước chưa?
Trả lời: Số lượng phần tử của tệp chưa biết trước.
Câu hỏi 2: Khi chưa biết số lượng phần tử của tệp để thao tác đọc/ ghi với tệp
văn bản thường sử dụng hàm chuẩn nào.
Trả lời: Hàm eof(<biến tệp>) trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối
tệp.
Câu hỏi 3: Em hãy viết đoạn lệnh đọc dữ liệu từ tệp Sothuc.inp và tính tổng các
phần tử của tệp.
Trả lời: Đoạn lệnh
s:=0;
while not eof(f1) do
Begin

readln(f1,x);
S:=S+x;
end;
Bài tập này giúp học sinh củng cố lại các thao tác khi làm việc với tệp.
Đưa ra môt ví dụ về tệp Sothuc.inp để học sinh thấy cấu trúc của tệp sẽ giúp các
em thực hiện yêu cầu của bài dễ hơn.

11


Cài đặt:
Program
Baitap3SGK;
Var
i:integer;
x,S:real;
f1,f2:text;
Begin
assign(f1,'Sothuc.inp');
reset(f1);
assign(f2,'Sothuc.out');
rewrite(f2);
s:=0;
while not eof(f1) do
begin
readln(f1,x);
S:=S+x;
end;
write(f2,S:6:2);
close(f1);

close(f2);
End.
Sau khi thực hiện chương trình đưa tệp Sothuc.out để các em quan sát:

12


Tệp Sothuc.out thu được sau khi thực hiện chương trình:

13


2.5 Hiệu quả của SKKN
Trong năm học 2013 - 2014 tôi thấy học sinh khi làm bài tập “Chương VTin học 11” thường gặp phải những lỗi giống nhau.
Để khắc phục tồn tại trên, những năm học tiếp theo tôi đã vận dụng các
phương pháp giảng dạy trên thì kết quả đã khác hơn rất nhiều, học sinh đã
hiểu bài và làm bài tập tốt hơn. Các lỗi thường gặp các em đã sửa được nhất
là những em say mê với môn học.
Kết quả được thể hiện qua các bảng liệt kê tỷ lệ bài kiểm tra nôi dung
kiến thức chương V qua các năm:
2.5.1 Năm học chưa áp dụng SKKN
Năm học 2013 - 2014
STT
1
2

LỚP
11A1
11A2


Sĩ số
38
51

Số lượng TB trở lên
20
22

Tỉ lệ % trên TB
52.63
43.13

2.5.2 Những năm học đã áp dụng SKKN
Năm học 2014 - 2015
STT
1
2

LỚP
11B3
11B4

Sĩ số
48
39

Số lượng TB trở lên
45
37


Tỉ lệ % trên TB
93.8
94.9

Số lượng TB trở lên
35
34

Tỉ lệ % trên TB
83.3
80.9

Số lượng TB trở lên
35
34

Tỉ lệ % trên TB
87.5
82.92

Năm học 2015 - 2016
STT
1
2

LỚP
11C8
11C9

Sĩ số

42
42

Năm học 2016 - 2017
STT
1
2

LỚP
11A3
11A4

Sĩ số
40
41

14


Năm học 2017 - 2018
STT
1
2

LỚP
11B3
11B4

Sĩ số
40

41

Số lượng TB trở lên
35
35

Tỉ lệ % trên TB
87.5
85.36

15


3. KẾT LUẬN - KIẾN NGHỊ
3.1 Những mặt đạt được và chưa đạt được
Những mặt đạt được
- Phần lớn học sinh nắm được kiến thức của các bài học vận dụng vào
làm các bài tập.
- Các em đã khắc phục được những lỗi hay mắc phải khi viết chương
trình sử dụng kiểu dữ liệu tệp.
- Có thái đô tích cực trong học tập, yêu thích môn học hơn.
- Các em có hứng thú hơn trong các giờ thực hành
Những mặt chưa đạt được
- Môt số em tiếp xúc ít với máy tính nên còn chậm trong các thao tác
thực hành.
- Môt số học sinh còn chậm trong việc áp dụng lý thuyết vào bài tập.
3.2 Nguyên nhân
Khách quan
- Môn tin là môn học khó và mới đối với học sinh
- Số em gia đình có máy tính còn ít

- Do môn tin là môn học không thi tốt nghiệp và thi đại học nên học
sinh không đầu tư học.
Chủ quan
- Học sinh chưa chịu khó và giành thời gian cho môn học
- Kinh nghiệm của bản thân trong giảng dạy tin học 11 còn ít do thời
lượng tiết dạy chủ yếu là tin học 12;

16


XÁC NHẬN CỦA HIỆU TRƯỞNG

Triệu Sơn, tháng 5 năm 2019
Tôi xin cam đoan đây là SKKN của
mình viết, không sao chép nôi dung
của người khác.

Nguyễn Trung Linh

17


TÀI LIỆU THAM KHẢO
1.
2.
3.
4.

Sách giáo khoa Tin học 11, NXBGD
Sách Bài tập tin học 11, NXBGD

Sách giáo viên tin học 11, NXBGD
Lí luận dạy học tin học ở trường phổ thông (Trương Trọng Cần, ĐHV)

DANH MỤC SÁNG KIẾN KINH NGHIỆM ĐÃ ĐƯỢC HỘI ĐỒNG SÁNG
KIẾN KINH NGHIỆM NGÀNH GIÁO DỤC VÀ ĐÀO TẠO HUYỆN,
TỈNH VÀ CÁC CẤP CAO HƠN XẾP LOẠI TỪ C TRỞ LÊN

Họ và tên tác giả: Nguyễn Trung Linh
Chức vụ và đơn vị công tác: Trường THPT Triệu Sơn 1

TT

1.

2.

Tên đề tài SKKN

Phương pháp hướng dẫn học
sinh làm bài tập chương III Tin học 11
Hướng dẫn học sinh phân
biệt và sử dụng tham biến và
tham trị trong lập trình có
cấu trúc thông qua nội dung
bài 18 – chương VI – Tin học
11: Ví dụ về cách viết và sử
dụng chương trình con

Cấp đánh giá xếp
loại


Kết quả
đánh
giá xếp
loại

Sở giáo dục và
đào tạo Thanh
Hoá

C

2013 - 2014

Sở giáo dục và
đào tạo Thanh
Hoá

B

2015 - 2016

Năm học đánh
giá xếp loại

18


NHẬN XÉT CỦA HỘI ĐỒNG KHOA HỌC
NHẬN XÉT CỦA TỔ CHUYÊN MÔN

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
NHẬN XÉT CỦA HỘI ĐỒNG KHOA HỌC NHÀ TRƯỜNG
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
NHẬN XÉT CỦA HỘI ĐỒNG KHOA HỌC SỞ GIÁO DỤC
..............................................................................................................................

19


..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

20



×