Viết khai báo biến tệp với tên biến tệp là ‘f’.. Mở tệp để đọc dữ liệu... Viết khai báo biến tệp với tên biến tệp là ‘f’.. Trại của các GVCN có toạ độ nguyên x,y được ghi trong tệp văn
Trang 1Câ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ũ
Trang 2Câ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);
Trang 3Câ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);
Trang 4Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆP
VÍ DỤ 1
VÍ DỤ 2
Trang 5VÍ 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.
Trang 64 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
Trang 7VÍ 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
5 Read(f,x,y);
6 D:= sqrt(x*x+y*y);
7 Write(‘Khoang cach: ‘,d:10:2);
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}
Trang 8CHƯƠNG TRÌNH
Trang 9KẾ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
Trang 10VÍ 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.
Trang 11MỖI DÒNG CHỨA 3 SỐ THỰC R1, R2, R3
Trang 12mỗ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
Trang 13Program 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}
Trang 145.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;
13 For i:=1 to 5 do write(f2, a[i]:9:3,’ ‘);
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}
Trang 15CHƯƠNG TRÌNH
Trang 16TÓ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
Trang 17Viế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