- Biết các bước làm việc với tệp: Gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp.. - Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản.. - Dẫn dắt : “ Trong chương trình
Trang 1GIÁO ÁN TIN HỌC 11
CHƯƠNG 5: TỆP VÀ THAO TÁC VỚI TỆP
Bài 15 THAO TÁC VỚI TỆP
I MỤC TIÊU BÀI HỌC.
1 Kiến thức.
- Biết khai báo biến tệp văn bản
- Biết các bước làm việc với tệp: Gắn tên cho biến tệp, mở tệp, đọc/ghi tệp, đóng tệp
- Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản
- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp
2 Kỹ năng.
- Khai báo đúng tệp văn bản
- Có thể tạo chương trình đọc dữ liệu từ một tệp hoặc lưu trữ dữ liệu dưới dạng tệp văn bản
II PHƯƠNG TIỆN DẠY HỌC
1 Chuẩn bị của giáo viên
- Máy vi tính, máy chiếu projector để giới thiệu ví dụ
2 Chuẩn bị của học sinh
- Sách giáo khoa
Trang 2- Phương pháp diễn giải – nếu vấn đề.
- Phương pháp diễn giảng
IV HOẠT ĐỘNG DẠY-HỌC
a ỔN ĐỊNH LỚP.
b KIỂM TRA BÀI CŨ:
Câu 1: Cấu trúc khai báo kiểu bản ghi, biến kiểu bản ghi?
Trả lời: Các thông tin cần khái báo gồm: tên kiểu bản ghi, tên các thuộc tính, kiểu dữ liệu của mỗi
thuộc tính
Type <tên kiểu bản ghi> = record
<tên trường 1> : <kiểu trường 1>;
………
<tên trường k> : <kiểu trường k>;
End;
var
<tên biến bản ghi> : <tên kiểu bản ghi>;
Câu 2: Có mấy cách gán giá trị cho kiểu bản ghi?
Trả lời: Có 2 cách:
- Dùng lệnh gán trực tiếp: A:=B
- Gán giá trị cho từng trường: Có thể thực hiện bằng lệnh gán hoặc nhập từ bàn phím
Trang 3-c TỔ CHỨC HOẠT ĐỘNG DẠY VÀ HỌC.
Hoạt động của giáo viên và học sinh Nội dung
HĐ1: Dẫn dắt vào bài học
- GV: Giới thiệu nội dung tổng quát của bài
học
- Đặt vấn đề: Trước khi vào phần chính của
bài học hôm nay cô có một số câu hỏi dành
cho các em
- Dẫn dắt : “ Trong chương trình Pascal khi
chúng ta muốn dùng một biến để chứa dữ
liệu, thì việc đầu tiên chúng ta sẽ làm là
gì, để có thể sử dụng được biến đó???”
- HS trả lời: Khai báo biến
- GV: Khai báo như thế nào?
- HS trả lời: Trong Pascal mọi biến đều
phải được đặt tên và khai báo kiểu dữ liệu
của nó
Trong Pascal , khai báo biến bắt đầu bằng từ
khóa Var và có dạng:
Var <danh sách biến>:<Kiểu dữ liệu>;
HĐ 2: Khai báo biến tệp văn bản.
- GV đặt vấn đề: Tại sao phải sử
dụng biến tệp?
- HS trả lời: Dữ liệu không bị mất
1 Khai báo biến tệp văn bản
- Trong lập trình ta không thao tác trực tiếp với
tệp dữ liệu trên đĩa mà thông qua biến tệp Các phần tử
của tệp không có tên và việc truy nhập không thể tùy
Trang 4- HS trả lời: var <tên biến tệp> : text;
- GV: Quy cách khai báo tệp như thế
nào?
theo đúng quy cách đặt tên (trong tên biến
không có khoảng trắng, , , !, #, $, %, &,
@)
- Trong các kiểu khai báo dưới đây
thì cách nào đúng, cách nào sai? Vì sao?
Ví dụ 1: var tep vb : text;
Ví dụ 2: var tep1,tep2 : text
thể dựa vào cấu trúc khai báo về tệp văn
bản
- HS trả lời
- GV: Phân biệt tên tệp với biến tệp?
- HS trả lời: Mỗi tệp có một cái tên, tên tệp
là biến xâu hay hằng xâu
- Chuyển sang đề mục tiếp theo: Chúng ta đã
biết cách khai báo biến tệp Sau đây là cách
sử dụng biến tệp để tham chiếu tới các phần
tử của tệp
VAR <Tên biến tệp> : TEXT;
- Chú ý: Tên biến tệp phải tuân theo đúng quy
cách đặt tên (trong tên biến không có khoảng trắng, , ,
!, #, $, %, &, @)
- Phân biệt tên tệp với biến tệp
=>Mỗi tệp có một cái tên, tên tệp là biến xâu hay hằng xâu
- Ví dụ hằng xâu: assign(tep1,‘DULIEU.DAT’);- Ví dụ biến xâu: tentep=’DL.INP’;
assign(tep1, tentep);
- Ví dụ 3: assign(tep1, ‘C:\\DIEM.TXT’);
Mặt khác biến tệp là biến sử dụng để tham chiếu tới các phần tử của tệp
Trang 5HĐ 2: Thao tác với tệp
- GV: Đưa ra sơ đồ tổng quát của quá trình
thao tác với tệp
- Như đã biết ở trên, chúng ta không thể
thao tác trực tiếp với tệp bằng tên tệp mà
phải thông qua biến tệp Bởi vậy ta phải tạo
một tham chiếu giữa tên tệp và biến tệp
- GV: Đưa ra ví dụ gán tên tệp.
- GV: Gọi học sinh cho một ví dụ khác
2 Thao tác với tệp
Trình tự thao tác với tệp:
• Gán tên tệp
• Mở tệp
• Đọc/ghi dữ liệu
• Đóng tệp
a Gán tên tệp
Để thao tác với tệp, trước hết phải gắn tên tệp với đại diện của nó là biến tệp bằng thủ tục:
assign(<biến tệp>, <tên tệp>);
Trong đó tên tệp: Là hằng xâu ký tự hoặc giá trị của
một biểu thức kiểu xâu ký tự.
Ghi dữ liệu vào tệp Gán tên tệp Đọc dữ liệu từ tệp
Mở tệp để ghi Mở tệp để đọc
Ghi dữ liệu ra tệp Đọc dữ liệu từ tệp
Đóng tệp
Trang 6- GV: Đưa ra cú pháp mở tệp
- HS nghe và chép bài.
- GV: Nếu bây giờ thực hiện thao tác mở
tệp để đọc thì sao, để ghi thì sao?
- HS trả lời:
+ Với trường hợp mở tệp để ghi: Tự tạo
ra…
+ Với trường hợp mở tệp để đọc: Báo lỗi
- GV: Liệu rằng khi mở tệp mà không tồn
tại tên tệp trong thủ tục mở tệp thì có gì xảy
ra?
- HS đọc SGK và nêu lên: Tệp sẽ được tạo
với nội dung rỗng
- GV: Yêu cầu học sinh cho ví dụ về mở
tệp
- GV: Giới thiệu, diễn giải cách đọc ghi tệp.
- GV: Hỏi học sinh có so sánh với cách
đọc/ghi từ bàn phím/màn hình trong Pascal
- Độ dài lớn nhất của tên tệp là 79 ký tự
b Mở tệp
Mở tệp có 2 kiểu: Mở để đọc và mở để ghi
- Mở tệp để ghi dữ liệu có dạng:
rewrite(<biến tệp>);
Ví dụ: assign(tep1, ‘C:\KQ.DAT’);
rewrite(tep1);
- Mở tệp để đọc dữ liệu từ tệp.
reset(<biến tệp>);
Ví dụ: assign(tep2, ‘C:\KQ.DAT’);
reset(tep2);
Lưu ý: Cả 2 trường hợp trên biến tệp phải được gắn
với tên tệp bằng thủ tục assign
c Đọc/ghi tệp văn bản:
- Cú pháp đọc tệp văn bản:
read (<Tên biến tệp>,<Danh sách biến>);
readln (<Tên biến tệp>,<Danh sách biến>);
Danh sách biến là dãy tên biến 1, tên biến 2,…, tên biến N Các dữ liệu cần đọc trong tệp gán vào danh
sách biến phải lần lượt có kiểu tương ứng với kiểu của biến trong danh sách biến
- Cú pháp ghi tệp văn bản:
Trang 7- GV: Để hổ trợ các thao tác đọc ghi tệp
người ta đưa ra một số hàm chuẩn sau
- GV: Tại sao phải đóng tệp?
- HS trả lời: Chỉ có đóng tệp thì khi đó hệ
thống mới thực sự hoàn tất ghi dữ liệu ra
tệp
- GV: Yêu cầu học sinh nhắc lại các thao tác
với tệp và ghi sơ đồ vào tập Cho ví dụ minh
họa
write (<Tên biến tệp>,<Danh sách kết quả>); writeln (<Tên biến tệp>,<Danh sách kết quả>);
Danh sách kết quả là dãy kết quả 1, kết quả 2 ,…, kết quả N
Các hàm và thủ tục thông dụng:
- Hàm eof(<Tên biến tệp>); cho giá trị TRUE nếu con
trỏ tệp đang chỉ tới cuối tệp
- Hàm eoln (<biến tệp>) trả về giá trị TRUE nếu con
trỏ tệp đang chỉ tới cuối dòng
d Đóng tệp: Sau khi làm việc xong với tệp cần phải
đóng tệp
Cú pháp:
Close (<biến tệp>);
- Các thao tác với tệp:
Trang 8V CŨNG CỐ - VẬN DỤNG BÀI HỌC- DẶN DÒ BÀI MỚI.
Các yêu cầu:
- - Nắm được cấu trúc gán tệp, mở tệp, đọc/ghi tệp văn bản, đóng tệp
- - Yêu cầu HS về nhà xem lại bài học, đọc SGK, nhất là các phần ví dụ, chỗ nào khó hiểu, không hiểu đánh dấu vào, tiết sau giải đáp
- - Cài đặt chương trình các ví dụ mẫu để làm quen với các thao tác với tệp.:
- - Yêu cầu học sinh lên ghi lại các câu lệnh ứng với thao tác với tệp theo sơ đồ
Nhận xét:
Trang 9
Giáo sinh thực tập
Nguyễn Thị Mỹ Phúc