Bài 16. Ví dụ làm việc với tệp
Chia sẻ bởi Phạm Thị Như |
Ngày 10/05/2019 |
54
Chia sẻ tài liệu: Bài 16. Ví dụ làm việc với tệp thuộc Tin học 11
Nội dung tài liệu:
Đặc điểm của kiểu tệp:
- 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ến thức cũ
Ví dụ 1:
. 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);
Ví dụ 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 ‘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
Assign(f, ‘TRAI.TXT’);
Reset(f);
While not eof(f) do
Begin
Read(f,x,y);
D:= sqrt(x*x+y*y);
Write(‘Khoang cach: ‘,d:10:2);
End;
Close(f);
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
Assign(f1,‘RESIST.DAT’);
Reset(f1);
Assign(f2,‘RESIST.EQU’);
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
- 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ến thức cũ
Ví dụ 1:
. 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);
Ví dụ 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 ‘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
Assign(f, ‘TRAI.TXT’);
Reset(f);
While not eof(f) do
Begin
Read(f,x,y);
D:= sqrt(x*x+y*y);
Write(‘Khoang cach: ‘,d:10:2);
End;
Close(f);
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
Assign(f1,‘RESIST.DAT’);
Reset(f1);
Assign(f2,‘RESIST.EQU’);
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
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Phạm Thị Như
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)