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

Nội dung lý thuyết

BÀI 16. VÍ DỤ LÀM VIỆC VỚI TỆP

1. Ví dụ 1: Chương trình tính và đưa ra màn hình khoảng cách từ trại của thầy hiệu trưởng đến trại của mỗi giáo viên.

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.

2. Ví dụ 2: Bài toán tính điện trở

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);
     While not eof(f1) do
     Begin
          readln(f1,R1,R2,R3);
          a[1] := R1*R2*R3/(R1*R2+R1*R3+R2*R3);

          a[2] := R1*R2/(R1+R2)+R3;
          a[3] := R1*R3/(R1+R3)+R2;
          a[4] := R2*R3/(R2+R3)+R1;
          a[5] := R1+R2+R3;
          For i := 1 to 5 do
          write(f2, a[i]:9:3,’ ‘);
          writeln(f2);
     End;
     Close(f1);

     Close(f2);
End.

Mở rộng 

* Thủ tục: APPEND (biến tệp);

- Ý nghĩa: Thủ tục này dùng để mở tập tin có tên đã được gán cho biến tệp bởi thủ tục Assign trước đó. Khi tệp được mở thì cửa sổ tệp định vị ở vị trí kết thúc tệp. Từ đó có thể tuần tự ghi thêm dữ liệu vào cuối tệp.

FUNCTION FileExists (tên_file: String):Boolean;
Var F: FILE;
Begin

     {$I-} Assign (f, tên_file);
     Reset (f);
     Close (f);​
     {$I+} FileExists:= (IOResult=0);
End;