Ở những chương trước chúng ta mới làm quen với cấu trúc của chương trình chính, trong đó
để giải quyết một hoặc nhiều vấn đề, tất cả các lệnh đều nằm trong một ch ương trình và
thực hiện các lệnh từ trên xuống dưới. Với những bài toán lớn, theo cấu trúc này chương
trình chính rất dài, cồng kềnh, khó kiểm soát và không thể phân chia cho nhiều nhóm thực
hiện đồng thời một lúc.
20 trang |
Chia sẻ: lylyngoc | Lượt xem: 1542 | Lượt tải: 1
Bạn đang xem nội dung tài liệu Giáo trình môn học: Nhập môn tin học Phần III – Ngôn ngữ lập trình Pascal - 2, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
TRƯỜNG ĐẠI HỌC XÂY DỰNG
KHOA CÔNG NGHỆ THÔNG TIN
------------ ------------
GIÁO TRÌNH
MÔN HỌC: NHẬP MÔN TIN HỌC
PHẦN III – NGÔN NGỮ LẬP TRÌNH PASCAL -2
Giảng viên: ĐÀO TĂNG KIỆM
Bộ môn : TIN HỌC XÂY DỰNG
Hà nội 2012
----------
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 2
Chương 4 CHƯƠNG TRÌNH CON
I. Khái niệm chung – đặc điểm
1. Khái niệm chung:
Ở những chương trước chúng ta mới làm quen với cấu trúc của chương trình chính, trong đó
để giải quyết một hoặc nhiều vấn đề, tất cả các lệnh đều nằm trong một chương trình và
thực hiện các lệnh từ trên xuống dưới. Với những bài toán lớn, theo cấu trúc này chương
trình chính rất dài, cồng kềnh, khó kiểm soát và không thể phân chia cho nhiều nhóm thực
hiện đồng thời một lúc.
Từ đó hình thành ý tưởng xây dựng chương trình con là một mô đun độc lập, kết nối với
chương trình chính và các chương trình con khác qua “đầu vào” và “đầu ra”, chia nhỏ chức
năng và cấu trúc chương trình chính thành nhiều mô đun nhỏ, trong đó chương trình chính
là chương trình điều khiển quá trình tính toán của chương trình con.
Trong những năm đầu khi bắt đầu xuất hiện ngôn ngữ lập trình, người ta chưa thiết lập được
cấu trúc Chương trình con. Trong quá trình phát triển các ngôn ngữ đã có, cùng với nhu cầu
của người sử dụng, những tiện lợi mà chương trình con mang lại, sự phát triển các ngôn ngữ
đã có và khi xây dựng ngôn ngữ lạp trình mới đều hướng đến việc tổ chức chương trình con.
Ưu điểm khi sử dụng cấu trúc chương trình con:
- Cấu trúc chương trình chính trở nên gọn, mạch lạc, dễ hiểu.
- Không lặp lại các phần tương tự.
- Vì là một mô đun độc lập, chương trình con có thể sử dụng nhiều lần trong một
chương trình hoặc ở các chương trình khác nhau.
- Dễ kiểm tra, theo dõi trong quá trình thử nghiệm.
2. Đặc điểm của Chương trình con:
- Là một đơn vị chương trình độc lập, hoàn chỉnh, cũng bao gồm 3 phần: tên chương trình,
phần khai báo và phần thân. Chương trình con có thể giải quyết một vấn đề trọn vẹn và
được sử dụng nhiều lần qua lời gọi nó trong chương trình chính.
- Toàn bộ các Chương trình con đặt ở cuối phần khai báo trong chương trình chính.
- Các biến trong chương trình con chỉ có tính chất cục bộ (chỉ có tác dụng trong bản thân
chương trình đó). Trong chương trình con có thể sử dụng tất cả các lệnh như chương trình
chính.
- Thứ tự khai báo các chương trình con không quan trọng nếu các chương trình độc lập với
nhau. Khi các chương trình con gọi đến nhau thì phải xếp theo một trật tự nào đó nếu. Ví dụ
chương trình con A gọi đến chương trình con B thì B phải khai báo trước A.
- Trong Pascal có 2 loại chương trình con: chương trình con dạng hàm (Function) và
chương trình con dạng thủ tục (Procedurre).
- Chương trình con chỉ được tham chiếu đến nếu nó được gọi từ chương trình chính.
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 3
- Mỗi lần gặp lời gọi chương trình con, chương trình chính chuyển đến chương trình con và
thực hiện chúng, sau khi thực hiện, nó quay trở về chương trình chính thực hiện câu lệnh
ngay sau lời gọi chương trình con.
Minh họa cấu trúc của chương trình chính và chương trình con:
Cấu trúc chương trình Chú thích
Program Tên_chương_trình_chính;
Lebel – Const- Type
Var (Khai báo Các biến chung )
Các khai
báo chung
của CT
chính
Function Tên_hàm ( Danh_sách_tham_số_hình thức) :
kiểu_hàm ;
{ Phần khai báo các biến cục bộ của hàm}
Begin
Các câu lệnh của chương trình con ạng hàm
End;
Procedure Tên_Thủ_tục (Dsach_Tham_số_hình_thức);
{ Phần khai báo các biến cục bộ của thủ tục}
Begin
Các câu lệnh của chương trình con thủ tục;
End;
Khai báo
các
Chương
trình con
-
Nội dung
các
chương
trình con
Phần khai báo
của chương
trình chính
BEGIN
Các lệnh ;
Lời gọi chương trình con;
……
END.
Phần thân
của
chương
trình chính
II. Thủ tục và hàm – cách khai báo
1. Hàm – Function: Chương trình con dạng hàm dùng để tính cho các hàm hoặc xử lý
cho những bài toán chỉ tính và xuất một kết quả.
Đặc điểm của chương trình con dạng hàm:
- Tên chương trình con là tên biến chứa kết quả.
- Dùng cho các bài toán chỉ tính 1 kết quả
- Trong phần thân của chương trình con phải có một phép gán có chứa tên của CTC.
- Lời gọi chương trình con hàm phải nằm trong thành phần của biểu thức hoặc phép gán
và kết quả của chương trình con được lấy ra từ đó.
Cấu trúc chương trình con dạng hàm:
Function Tên_hàm ( Danh_sách_tham_số_hình thức) : kiểu_hàm ;
{ Phần khai báo các biến cục bộ của hàm}
Begin
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 4
Các câu lệnh;
Tên_hàm:= Biểu_Thức
. . . .
End;
Ví dụ: Để tính các hàm:
F1 = a.x + 5b. x2 – (a+b). xy
F2 = (7.a-c).x + b2. x2 + (a-b). xy
F3 = c.x + (a+c). x2 – (a2+b2). xy
F4 = (a/2).x + 5b. x2 – 120.b. xy
- Chúng ta nhận thấy các hàm có 1 cấu trúc giống nhau có thể tổng quát hóa qua công thức :
F= a1.x + a2. x2 +a3. xy
Trong đó a1, a2, a3 có các giá trị khác nhau trong các hàm F1,.. F4. Chúng ta thiết lập một
chương trình con dạng Function để tính cho một hàm “đại diện”, và sau đó gọi chúng ra tính
cho các hàm F1..F4 như sau:
- Chương tình con tính cho một hàm F bất kỳ:
Nội dung Giải thích
Function F ( a1, a2, a3 : real) : real; a1,a2,..Ten : các tham số hình
thức
Var x,y : real ; Khai báo 2 biến x,y lấy tên
trùng với tên trong CT chính
Begin
F := a1* + a2* x2 +a3* x*y ;
Writeln ( ‘ Gia tri cua ham ’);
End;
Thân của chương trình con,
tính cho hàm F bất kỳ và sau
đó in kết quả
- Để tính toán cho các hàm F1,..F4 ta viết đoạn chương trình
chính sau:
Program Tinh_ham; Chương trình chính
Var a,b,c, F1,F2,F3,F4,x,y : real ; Khai báo các tham số thực sự
BEGIN
Writeln (‘ Nhap du lieu ’);
Write ( ‘ Nhap cac gia tri a,b,c ’); Readln ( a,b,c);
Write ( ‘ Nhap cac gia tri x,y ’); Readln ( x,y);
Nhập dữ liệu cho chương trình
chính
Writeln (‘ KET QUA ’);
F1:= F ( a, 5*b, - (a+b) ) ; Writeln (’F1= ’ , F1:8:2 );
F2:= F ( 7*a-c , sqr(b), (a-b) ) ; Writeln (’F2= ’, F2:8:2 );
F3:= F ( c, (a+c), - (a*a+b*b)) ; Writeln (’F3= ’ , F3:8:2 );
F4:= F ( a/2, 5*b, - 120*b ) ; Writeln (’F4= ’ , F4:8:2 );
Gọi 4 lần CTcon tính hàm,
mỗi lời gọi tính cho một hàm,
ví dụ để tính F1 thay các tham
số hình thức bằng các tham số
thực sự như sau: a1= a;
a2=5*b ;a3=a+b;
Readln ;
END.
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 5
2. Thủ tục - Procedure:
Đặc điểm của thủ tục: có thể dùng để tính cho bài toán bất kỳ.
- Tên của chương trình con là một tên bất kỳ, theo cách đặt tên của Pascal.
- Thủ tục có thể tính và xuất cho nhiều kết quả.
Cấu trúc chương trình con dạng thủ tục:
Procedure Tên_thủ_tục ( Danh_sách_tham_số_hình thức) ;
{ Phần khai báo các biến cục bộ của thủ tục}
Begin
Các câu lệnh;
. . . .
End;
Ví dụ: Viết chương trình con nhập dữ liệu cho ma trận X bất kỳ có kích thước m
hàng, n cột.
Procedure Nhap_ma_tran ( Var m,n: integer; Var X :MT) ;
Var i,j :integer;
Begin
Write (' m, n = '); Readln (n,m);
for i:=1 to m do
for j:=1 to n do
begin
write (' X[', i, ',' , j ,']= ' ); readln (X [i,j]);
end
End;
Chú ý: trong tham số hình thức đối với mảng, không được khai báo trực tiếp, do vậy, để
khai báo cho X, trong chương trình chính phải mô tả trước kiểu, dùng lệnh Type ví dụ:
Type MT=array[1..15,1..15] of real;
(Tham khảo thêm ví dụ của chương trình con trong các ví dụ tổng hợp ở phần sau).
3. Biến toàn cục và biến cục bộ:
Biến toàn cục (tổng thể) là các biến của chương trình chính, các biến thực sự của chương
trình và chỉ được đặt trong phần khai báo của chương trình chính.
Biến cục bộ (đại phương) là các biến của chương trình con, nó chỉ có tác dụng trong chương
trình con. Biến cục bộ cũng có thể dùng chung với biến toàn cục. Khai báo biến cục bộ, có
thể qua một trong số các vị trí trong chương trình:
- Đặt trong phần khai báo của chương trình con
- Khai báo qua các tham số hình thức
- Dùng chung với các biến toàn cục (tên phải giống nhau ở CT chính và CT con)
III. Tham số
1. Tham số hình thức: Chương trình con có thể có tham số hoặc không có tham số.
Việc truyền tham số là cách kiểm soát các dữ liệu vào/ ra chương trình con, dễ dàng
điều khiển các biến nằm ngoài và các trị liên quan đến chứng trong chương trình con.
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 6
Khi sử dụng và tạo ra tham số chúng ta cần phải xác định:
- Các dữ liệu nào từ bên ngoài cần truyền đến chương trình con hoặc các dữ liệu mà chương
trình con sau khi tính toán cần lấy ra sử dụng tiếp.
- Đặt tên cho tham số
- Những dữ liệu nào sẽ bị chương trình con thay đổi
- Loại tham số trong danh sách (tham trị hay tham biến)
Tham số hình thức là các tham số được khai báo ngay sau tên của hàm và thủ tục, đặt
trong cặp ngoặc tròn. Nó là các tên giả định đại diện cho các đại lượng nào đó của
các biến/trị đưa vào hoặc các trị cần đưa ra trong chương trình, nó là các biến cục bộ
của CT Con.
Danh sách tham số hình thức là tập hợp của nhiều nhóm, mỗi nhóm phải cùng loại và kiểu,
các nhóm ngăn cách nhau bởi dấu chấm phẩy; còn trong một nhóm có thể có nhiều tên ngăn
cách nhau bằng dấu phẩy.
Dạng : (Nhóm 1 :kiểu; Nhóm 2: kiểu …);
Ví dụ: Procedure Tong_MT ( m,n: interger; A,B: VT2; var C: VT2);
Trong ví dụ trên, danh sách tham số hình thức có 3 nhóm, nhóm 1 và 2 là tham trị, nhóm 3
là tham biến. Nhóm 1 có kiểu nguyên, nhóm 2 và nhóm 3 có kiểu VT2, là một kiểu loại
mảng đã khai báo trước đó.
Trong danh sách tham số hình thức chỉ có 2 loại : Tham biến và tham trị.
Tham biến: là các tên trong phần khai báo của tham số hình thức có chữ Var ở
trước, đó là các tham số truyền theo kiểu biến. Với kiểu truyền này, địa chỉ chứa các
biến trước khi truyền vào CTCon và sau khi ra khỏi CTCon chung một vùng, do vậy
nếu trong chương trình con làm thay đổi giá trị của nó thì ra khỏi CTC nó vẫn giữ
nguyên giá trị đã bị thay đổi.
Thông thường, tham biến dùng khai báo cho các dữ liệu cần chương trình con thay đổi và
giữ lại sự thay đổi đó, ví dụ các dữ liệu, kết quả cần tính toán. Sử dụng tham biến sẽ tiết
kiệm bộ nhớ.
Tham trị: là các tên trong phần khai báo của tham số hình thức không có chữ Var ở
trước. Với tham trị, Pascal sử dụng 2 ô nhớ, một ô nhớ để chứa giá trị của biến trước
khi truyền vào chương trình con và một ô nhớ chứa bản sao của tham trị dùng để tính
toán trong chương trình con, do vậy các tác động trong chương trình con đến tham trị
chỉ có tác dụng trong nội bộ CTCon. Khi kết thúc và ra khỏi chượng trình con, giá trị
của tham trị sẽ lấy theo giá trị ban đầu, trước khi truyền vào CTCon nên giá trị của
nó không bị thay đổi.
Do vậy tham trị thường dùng để khai báo cho các dữ liệu cần truyền vào chương trình con
mà ra khỏi CTC, các dữ liệu này không được thay đổi.
Chú ý:
- Trong danh sách tham số hình thức, khi khai báo mảng, tệp phải khai báo gián tiếp.
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 7
- Chỉ những dữ liệu cần truyền vào, lấy ra mới đưa vào danh sách, tránh khai báo các biến
không cần thiết ( ví dụ các chỉ số, biến đếm, các biến tính toán, xử lý trung gian…).
2. Tham số thực sự và cách truyền tham số: Chương trình con chỉ được thực hiện khi
có lời gọi nó từ chương trình chính. Trong lời gọi chương trình con, các tham số thực tế của
chương trình thay thế cho danh sách tham số hình thức gọi là Tham số thực sự. Tham số
thực sự dùng để truyền dữ liệu vào chương trình con, thay các biến giả định bằng các hằng,
biến, hàm hoặc biểu thức đơn giản (tùy thuộc vào nó thay cho tham biến hay tham trị).
Tham số thực sự là các đại lượng đã được khai báo trong chương trình chính, các đại
lượng dùng thực sự trong chương trình chính.
Dạng: ( Danh_sách_tham_số_thực sự);
Danh sách tham số thực sự có thể là các hằng, biến, hàm,bản ghi, tệp, biểu thức ngăn cách
nhau bằng dấu phẩy. Việc thay thế danh sách này trong tham số thực sự gọi là truyền tham
số.
Danh sách truyền phải phù hợp với danh sách trong tham số hình thức về số lượng, thứ tự
và kiểu.
- Với tham trị : có thể truyền theo hằng, biến,biểu thức.
- Với tham biến: chỉ truyền dữ liệu theo kiểu biến.
- Tên của tham số hình thức và tham số thực sự có thể giống nhau
Ví dụ:
Tham số hình thức Truyền -Tham số thực sự
( m,n: interger; A,B: VT2; var C: VT2); ( m, n, A, B, C);
(10, 5, X, Y, Z)
III. Lời gọi chương trình con
Chương trình con được dùng (tham chiếu đến) qua lời gọi của chương trình chính tại những
chỗ cần thực hiện chương trình con. Số lần gọi là tùy ý, và mỗi lần gọi, danh sách tham số
thực sự truyền vào danh sách tham số hình thức có thể khác nhau. Lời gọi CTC là một câu
lệnh độc lập.
Dạng : Tên_chương trình_con ( Danh_sách_tham_số_thực_sự);
Chú ý : Lời gọi hàm có thể đứng độc lập hoặc tham gia trong một vế của biểu thức gán ( lời
gọi hàm).
Khi gặp lời gọi chương trình con, chương trình chính sẽ chuyển đến thực hiện CTCon, thay
tham số thực sự tương ứng với tham số hình thức và thực hiện CTCon, sau khi thực hiện
xong, kết quả trả về chương trình chính thông qua các tham số và trở về chương trình chính
tại câu lệnh ngay sau lời gọi chương trình con.
Ví dụ: Minh họa cho tham biến, tham trị và thực hiện lời gọi chương trình con
Program Tham_bien;
Var X,Y : integer ;
{ Chương trinh con}
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 8
Procedure Cong ( Var A,B : integer);
Begin
A:= A+1 ; B:= B+ 2 ;
Writeln ( ‘ Gia tri cua X, Y trong chương trinh con : ’ , A,B );
End;
BEGIN { Chuong trinh chinh }
X:=1 ; Y :=1 ;
Writeln ( ‘ Gia tri cua X,Y truoc khi goi chuong trinh con ’, X, Y );
Cong (X,Y) ;
Writeln ( ‘ Gia tri cua X,Ysau khi goi chuong trinh con ’, X, Y );
Readln
END.
--------------
Program Tham_tri;
Var X,Y : integer ;
{ Chương trinh con}
Procedure Cong ( A,B : integer); Begin
A:= A+1 ; B:= B+ 2 ;
Writeln ( ‘ Gia tri cua X, Y trong chương trinh con : ’ , A,B );
End;
BEGIN { Chuong trinh chinh }
X:=1 ; Y :=1 ;
Writeln ( ’ Gia tri cua X,Y truoc khi goi chuong trinh con ’, X, Y );
Cong (X,Y) ;
Writeln (’ Gia tri cua X,Ysau khi goi chuong trinh con ’, X, Y );
Readln
END.
------------------------
Nội dung của 2 chương trình trên hoàn toàn giống nhau cả chương trình chính và chương
trình con, sự khác nhau duy nhất là hai tham số hình thức A,B mà sau này được truyền vào
bằng X,Y, ở chương trình con 1 khai báo dạng tham biến, còn ở chương trình con 2 khai
báo là tham trị.
Kết quả sau khi chạy 2 chương trình trên:
Chương trình Tham biến Chương trình Tham trị
Gia tri cua X,Y truoc khi goi chuong trinh con 1 1 1 1
Gia tri cua X,Y trong chuong trinh con 2 3 2 3
Gia tri cua X,Y truoc khi goi chuong trinh con 2 3 1 1
Từ đó có thể thấy việc khai báo tham biến hay tham trị là rất quan trọng và ảnh hưởng đến
kết quả tính toán.
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 9
Sơ đồ điều khiển giữa chương trình chính và chương trình con
Cấu trúc chương trình Điều khiển Giải thích
Program Chuong_trinh_chinh;
….
Chương trình chính
Phần khai báo chương trình chính
Procudere CTC1 ( Danh_sach);
. . . . thực hiện
End;
Khai báo- Toàn bộ CT con 1
Procedure CTC2 (Danh_sach);
… thực hiện
End;
Khai báo- Toàn bộ CT con 2
BEGIN
…
CTC1 ( Tham_so_thuc_su);
Phần thân Chương trình chính
Lời gọi chương trình con 1
…
CTC2 (Tham_so_thuc_su);
….
Lời gọi chương trình con 2
3. Các bài tập áp dụng:
Bài 1: Cho 2 véc tơ A, B có m phần tử. Viết chương trình con tính các véc tơ C= A+B;
D=A+C; E= B+D , trong đó viết 2 chương trình con, một chương trình con nhập dữ liệu
cho một véc tơ và một chương trình con tính tổng 2 véc tơ.
Bài 2: Cho một ma trận A vuông (mảng 2 chiều) có m hàng, n cột.
- Tính trung bình cộng từng hàng của ma trận.
- Tìm giá trị lớn nhất của từng cột của ma trận.
trong đó viết 3 chương trình con, một chương trình con nhập dữ liệu cho ma trận, một
chương trình con tính tổng từng hàng của ma trận và chương trình con tính giá trị lớn nhất
từng cột của ma trận.
Bài 3: Cho dữ liệu của một phường dân cư có m người. Biết các thông tin Tên chủ hộ, Địa
chỉ, Tổng số điện tiêu thụ mỗi tháng của mỗi nhà trong 12 tháng.
- Nhập các thông tin của từng hộ
- Tính tổng số điện tiêu thụ trong cả năm của mỗi nhà
- Tính tiền điện của từng hộ trong cả năm theo lũy tiến như sau:
Tổng số điện cả năm 150 số : 5000đ/ số
- Tính số lượng những hộ phải trả tiền điện trong cả năm > X đồng
Viết 2 chương trình con: một chương trình con nhập dữ liệu và một chương trình con tính
tiền điện cho từng hộ.
Chương 5 TỆP VĂN BẢN
Giáo trình Nhập môn Tin học: Phần III – Ngôn ngữ lập trình Pascal -2 GVC: Đào Tăng Kiệm
Bộ môn Tin học Xây dựng 10
I. Khái niệm về tệp (File)
1. Lý do dùng tệp
Trong quá trình tạo lập biến và các dữ liệu đưa vào theo danh sách biến cũng như quá trình
lưu trữ các kết quả tính được trong chương trình Pascal ở các chương trước gặp nhiều tổn
thất, đó là khi mất điện hoặc tắt máy, chuyển chương trình… các dữ liệu đã nhập và kết quả
đang hiện trên màn hình sẽ mất hết. Bên cạnh đó khi làm các bài toán lớn, khối lượng dữ
liệu nhiều, quá trình nhập dữ liệu mất nhiều thời gian và dữ liệu cần lưu lại hoặc có thể sử
dụng cho những mục đích khác thì cách nhập-xuất trực tiếp không hiệu quả.
Vấn đề là cần một phương pháp để lưu trữ các dữ liệu đã nhập và có thể thêm – xóa - sửa
chúng một cách dễ dàng, đó là mục đích sử dụng cấu trúc tệp dữu liệu.
2. Cấu trúc tệp:
Tệp là một kiểu dữ liệu có cấu trúc, tập hợp các dữ liệu có liên quan đến nhau được chứa
trong một thiết bị nhớ ngoài (băng, đĩa,…) với một tên nào đó, do vậy dữ liệu trong tệp
được lưu trữ và sử dụng nhiều lần. Khác với các tệp chương trình, tệp văn bản,… tệp dữ
liệu trong Pascal có thể tạo ra từ các câu lệnh của chương trình Pascal hoặc từ một phần
mềm soạn thảo văn bản.
Tệp dữ liệu là một tập hợp các loại dữ liệu dưới dạng Văn bản hoặc Bản ghi và được tổ
chức theo một cách nào đó, được đặt một tên và lưu trong đĩa.
Việc tổ chức và sử dụng tệp được gắn bó với nhau và gọi chung là phương pháp truy nhập
tệp. Có 2 phương pháp truy nhập là truy nhập tuần tự và truy nhập trực tiếp. Truy nhập tuần
tự là tệp được tổ chức để nhập dữ liệu vào và lấy ra một cách tuần tự, từ đầu đến cuối tệp
hoặc từ bản ghi đầu đến bản ghi cuối. Truy nhập trực tiếp hay ngẫu nhiên là tổ chức dữ liệu
và nhập – lấy dữ liệu từ tệp theo một địa chỉ bất kỳ (kiểu cấu trúc bản ghi và truy nhập đến
địa chỉ của bản ghi).
3. Các loại tệp
Có 3 loại tệp : Tệp mã, Tệp văn bản và Tệp không định kiểu.
Trong nội dung chương trình, chúng ta chỉ đề cập đến Tệp văn bản.
Tệp văn bản là tệp dữ liệu được lưu trữ dưới dạng mã ASCII và xếp theo dòng. Các dòng
ngăn cách nhau bằng tín hiệu EOLN (End of line),và đánh dấu ở vị trí cuối tệp là ký hiệu
EOF (end of file). Độ dài của các dòng trong tệp có thể thay đổi.
Đặc điểm: - Dữ liệu ghi trong tệp dạng ký tự do đó có thể đọc và hiểu được.
- Muốn truy nhập tệp văn bản (nhập dữ liệu – lấy dữ liệu) phải tiến hành tuần tự.Ví dụ muốn
lấy 1 dữ liệu ở giữa tệp thì cũng phải đọc các dữ liệu từ đầu đến vị trí muốn lấy DL (giữa
tệp).
- Có thể sử dụng bất cứ phần mềm soạn thảo văn bản nào để soạn nội dung của tệp.
- Tệp văn bản đơn giản, dễ tạo và