Viết cú pháp khai báo biến tệp lấy Ví dụ

a) Gắn tên cho biến tệp

Ví dụ

Assign (tep1, 'DULIEU.DAT');

Trong đó, tên tệp là hằng xâu kí tự hoặc giá trị của một biểu thức kiểu xâu kí tự. Tất cả các phép toán trên biến tệp sẽ tác động tới tệp tên tệp. Sau khi gọi thủ tục Assign khác thực hiện cũng trên biến tệp này (nghĩa là lúc đó biến tệp được chuyển sang gắn kết với tệp khác). Tên tệp có thể gồm những đường dẫn chứa ổ đĩa, danh sách các thư mục liên tiếp cách nhau dấu đường dẫn, cuối cùng là tên tệp:

<ổ đĩa>:\\\...\\

Ví dụ

Assign (tep2, 'C: \INP. DAT');

Độ dài lớn nhất cùa tên tệp là 79 kí tự. Đặc biệt khi tên tệp là xâu rỗng (độ dài xâu bằng 0) thì biến tệp được gán cho các tệp vào/ra chuẩn. Các tệp vào/ra chuẩn được quy định tương ứng với thiết bị nào là tùy thuộc vào sự bổ sung cùa mỗi chương trình đích Pascal, nhưng thường quy định tệp input chuẩn là bàn phím, tệp output chuẩn là màn hình.

b) Mở tệp

Ví dụ

assign(tep3, 'C'\KQ.DAT');

rewrite(tep3);

- Khi thực hiện rewrite(tep3), nếu trên thư mục gốc của ổ đĩa C chưa có tệp KQ.DAT, thì tệp sẽ được tạo với nội dung rỗng. Nếu đã có, nội dung cũ sẽ bị xóa để chuẩn bị ghi dữ liệu mới.

- Sử dụng thủ tục reset mở tệp văn bản đã tồn tại để đọc dữ liệu.

Cú pháp:

reset();

Trong cú pháp, biến tệp cần phải là đã được gắn kết với một tệp (dùng assign). Nếu tệp này không tồn tại thì thực hiện reset sẽ gặp lỗi. Nếu tệp đã mở thì nó sẽ đóng lại rối sau đó mở lại. Vị trí con trỏ tệp sau lời gọi reset là đầu tệp.

Ví dụ

Để đọc dữ liệu từ tệp DL.INP, ta có thể mở tệp bằng các thủ tục:

tentep:= 'DL.INP';

assign(tep1, tentep);

reset(tep1);

hoặc

assign (tep1, 'DL.INP');

reset (tep1)

c) Đóng/ghi tệp văn bản

Ví dụ

Giả sử trong chương trình có khai báo:

var tepA, tepB: text;

và tệp tepA được mở để đọc dữ liệu, còn tệp tepB dùng để ghi dữ liệu.

Các thủ tục dùng để đọc dữ liệu từ tệp tepA có thể như sau:

Read(tepA, A, B, C) ;

Hoặc

Read(tepA, A, B, C) ;

- Một số hàm chuẩn thường dùng trong khi đọc/ghi tệp văn bản:

Hàm eof () trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối tệp. Hàm eoln( ) trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối dòng.

d) Đóng tệp

Ví dụ

close(tep1);

close(tep2);

Sau khi đóng một tệp vẫn có thể được mở lại. Khi mở lại tệp, nếu vẫn dùng biến tệp cũ thì không cần phải dùng thủ tục assign gắn lại tên tệp.

Cho mk ctlhn nha 

1. KHAI BÁO HẰNG

– Hằng là một đại lượng có giá trị không thay đổi trong suốt chương trình.

– Cú pháp:

CONST < Tên hằng > = < Giá trị >;

hoặc:

CONST < Tên hằng >: = < Biểu thức hằng >;

Ví dụ:

CONST Max = 100;

VD : Name = ”lan trần ;

Continue = FALSE;

Logic = ODD(5); {Logic =TRUE}

Chú ý: Chỉ các hàm chuẩn dưới đây mới được cho phép sử dụng trong một biểu thức hằng:

ABS CHR HI LO LENGTH ODD ORD

PTR ROUND PRED SUCC SIZEOF SWAP TRUNC

2. KHAI BÁO BIẾN

– Biến là một đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực hiện chương trình.

– Cú pháp:

VAR < Tên biến >[,< Tên biến 2>,…] : < Kiểu dữ liệu >;

Ví dụ:

VAR x, y: Real; {Khai báo hai biến x, y có kiểu là Real}

a, b: Integer; {Khai báo hai biến a, b có kiểu integer}

Chú ý: Ta có thể vừa khai báo biến, vừa gán giá trị khởi đầu cho biến bằng cách sử dụng cú pháp như sau:

CONST < Tên biến >: < Kiểu > = < Giá trị >;

Ví dụ:

CONST x:integer = 5;

Với khai báo biến x như trên, trong chương trình giá trị của biến x có thể thay đổi. (Điều này không đúng nếu chúng ta khai báo x là hằng).

3. ĐỊNH NGHĨA KIỂU

– Ngoài các kiểu dữ liệu do Turbo Pascal cung cấp, ta có thể định nghĩa các kiểu dữ liệu mới dựa trên các kiểu dữ liệu đã có.

– Cú pháp:

TYPE < Tên kiểu > = < Mô tả kiểu >;

VAR < Tên biến >:< Tên kiểu >;

Ví dụ:

TYPE Số thực = Real;

Tuổi = 1..100;

Thứ ngày = (Hai,Ba,Tu, Nam, Sau, Bay, CN)

VAR x :Số thực;

tt : Tuoi;

Day: Thu ngay;

CHÚC EM HỌC TỐT VÀ HỌC GIỎI NHA CÓ LÊN

Xem toàn bộ tài liệu Lớp 11: tại đây

Giải Bài Tập Tin Học 11 – Bài 15: Thao tác với tệp giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

    • Sách Giáo Viên Tin Học Lớp 11

    1. Khai báo

    Để làm việc với kiểu dữ liệu tệp ta phải sử dụng biến tệp.

    Khai báo biến tệp văn bản có dạng

    Var< tên biến tệp>:text;

    2. Thao tác với tệp

    a) Gắn tên tệp

    Mỗi tệp đều có một tên tệp để tham chiếu. Tên tệp là biến xâu hoặc hằng xâu, ví dụ: ’Dulieu.dat’.

    Trong lập trình, ta không thao tác trực tiếp với tệp dữ liệu trên đĩa mà thông qua biến tệp. Biến tệp được đại diện cho tệp trong ngông ngữ lập trình.

    Để thao tác với tệp, trước hết phải gắn tên tệp với đại diện của nó là biến tệp bằng thủ tục:

    Assign(,);

    Ví dụ 1: Gắn biến tệp tep1 với tệp có tên là DULIEU.DAT.

    Assign(tep1,’DULIEU.DAT’);

    Ví dụ 2: Để đọc dữ liệu từ tệp INP.DAT nằm trên thư mục gốc của ổ C.

    Assign(tep2,’C:\INP.dat’);

    b) Mở tệp

    Sau khi sử dụng thủ tục assign. Ta có thể thực hiện việc đọc ghi dữ liệu.

    + Đối với việc ghi:

    Câu lệnh dùng thủ tục mở tệp để ghi dữ liệu có dạng:

    Rewrite();

    Nếu tệp chưa tồn tại thì 1 tệp mới sẽ được tạo với nội dung rỗng. Nếu tệp tồn tại rồi thì nội dung cũ trong tệp sẽ bị xóa.

    Ví dụ:

    Assign(tep1,’C:\INP.dat’); Rewrite(tep1);

    Nếu ở đĩa C có tệp INP.dat rồi thì nội dung trong tệp sẽ bị xóa hết. Nếu chưa tồn tại thì tệp sẽ được tạo mới.

    + Đối với việc đọc:

    Mở một tệp đã gắn với một biết tệp để đọc ta dùng thủ tục:

    Reset();

    Ví dụ:

    Assign(tep1,’DL.INP’); Reset(tep1);

    c) Đọc/ghi tệp văn bản.

    Việc đọc ghi tệp văn bản được thực hiện giống như nhập dữ liệu từ bàn phí. Việc ghi dữ liệu ra tệp văn bản giống như ghi ra màn hình. Dữ liệu trong tệp văn bản được chia thành các dòng.

    + Câu lệnh dùng thủ tục để đọc:

    Read(,); Readln(,);

    + Câu lệnh dùng thủ tục để ghi là:

    Write(,); Writeln(,);

    Một số hàm chuẩn thường dùng trong khi đọc/ghi tệp văn bản:

    + Hàm eof() trả về giá trị true nếu con trỏ tệp dang chỉ tới cuối tệp.

    + Hàm eoln() trả về giá trị true nếu con trỏ tệp đang chỉ tới cuối dòng.

    d) Đóng tệp

    Sau khi làm việc xong với tệp càn phải đóng tệp. Việc đóng tệp là đặc biệt quan trọng sau khi ghi dữ liệu, khi đó hệ thong mới thực sự hoàn tất việc hi dữ liệu ra tệp.

    Cú pháp:

    Close();

    Ví dụ: Chương trình đọc một dòng từ tệp INP sau đó ghi sang tệp OUT

    program vdf; uses crt; var f1,f2:text; s:string; begin assign(f1,'INP'); assign(f2,'OUT'); rewrite(f2); reset(f1); readln(f1,s); write(f2,s); close(f1); close(f2); end.

    Kết quả:

    Viết cú pháp khai báo biến tệp lấy Ví dụ

    Hay nhất

    Khai báo biến tệp văn bản có dạng: var < tên biến tệp >
    Ví dụ 1: var tep1,tep2: text; Khai báo trên xác định hai biến tệp văn bản tep1 và tep2.

    Câ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ũ Câ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); Câ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); Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆPVÍ DỤ 1VÍ DỤ 2 VÍ DỤ 1Trạ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. DEMO4 cặp số nguyên tươngứng với tọa độ của 4 trạicủa 4 giáo viên chủ nhiệm VÍ DỤ 1Progam Khoang_cach;Var d: real; f :text; x, y: integer;Begin1. Assign(f, ‘TRAI.TXT’); 2. Reset(f); 3. While not eof(f) do4. Begin5. Read(f,x,y); 6. D:= sqrt(x*x+y*y);7. Write(‘Khoang cach: ‘,d:10:2);8. End;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} DEMOCHƯƠNG TRÌNH DEMOKẾT QUẢ KHOẢNG CÁCHTỪ TRẠI CỦA THẦY HIỆU TRƯỞNGTỚI 4 TRẠI CỦA GIÁO VIÊN CHỦ NHIỆM VÍ DỤ 2Cho 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. DEMOMỖI DÒNG CHỨA 3 SỐ THỰC R1, R2, R3 DEMOmỗi dòng ghi5 điện trở tương đươngtheo 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;Begin1. 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} 5.While not eof(f1) do6. Begin7. 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ệuvào tệpRESIST.EQU}{Đóng tệp}{Đưa con trỏ tệpxuống dòng} DEMOCHƯƠNG TRÌNH TÓM TẮTTrao đổ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ệpCá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ệpMỗ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 Viế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, yReadln(f, x, y);Mở tệp để ghi dữ liệu.Rewrite(f);Ghi dữ liệu là s vào tệp ‘ViDu.txt’.Writeln(f, s);Đóng tệp. Close(f);