Học tiếng Hàn không khó

spot_img

Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục?

Tặng cô 5 sao nha!

Có thể sử dụng thủ tục “Append” để chỉ định tệp nào cần ghi kết quả vào, thủ tục này sẽ mở tệp tin và đưa con trỏ đến cuối tệp để thêm nội dung mới vào.

Và sau đó ta dùng thủ tục nào để ghi nội dung vào tệp?

Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục?

A. write (< biến tệp >, < danh sách kết quả >);

B. write (< tên tệp >, < danh sách kết quả >);

C. writeln (< biến tệp tệp >, < danh sách kết quả >);

D. Cả đáp án A và C đều đúng

Đáp án đúng: D

Để ghi kết quả vào tệp văn bản ta có thể sử dụng thủ tục write (< biến tệp >, <danh sách kết quả >); hoặc writeln (< biến tệp tệp >, < danh sách kết quả >); đều được.

Trong đó, danh sách kết quả gồm một hoặc nhiều phần tử, các phần tử cách nhau bởi dấu phẩy. Phần tử là biến đơn, biểu thức hoặc hằng xâu.

Ví dụ:


program WriteToFile;

var
f: TextFile;
s: string;
x: integer;

begin
AssignFile(f, 'output.txt');
Rewrite(f);

s := 'Hello, world!';
x := 123;

write(f, s, ' ', x);
writeln(f, ' - this is the end of the line.');

CloseFile(f);
end.

Trong ví dụ trên, chúng ta sử dụng thủ tục “AssignFile” để chỉ định tên tệp tin cần ghi kết quả vào và thủ tục “Rewrite” để mở tệp tin để ghi. Sau đó, chúng ta sử dụng thủ tục “write” để ghi nội dung vào tệp với giá trị biến “s” và “x”.

Tiếp theo, chúng ta sử dụng thủ tục “writeln” để ghi nội dung vào tệp và xuống dòng. Cuối cùng, chúng ta sử dụng thủ tục “CloseFile” để đóng tệp tin.

Một vài thủ tục liên quan đến tệp

Lưu ý rằng, để sử dụng các thủ tục liên quan đến tệp trong Pascal, bạn cần sử dụng biến kiểu file (TextFile hoặc File) để lưu trữ thông tin về tệp.

AssignFile

AssignFile là một thủ tục được sử dụng để gán tên cho biến kiểu tệp (file) để sử dụng trong chương trình. Thủ tục này không mở hay tạo tệp mới, chỉ đơn giản là gán tên cho biến kiểu tệp để sử dụng cho các thao tác tiếp theo như đọc hoặc ghi tệp.

AssignFile(&lt;biến tệp&gt;, &lt;tên tệp&gt;);

Ví dụ:


var
f: TextFile;
begin
AssignFile(f, 'data.txt');
end.

Trong ví dụ trên, chúng ta sử dụng thủ tục AssignFile để gán tên tệp là “data.txt” cho biến kiểu TextFile “f”. Sau khi gán tên tệp, chúng ta có thể sử dụng biến “f” để đọc hoặc ghi dữ liệu vào tệp “data.txt”.

Reset

Thủ tục Reset trong Pascal được sử dụng để mở tệp để đọc dữ liệu từ tệp. Khi sử dụng thủ tục này, con trỏ tệp sẽ được đặt ở đầu tệp và có thể bắt đầu đọc dữ liệu từ đầu tệp.

Reset(&lt;biến tệp&gt;);

Ví dụ:


var
f: TextFile;
line: string;
begin
AssignFile(f, 'data.txt');
Reset(f); // mở tệp để đọc dữ liệu
while not EOF(f) do // đọc dữ liệu từ tệp
begin
ReadLn(f, line);
writeln(line);
end;
CloseFile(f); // đóng tệp
end.

Trong ví dụ trên, chúng ta sử dụng thủ tục Reset để mở tệp “data.txt” để đọc dữ liệu. Sau đó, chúng ta sử dụng một vòng lặp while để đọc từng dòng dữ liệu trong tệp cho đến khi đọc hết tệp.

Bên trong vòng lặp, chúng ta sử dụng thủ tục ReadLn để đọc từng dòng dữ liệu trong tệp và in ra màn hình. Cuối cùng, chúng ta sử dụng thủ tục CloseFile để đóng tệp.

Append

Thủ tục Append trong Pascal được sử dụng để mở tệp để ghi thêm dữ liệu vào cuối tệp đã có sẵn. Nếu tệp chưa tồn tại, thủ tục này sẽ tạo một tệp mới để ghi dữ liệu.

Append(&lt;biến tệp&gt;);

Ví dụ:


var
f: TextFile;
begin
AssignFile(f, 'data.txt');
Append(f); // mở tệp để ghi thêm dữ liệu
WriteLn(f, 'Dữ liệu mới'); // ghi dữ liệu vào tệp
CloseFile(f); // đóng tệp
end.

Trong ví dụ trên, chúng ta sử dụng thủ tục AssignFile để gán tên tệp “data.txt” cho biến kiểu TextFile “f”. Sau đó, chúng ta sử dụng thủ tục Append để mở tệp “data.txt” để ghi thêm dữ liệu vào cuối tệp đã có sẵn.

Bên trong thủ tục Append, con trỏ tệp sẽ được đặt ở cuối tệp để tiếp tục ghi dữ liệu. Sau đó, chúng ta sử dụng thủ tục WriteLn để ghi dữ liệu mới vào tệp và cuối cùng là sử dụng thủ tục CloseFile để đóng tệp.

BlockRead

Thủ tục BlockRead trong Pascal được sử dụng để đọc một khối dữ liệu từ tệp vào bộ đệm. Thủ tục này có thể đọc dữ liệu từ các loại tệp khác nhau như tệp văn bản, tệp nhị phân hay tệp tùy chỉnh.

BlockRead(biến tệp, biến bộ đệm, số byte cần đọc, số byte đã đọc);

Trong đó:

<biến tệp> là biến kiểu tệp mà chúng ta muốn đọc dữ liệu.
<biến bộ đệm> là biến kiểu mảng để lưu trữ dữ liệu đọc được từ tệp.
<số byte cần đọc> là số lượng byte dữ liệu cần đọc từ tệp.
<số byte đã đọc> là số lượng byte dữ liệu đã được đọc vào bộ đệm.

Ví dụ:


var
f: file of Byte;
buffer: array[0..255] of Byte;
bytesRead: Integer;
begin
AssignFile(f, 'data.bin');
Reset(f); // mở tệp để đọc dữ liệu
BlockRead(f, buffer, SizeOf(buffer), bytesRead); // đọc dữ liệu vào bộ đệm
CloseFile(f); // đóng tệp

// in ra màn hình số byte dữ liệu đã đọc được
WriteLn('Đã đọc ', bytesRead, ' byte dữ liệu từ tệp.');
end.

Trong ví dụ trên, chúng ta sử dụng thủ tục AssignFile để gán tên tệp “data.bin” cho biến kiểu file of Byte “f”. Sau đó, chúng ta sử dụng thủ tục Reset để mở tệp để đọc dữ liệu. Bên trong thủ tục BlockRead, chúng ta sử dụng biến buffer là một mảng kiểu Byte để lưu trữ dữ liệu đọc được từ tệp.

Chúng ta cũng sử dụng thủ tục SizeOf để lấy kích thước của mảng buffer và truyền vào tham số <số byte cần đọc>. Tham số <số byte đã đọc> sẽ lưu trữ số lượng byte dữ liệu đã đọc được từ tệp. Cuối cùng, chúng ta sử dụng thủ tục CloseFile để đóng tệp và in ra số byte dữ liệu đã đọc được từ tệp.

Cô giáo Bảo Như
Cô giáo Bảo Nhưhttps://thihocki.edu.vn
Tôi là một giáo viên hiện đang công tác tại một trường ở thành phố Hồ Chí Minh. Tôi đã tốt nghiệp đại học chuyên ngành giáo dục và có hơn 5 năm kinh nghiệm giảng dạy. Tôi đam mê nghề giáo và luôn cố gắng tìm kiếm những phương pháp giảng dạy mới để giúp học sinh hiểu bài tốt hơn và phát triển toàn diện về mặt trí tuệ cũng như tinh thần. Tôi tin rằng, giáo dục là chìa khóa để giải quyết nhiều vấn đề xã hội và tôi luôn cố gắng góp phần vào sự phát triển của đất nước thông qua công tác giảng dạy. Ngoài ra, tôi còn đam mê viết lách và thích đọc sách để cập nhật kiến thức mới.

- Advertisement -