-Dữ liệu lưu trong bộ nhớ trong sẽ mất đi khi tắt máy hoặc kết thúc chương trình.. Bộ nhớ ngoài Bộ xử lí trung tâm Bộ điều khiển Bộ số học/logic Bộ nhớ trong Em hãy nêu sự khác biệt giửa
Trang 1Chào các em lớp 11b1!
Trang 2-Dữ liệu lưu trong bộ nhớ trong sẽ mất đi khi tắt máy hoặc kết thúc
chương trình.
Bộ nhớ ngoài
Bộ xử lí trung tâm
Bộ điều khiển Bộ số học/logic
Bộ nhớ trong
Em hãy nêu sự khác biệt giửa bộ nhớ trong
và bộ nhớ ngoài?
Cấu trúc chung của máy tính bao gồm: Bộ xử lí trung tâm, bộ nhớ trong, các thiết bị vào/ra, bộ nhớ ngoài.
Trang 3-Ở các chương trước, chúng ta đã xét các kiểu dữ liệu mà thông tin Input và Output của nó đều được lưu tại bộ nhớ trong Do
đó, khi thoát chương trình hay tắt nguồn điện, các dữ liệu này sẽ
bị mất Muốn xem lại kết quả, ta phải nhập Input và chạy lại
chương trình
Có cách nào để ta chỉ nhập Input và chạy chương trình một lần, mà có thể xem thông tin Output bất cứ khi nào?
-Trong Pascal, có một kiểu dữ liệu cho phép thực hiện điều đó
Và đó là nội dung của bài học hôm nay.
Trang 4Bài 14
Trang 51 Vai trò kiểu tệp
- Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài (đĩa từ, CD, ) và không bị mất khi tắt nguồn điện
- Lượng thông tin lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa.
Trang 6Có hai loại tệp thường dùng:
Tệp có cấu trúc
Tệp văn bản
Là tệp mà các thành phần của nó được tổ chức theo một cấu trúc nhất định
Gồm các kí tự được phân chia
thành một hoặc nhiều dòng.
Dưới đây ta chỉ xét các khai báo và làm việc với tệp văn bản.
Trang 72 Khai báo tệp văn bản
Var <Tên biến tệp> : TEXT;
Ví d : ụ:
var tep1,tep2 : Text;
Var
tep1,tep2: TEXT;
Trang 83 Thao tác với tệp
Gán tên tệp
Ghi dữ liệu ra tệp Đọc dữ liệu từ tệp
Đóng tệp
Trang 9a Gán tên tệp
ASSIGN (<BIẾN TỆP>,<TÊN TỆP>);
Tên tệp : Là biến xâu hoặc hằng xâu.
ASSIGN(tep1, ‘DULIEU.DAT’);
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
Ví d : ụ:
Biến tep1 được gắn với tệp có
tên DULIEU.DAT
Biến tep2 được gắn với tệp có
tên BAITAP.INP trong thư mục
TP ở ổ đĩa D.
Trang 10b M t p ở tệp ệp
REWRITE ( < BIẾN TỆP>) ;
- Thủ tục mở tệp để ghi kết quả:
Program vd1;
Var tep2: TEXT;
BEGIN
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE ( tep2) ;
Nếu như trên ổ D:\TP chưa có
tệp BAITAP.INP, thì tệp sẽ
được tạo rỗng Nếu đã có, thì
nội dung cũ bị xoá để chuẩn bị
ghi dữ liệu mới
Trang 11Thủ tục ghi dữ liệu ra tệp
Danh sách kết quả gồm một hay
nhiều phần tử Phần tử có thể là
biến, hằng xâu hoặc biểu thức.̉
c Ghi dữ liệu ra tệp
Program vd1;
Var tep2: TEXT;
a,b: integer;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (tep2);
WRITE (tep2,a,’ ‘,b);
a:=3; b:=5;
BEGIN
Close(tep2);
WRITE (<BIẾN TỆP>, <DANH SÁCH KẾT QUẢ>) ;
QUẢ>);
Trang 12Giá trị hai biến a=3, b=5 được ghi ở trong tệp BAITAP.INP.
Trang 13RESET (< BIẾN TỆP >);
Thủ tục mở tệp để đọc dữ liệu
Thủ tục đọc dữ liệu từ tệp :
d Đọc dữ liệu từ tệp
Program vd2;
Var tep2: TEXT;
x,y: integer;
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
RESET ( tep2) ;
READLN (tep2,x,y);
BEGIN
Close(tep2);
WRITE ( ‘Hai so do la’ ,x,y) Hai so do la ,x,y) ’ ,x,y) ;
READ ( < BIẾN TỆP >, <DANH SÁCH BIẾN>) ;
READLN (< BIẾN TỆP >, <DANH SÁCH
BIẾN>);
Trang 14Program vd1;
Var
tep2: TEXT;
a,b: integer;
BEGIN
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
REWRITE (tep2);
WRITE (tep2,a,b);
a:=3; b:=5;
Readln;
Close(tep2);
BEGIN
ASSIGN(tep2, ‘D:\TP\BAITAP.INP’);
READLN(tep2, x,y);
WRITE ( ‘Hai so do la’ ,x,y) Hai so do la ,x,y) ’ ,x,y) ; Readln;
Program vd2;
Var tep2: TEXT;
x,y: integer;
RESET (tep2);
e Thủ tục đóng tệp CLOSE(< TÊN BIẾN TỆP>)
Trang 15Tại sao phải đóng tệp?
Chỉ có đóng tệp thì khi đó hệ
thống mới hoàn tất đọc dữ liệu từ tệp hoặc ghi dữ liệu ra tệp
e Thủ tục đóng tệp
Trang 16f Một số hàm chuẩn thường dùng trong xử lí tệp văn bản
EOF(<biến tệp>);
Cho giá trị TRUE nếu con trỏ đang chỉ tới cuối tệp
EOLN(<biến tệp>);
Cho giá trị TRUE nếu con trỏ đang chỉ tới cuối dòng
Trang 17CỦNG CỐ
Khai báo tệp văn bản:
Var < Tên biến tệp>: Text;
Gán tên tệp:
ASSIGN(<tên biến tệp>);
Mở tệp:
- Để đọc: RESET(<Tên biến tệp>);
- Để ghi: REWRITE(< Tên biến tệp>);
Đọc/ghi tệp
Đọc: READ(<Tên biến tệp>, <danh sách biến> ); Ghi: WRITE(< Tên biến tệp>,<danh sách kết quả>);
Trang 18Bài học đến đây kết thúc Chúc các em học tập tốt!
Trang 19Program vidu;
Var tep1, tep2: text;
x, y: byte;
Begin
assign (tep1,’DULIEU.DAT’);
rewrite (tep1);
x:= 10; y:= 5;
write (tep1, x,’ ’, y);
assign (tep2,’DULIEU.DAT’);
reset (tep2);
read (tep1,x,y);
write (x:2, y:2);
close (tep2);
Back