Tải bản đầy đủ (.ppt) (18 trang)

Bai 16.Ví dụ và làm việc với tệp

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 (341.09 KB, 18 trang )


Câu 1: Nêu đặc điểm của kiểu tệp?
ĐÁP ÁN: Dữ liệu được lưu trữ lâu dài ở bộ nhớ
ngoài và không bị mất khi tắt nguồn điện.
Lượng dữ liệu lưu trữ có thể rất lớn và chỉ phụ
thuộc vào dung lượng đĩa.
Kiểm tra bài cũ

Câu 2:
. Viết khai báo biến tệp với tên biến tệp là ‘f’.
. Gắn tên tệp ‘ViDu.txt’ cho biến tệp f.
. Mở tệp để đọc dữ liệu.
. Đọc dữ liệu từ tệp ‘ViDu.txt’ vào 2 biến x, y.
. Đóng tệp.
ĐÁP ÁN:
Var f: text;
Assign(f,’ViDu.txt’);
Reset(f);
Readln(f, x, y);
Close(f);

Câu 3:
. Viết khai báo biến tệp với tên biến tệp là ‘f’.
. Gắn tên tệp ‘Ketqua.txt’ cho biến tệp f.
. Mở tệp để ghi dữ liệu.
. Ghi dữ liệu là s1, s2 vào tệp ‘Ketqua.txt’.
. Đóng tệp.
ĐÁP ÁN:
Var f: text;
Assign(f,’Ketqua.txt’);
Rewrite(f);


Writeln(f, s1, s2);
Close(f);

Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆP
VÍ DỤ 1
VÍ DỤ 2

VÍ DỤ 1
Trại của thầy HT có toạ độ (0,0). Trại của các GVCN có toạ
độ nguyên (x,y) được ghi trong tệp văn bản ‘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ằng kí tự xuống dòng). Yêu cầu đọc
các cặp toạ độ từ tệp ‘TRAI.TXT’, tính rồi đưa ra màn hình
khoảng cách giữa trại của mỗi GVCN và trại của thầy HT.

DEMO
4 cặp số nguyên tương
ứng với tọa độ của 4 trại
của 4 giáo viên chủ nhiệm

VÍ DỤ 1
Progam Khoang_cach;
Var d: real; f :text; x, y: integer;
Begin
1. Assign(f, ‘TRAI.TXT’);
2. Reset(f);
3. While not eof(f) do
4. Begin
5. Read(f,x,y);
6. D:= sqrt(x*x+y*y);

7. Write(‘Khoang cach: ‘,d:10:2);
8. End;
9. Close(f);
10.End.
{Gắn tệp ‘TRAI.TXT’ với biến tệp f}
{Mở tệp ‘TRAI.TXT’ để đọc dữ liệu}
{Kiểm tra con trỏ tệp đã chỉ cuối tệp chưa}
{Đọc dữ liệu từ tệp, gán giá trị
cho 2 biến x, y}
{Đóng tệp}

DEMO
CHƯƠNG TRÌNH

DEMO
KẾT QUẢ KHOẢNG CÁCH
TỪ TRẠI CỦA THẦY HIỆU TRƯỞNG
TỚI 4 TRẠI CỦA GIÁO VIÊN CHỦ NHIỆM

VÍ DỤ 2
Cho 3 điện trở R1, R2, R3 được mắc như 5 sơ đồ H17 trong sgk trang 88. Cho
tệp văn bản ‘RESIST.DAT’ gồm nhiều dòng, mỗi dòng chứa 3 số thực R1, R2, R3,
các số cách nhau 1 dấu cách. Yêu cầu đọc dữ liệu từ tệp ‘RESIST.DAT’, tính các
điện trở tương đương và ghi kết quả ra tệp văn bản ‘RESIST.EQU’, mỗi dòng ghi
5 điện trở tương đương của 3 điện trở ở dòng dữ liệu vào tương ứng.

DEMO
MỖI DÒNG CHỨA 3 SỐ THỰC R1, R2, R3

DEMO

mỗi dòng ghi
5 điện trở tương đương
theo 5 sơ đồ (SGK)
của 3 điện trở
ở dòng dữ liệu vào tương ứng

Program Dien_tro;
Var a: array[1 5] of real;
R1, R2, R3: real; f1,f2 :text; i: integer;
Begin
1. Assign(f1,‘RESIST.DAT’);
2. Reset(f1);
3. Assign(f2,‘RESIST.EQU’);
4. Rewrite(f2);
VÍ DỤ 2
{Gắn tệp ‘RESIST.DAT’ với biến tệp f1}
{Gắn tệp ‘RESIST.EQU’ với biến tệp f2}
{Mở tệp ‘RESIST.DAT’ để đọc dữ liệu}
{Mở tệp ‘RESIST.EQU’ để ghi dữ liệu}

5.While not eof(f1) do
6. Begin
7. Readln(f1,R1,R2,R3);
8. a[1]:=R1*R2*R3/(R1*R2+R1*R3+R2*R3);
9. a[2]:=R1*R2/(R1+R2)+R3;
10. a[3]:=R1*R3/(R1+R3)+R2;
11. a[4]:=R2*R3/(R2+R3)+R1;
12. a[5]:=R1+R2+R3;
13. For i:=1 to 5 do write(f2, a[i]:9:3,’ ‘);
14. Writeln(f2);

15. End;
16.Close(f1); Close(f2);
17.End.
{Đọc dữ liệu từ tệp, gán giá trị
Cho 3 biến R1, R2, R3}
{Ghi dữ liệu
vào tệp
RESIST.EQU}
{Đóng tệp}
{Đưa con trỏ tệp
xuống dòng}

DEMO
CHƯƠNG TRÌNH

TÓM TẮT
Trao đổi dữ liệu với bộ nhớ ngoài thực hiện thông
qua kiểu dữ liệu tệp.
Để làm việc với tệp cần phải khai báo tên tệp
Các thao tác với tệp văn bản: Khai báo biến tệp,mở
tệp,đọc,ghi,đóng tệp
Mỗi ngôn ngữ lập trình đều có các hàm/thu tục để làm
việc với tệp

Viết khai báo biến tệp với tên biến tệp là ‘f’.
Var f: text;
Gắn tên tệp ‘ViDu.txt’ cho biến tệp f.
Assign(f,’ViDu.txt’);
Mở tệp để đọc dữ liệu.
Reset(f);

Đọc dữ liệu từ tệp ‘ViDu.txt’
vào 2 biến x, y
Readln(f, x, y);
Mở tệp để ghi dữ liệu.
Rewrite(f);
Ghi dữ liệu là s vào tệp
‘ViDu.txt’.
Writeln(f, s);
Đóng tệp. Close(f);

×