Ngày soạn : 24/03/09
Ngày dạy : 28/03/09
Lớp dạy : 11/10
SVTT : Nguyễn Văn Triển
GVHD : Hoàng Khánh Châu
§16. Ví dụ làm việc với tệp
I. MỤC TIÊU:
1.Kiến thức:
Củng cố lại kiến thức đã học về tệp: khai báo tệp, các thao tác với tệp thông
qua các ví dụ.
2. Kĩ năng
- Nhận biết được các cách hoạt động của tệp.
- Biết sử dụng các thủ tục và hàm liên quan để giải quyết bài toán.
- Nắm được chức năng của các thủ tục và hàm để thao tác với tệp
II. CHUẨN BỊ:
- GV: Giáo án, SGK, Máy chiếu.
- HS: SGK,.
III. PHƯƠNG PHÁP PHƯƠNG TIỆN:
1.Phương pháp:
- Kết hợp phương pháp giảng dạy như: Thuyết trình, vấn đáp.
2.Phương tiện:
- SGK, máy tính, máy chiếu, bảng viết.
IV. TIẾN TRÌNH
1.Ổn định lớp, kiểm tra sĩ số.
2.Kiểm tra bài cũ.
- Em hãy khai báo một tệp văn bản, viết thao tác gán tên tệp cho ví dụ
minh họa.
- Em hãy nêu các thao tác với tệp.
3.Nội dung bài giảng:
Nội dung
Hoạt động của GV và HS
§16. Ví dụ làm việc với tệp
1. Củng cố các kiến thức về tệp:
- Var <Tªn_biÕn_tÖp>: Text;
-Assign(<Tªn_biÕn_tÖp>,<tªn_tÖp>);
- Rewrite(>Tªn_biÕn_tÖp>);
- Reset (>Tªn_biÕn_tÖp>);
-Read(<tªn_biÕn_tÖp>,<danh_s¸ch_biÕn>);
-Write(<tªn_biÕntÖp>,<danh_s¸ch_kÕtqu¶>);
- Close(>Tªn_biÕn_tÖp>);
GV: Cách khai báo kiểu dữ liệu tệp? Cho ví dụ minh
họa
HS: Var <tên biến tệp>: text;
Var tepa, tepb: text;
GV: Các thao tác cơ bản nào khi làm việc với tệp?
HS: -Assign(<Tªn_biÕn_tÖp>,<tªn_tÖp>);
- Rewrite(>Tªn_biÕn_tÖp>);
- Reset (>Tªn_biÕn_tÖp>);
2. Ví dụ về tệp:
Ví dụ 1: Viết chương trình nhập vào 2
số a, b và ghi nó vào tệp Songuyen.txt.
Program bai1;
Uses crt;
Var
tep: TEXT;
a,b: Integer;
Begin
Clrscr;
ASSIGN(tep, 'D:\Songuyen.txt’);
REWRITE (tep);
Write(‘Nhap 2 so a , b ');
Readln(a,b);
Write(tep,a,b);
Close(tep);
Readln;
END.
Ví dụ 2: Viết chương trình mở tệp
Songuyen.txt , in 2 số a, b trong tệp ra
màn hình.
Program Vidu2;
Uses crt;
Var
tep: TEXT;
a,b: Integer;
Begin
Clrscr;
ASSIGN(tep, 'D:\TP\Songuyen.txt’);
RESET(tep);
Begin
Readln(tep,a,b);
Writeln(a,b);
End;
Close(tep);
Readln;
-Read(<tªn_biÕn_tÖp>,<danh_s¸ch_biÕn>);
-Write(<tªn_biÕntÖp>,<danh_s¸ch_kÕtqu¶>);
- Close(>Tªn_biÕn_tÖp>);
GV: Chia nhỏ bài toán thành từng phần và gọi học
sinh lên làm?
GV: Yêu cầu học sinh viết phần khai báo?
HS: Lên bảng làm bài?
GV: Yêu cầu học sinh viết câu lệnh gán tệp?
HS: Lên bảng làm bài?
GV: Yêu cầu học sinh viết câu lệnh mở tệp ra để ghi?
HS: Lên bảng làm bài?
GV: Yêu cầu học sinh viết đoạn nhập 2 số a, b?
HS: Lên bảng làm bài?
GV: Nhận xét các phần của học sinh làm và sửa lại
cho đúng?
GV: Yêu cầu bài toán là ghi 2 số a, b vào tệp
’Songuyen.text’. Vậy em nào có thể cho Thầy biết câu
lệnh ghi tệp?
HS: Write(tep,a,b);
GV: Sau khi ghi tệp rồi giờ ta phải đóng tệp, em nào
cho Thầy biết cú pháp của câu lênh đóng tệp?
HS: Close(tep);
GV: Tổng hợp lại và đưa ra chương trình bài toán
hoàn chỉnh.
GV: Chia nhỏ bài toán thành từng phần và yêu cầu học
sinh lên bảng làm.
GV: Yêu cầu học sinh viết phần khai báo?
HS: Lên bảng làm bài?
GV: Yêu cầu học sinh viết câu lệnh gán tệp?
HS: Lên bảng làm bài?
GV: Yêu cầu học sinh viết câu lệnh mở tệp ra để đọc?
HS: Lên bảng làm bài?
GV: Nhận xét các phần của học sinh làm và sửa lại
cho đúng?
GV: Yêu cầu học sinh viết câu lệnh đọc tệp
HS: Readln(tep,a,b);
GV: Yêu cầu học sinh viết câu lệnh in ra màn hình
dãy số?
HS: Trả lời : Writeln;
GV: Sau khi ghi tệp rồi giờ ta phải đóng tệp, em nào
cho Thầy biết cú pháp của câu lênh đóng tệp?
HS: Close(tep);
END.
Ví dụ 3 : (SGK- 87)
Program vidu3;
Uses crt;
Var tep : TEXT;
d : real;
x,y : Integer;
BEGIN
Clrscr;
ASSIGN(tep, ‘TRAI.INP’);
RESET(tep);
While not eof(tep) do
Begin
read(tep,x,y) ;
d:=sqrt(x*x+y*y);
Writeln(‘Khoang cach:’,d:10:2);
End;
Close(tep);
Readln;
END.
GV: Tổng hợp lại và đưa ra chương trình bài toán
hoàn chỉnh
GV: Chia nhỏ bài toán thành từng phần và yêu cầu học
sinh lên bảng làm.
GV: Yêu cầu học sinh nêu cách tính khoảng cách giữa
2 điểm khi biết tọa độ của chúng
Hs: Trả lời
GV: Yêu cầu học sinh lên viết từng phần nhỏ bài toán:
Khai báo, các thao tác bài toán?
HS: Lên bảng làm bài
GV: Nhận xét bài làm và sửa lại cho đúng
GV: Tổng hợp các phần học sinh làm và hoàn chỉnh
bài toán.
V. CỦNG CỐ DẶN DÒ:
- Củng cố: Các kiến thức về tệp: Khai báo tệp và các thao tác với tệp.
- Dặn dò: Các em về xem lại 2 ví dụ trên và về nhà làm cho thầy bài tập sau:
Nhập vào một mảng số nguyên và ghi vào tệp Mang.txt.
VI.RÚT KINH NGHIỆM:
Đà Nẵng, ngày 24 Tháng 3 năm 2009
BCĐTTSP GVHD SVTT
Kí duyệt Kí duyệt Kí ghi rõ họ và tên