Đọc các tập tin văn bản pascal

admin - 03/01/2019

Chào các em hôm nay thầy sẽ hướng dẫn các em cách đọc, ghi file văn bản

1. Đọc các tập tin văn bản (đọc file)

Để thực hiện các thao tác với file các các em phải khai báo biến text, như sau:

1

var  f:text;

F là một biến của tập tin văn bản. Điều đầu tiên chúng ta phải làm là kết hợp nó với một tên file, ví dụ:

1

assign(F,'data.inp');

Trước khi có thể đọc nó, ta phải mở nó:

1

reset(f);

Chúng ta có thể đọc các tập tin bằng dòng, giống như nhập vào từ bàn phím. Giả sử s là biến chuỗi:

1

  readln(F, s);

Lưu ý rằng nếu file “data.inp” có nội dung như sau

1

2

1234

abcd

Nếu chúng ta đọc xâu thì các em có thể dùng readln(f,s) để đọc cả dòng vào biến s  hoặc dùng read(f,s) thì máy chỉ nhập cho các em 1 kí tự.

Ngược lại nếu các em nhập theo số nguyên thì nếu dùng read(f,N) máy sẽ nhập cả số nguyên, tuy nhiên read ko tự xuống dòng. Tuy nhiên nếu bài toán chỉ có số nguyên thì nhập read vẫn được, do read khi hết dòng nó sẽ xuống tiếp dòng dưới để đọc số tiếp. còn đối với xâu, khi hết dòng, mà dùng lệnh read(f,s); thì nó sẽ đọc vào kí tự enter(xuống dòng); để giải quyết các em nên nhập bằng readln(f,s);

Có một số bài toán cho đọc dữ liệu đến khi kết thúc file các em có thể dùng hàm

1

while not eof(f) do begin ***************** end;

để kiểm tra hết dòng các em dùng hàm eoln(f)

sau khi đọc xong dữ liệu các em phải đóng file bằng câu lệnh

1

  close(F);

2. Ghi các tập tin văn bản pascal

– Thao tác ghi dữ liệu vào tệp rất đơn giản giống như thao tác ghi trên màn hình. và để ghi được file các em phải thực hiện, mở file, làm mới file, ghi file và đóng file.

1

2

3

4

assign(f,'data.out'); rewrite(f);

// vi du minh sẽ viết ra file "abc"

writeln(f,'abc');

close(f);

Bổ sung (ý kiến của Zerolife)

Vì hiện nay bài thi các em đểu được chầm bằng trình chấm tự động Themis. Nên các em có thể làm như sau:

Các em cứ Viết chương trình như bình thường. Khi viết xong thì chỉ cần thêm 4 câu lệnh sau vào sau Begin trong chương trình chính 

assign(input,'TEN FILE');  reset(input);

assign(output,'TEN FILE');  rewrite(output);

ví dụ:

program Zerolife;

var a,b:int64;

begin

      assign(input,'VIDU.INP'); reset(input);

      assign(output,'VIDU.OUT'); rewrite(output);

      readln(a,b); writeln(a+b);

end.

 

CÁC PHẢN HỒI

  • Zerolife - 03/01/19 21:07
    ý kiến khác của cựu học sinh của thầy Phú HE-O :) cứ làm như bình thường làm xong rồi thì chỉ cần làm theo form sau begin assign(input,'TEN FILE'); reset(input); assign(output,'TEN FILE'); rewrite(output); ............... chương trình khi nhập từ bàn phím end. ví dụ program Zerolife; var a,b:int64; begin assign(input,'VIDU.INP'); reset(input); assign(output,'VIDU.OUT'); rewrite(output); readln(a,b); writeln(a+b); end. ahihi! :)
  • admin - 30/01/19 08:51
    Cảm ơn Zerolife nhé!
Back to Top