Danh mục tài liệu

Bài giảng Ngôn ngữ lập trình Pascal: Chương 14 - Kiểu dữ liệu có cấu trúc - Kiểu tệp (File)

Số trang: 34      Loại file: pdf      Dung lượng: 72.84 KB      Lượt xem: 14      Lượt tải: 0    
Xem trước 4 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Dưới đây là bài giảng Ngôn ngữ lập trình Pascal: Chương 14 - Kiểu dữ liệu có cấu trúc - Kiểu tệp (File). Mời các bạn tham khảo bài giảng để hiểu rõ hơn những nội dung về khái niệm tệp, cấu trúc và phân loại tệp, mở tệp mới để cất dữ liệu, đọc dữ liệu từ một tệp đã có và một số nội dung khác.
Nội dung trích xuất từ tài liệu:
Bài giảng Ngôn ngữ lập trình Pascal: Chương 14 - Kiểu dữ liệu có cấu trúc - Kiểu tệp (File) Chương 14 Kiểu dữ liệu có cấu trúc: Kiểu tệp (File)Có 4 kiểu dữ liệu có cấu trúc:ARRAY, SET, RECORD, FILE 14.1 Nội dung học của chương: Tệp I. Khái niệm về tệp II. Cấu trúc và phân loại tệpIII. Mở tệp mới để cất dữ liệuIV. Đọc dữ liệu từ một tệp đã có V. Tệp truy nhập trực tiếp VI. Các thủ tục và hàm xử lý tệp của Turbo PASCALVII. Tệp văn bản (TEXT Files)VIII. Tệp không định kiểu (UnTyped File) 14.2I. Khái niệm về tệpTệp (hay tệp dữ liệu) nói chung là tập hợp các phần tử dữ liệu có liên quan với nhau và có cùng kiểu dữ liệu, được lưu trữ trong bộ nhớ ngoài (băng từ, đĩa mềm, đĩa cứng ...), mỗi tệp có một tên. Tiếng Anh: File, tiếng Pháp: Fichier được dùng để chỉ các ngăn đựng hồ sơ treo, tủ phiếu thư viện 14.3 Mỗi phiếu = 1 bản ghiThí dụ Tên sách: PASCALTủ phiếu thư viện Tên tác giả: Q.T. NgọcTệp=hộp đựng các phiếu ghi NXB: Giáo dục .... A B CTên ... ... M ... ... Z Tên tệp 14.4 Mỗi ngăn kéo = 1 tệp Tủ phiếu = đĩaSo sánh với định nghĩa ARRAY Giống nhau: dãy các phần tử cùng kiểu Khác nhau:  ARRAY có số phần tử xác định trước.  FILE có số phần tử không xác định trước.  ARRAY lưu trữ dữ liệu ở bộ nhớ trong RAM nên không giữ lại được dữ liệu khi mất điện hay khi kết thúc chương trình.  FILE lưu trữ dữ liệu ở bộ nhớ ngoài nên giữ được dữ liệu khi mất điện hoặc kết thúc CT.  Muốn lưu trữ hồ sơ cán bộ ... phải dùng FILE14.5Khai báo tệpTYPE Kiểu_tệpT = FILE OF kiểu_phần_tử;VAR Biến_tệp: Kiểu_tệpT;Mỗi ô là một phần tử của tệp, với dấu hiệu kết thúc tệp... End of FileTYPE {Định nghĩa các kiểu tệp } FileInteger = FILE OF integer; FileReal = FILE OF real; FileBoolean = FILE OF boolean;VAR {Khai báo các biến tệp } F1,F2: FileInteger; 14.6 F3:FileReal; { F3 là tệp các số thực }TYPE NhânSự = RECORD Tên : String[30]; Tuổi: byte; Lương : real; END; FNhânSự = FILE OF NhânSự;VAR FNS: FNhânSự; {FNS:Tệp các bản ghi nhân sự} F5 : FILE OF Char; {Khai báo trực tiếp} F6 : FILE OF ARRAY [1..5] OF INTEGER; 14.7II. Cấu trúc và phân loại tệpCách truy nhập vào các phần tử của tệp: Các phần tử của tệp không có tên hay kí hiệu như ARRAY và RECORD. Tại mỗi thời điểm, ta chỉ có thể truy nhập (ghi hoặc đọc) vào một phần tử nhất định của tệp thông qua vị trí của một cửa sổ. Hãy hình dung cuộn phim và ống kính. Mỗi tệp F đều có một dấu hiệu đặc biệt đánh dấu kết thúc tệp. Hàm EOF(F) kiểu Boolean báo cho ta biết vị trí cửa sổ tệp đã đến vị trí cuối tệp chưa ? EOF(F) Cửa sổ nhìn tệp 14.8Cách phân loại tệp: theo cách truy cập Truy cập tuần tự: muốn vào phần tử thứ n bắt buộc phải đi qua n-1 phần tử trước đó. Thí dụ: băng từ. Trong PASCAL, ngầm định là tệp tuần tự. Truy cập trực tiếp: là tệp có thể đặt cửa sổ tệp vào bất kì phần tử nào. Thí dụ: đĩa mềm, đĩa cứng... Lí do: đầu từ ghi/đọc có thể di chuyển thẳng vào vị trí mong muốn. 14.9III. Mở tệp mới để cất dữ liệuGồm các bước cơ bản: ASSIGN(Biến_Tệp, Tên_Tệp); Gán tên tệp REWRITE(Biến_Tệp); Mở tệp mới ... ...Write(Biến tệp, các giá trị); CLOSE(Biến_tệp); Đóng tệp lạihoặc ASSIGN(FileVar, FileName); REWRITE(FileVar); ...Write(FileVar, Item1, Item2,...); CLOSE(FileVar);Sau thủ tục Rewrite, cửa sổ tệp nằm ở vị trí đầu tiên của tệp để sẵn sàng nhận giá trị ghi vào. 14.10Tên tệp*.PAS các tệp chứa chương trình Pascal*.FOR các tệp chứa chương trình FORTRAN,*.BAS chứa chương trình viết bằng BASIC,*.ASM là các chưng trình viết bằng ASSEMBLER,*.DOC chứa tệp văn bản tài liệu, (DOCument)*.TXT chứa tệp văn bản (TeXT)*.COM và *.EXE là các tệp chứa chưng trình dưới dạng mã máy có thể chạy ngay được trên máy vi tính IBM-PC.*.DAT chứa các dữ liệu cần xử lý (DATa).*.SAM chứa các mẫu (SAMple) tín hiệu điện trong xử lý tín hiệu số......... 14.11Ghi giá trị vào tệp:WRITE(FileVar, Item1, Item2, ...., ItemN);WRITE(Biến_Tệp, Các giá trị cần ghi vào);vớiItem1, Item2,... ItemN: các hằng ...