Giáo án tin học 9 - KIỂU DỮ LIỆU CÓ CẤU TRÚC FILE pot

27 679 2
Giáo án tin học 9 - KIỂU DỮ LIỆU CÓ CẤU TRÚC FILE pot

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Giáo án tin học 9 BÀI KIỂU DỮ LIỆU CÓ CẤU TRÚC FILE KIẾN THỨC YÊU CẦU:  Biết khi nào cần sử dụng đến FILE.  Biết cách khai báo và sử dụng.  Biết nắm vững các hàm và các câu lệnh dùng trong FILE. KIẾN THỨC ĐẠT ĐƯỢC  Biết các khái niệm về FILE trong Pascal.  Biết cấu trúc của 3 loại FILE, File văn bản, File định kiểu và không định kiểu.  Biết cách khai báo biến File, gán tên File, mở File để đọc, để ghi và đóng File.  Biết nắm vững biến toàn cục và biến địa phương, đặc biệt là tầm vực hoạt động của các biến loại này.  Biết sử dụng thành thạo các lệnh, thủ tục và hàm trong File. 9 I/ Khái niệm về File 1. Khái niệm Kiểu File (tập tin) trong Pascal là một cấu trúc dữ liệu gồm nhiều phần tử cùng kiểu được chứa trong thiết bị ngoài như đĩa cứng hay đĩa mềm, số lượng phần tử không hạn chế, biến kiểu file dùng để thiết lập với các thiết bị ngoài như máy in, màn hình …  File dùng để lưu trữ dữ liệu trong một thời gian dài, ngay cả khi chương trình đã kết thúc.  Chứa với khối lượng lớn.  Để cung cấp cho một hay nhiều chương trình hoạt động ở nhiều thời điểm. 2. Cấu trúc và phân loại file. File là kiểu dữ liệu rất là quan trọng. Mọi dữ liệu cần lưu trữ trên đĩa mềm, đĩa cứng đều phải dùng đến kiểu file. Chúng ta có 3 loại file.  File văn bản (text).  File có định kiểu.  File không định kiểu. II/ File 1. Cách khai báo biến file a. Khai báo file văn bản Được khai báo với từ khoá Text. Tập tin văn bản được dùng phổ biến và một số thiết bị ngoại vi như màn hình, bàn phím, máy in …Bạn khai báo như sau: Var <Tenbienfile> : Text; Trong đó kiểu Text được định nghĩa trước. b. Khai báo file có định kiểu Được khai báo với từ khoá FiLE OF Kiểu phần tử, bạn khai báo như sau: Type <Tenkieufile> = FiLE OF Kieuphantu; Var <Tenbienfile> : (Tenkieufile>; Hoặc có thể khai báo trực tiếp như sau: Var <Tenbienfile> : FiLE OF Kieuphantu; Có thể hiểu các phần tử của file có định kiểu là các Record. Ví dụ: Type Lilich = Record Hovaten : String [40]; Namsinh : integer; Noisinh : String [50]; Diachi : String [50]; Tencha : String [40]; Tenme : String [40]; End; FileLilich = FiLE OF Lilich; Var Hocsinh : Lilich; F1, F2 : FileLilich; (Từ Type đến End; là cấu trúc kiểu Record) c/ Khai báo file không định kiểu Được khai báo với từ khoá chỉ có mỗi một chữ FiLE. Bạn khai báo như sau: Var <Tenbienfile> : FiLE;  Với cả 3 kiểu file như trên, ta phải dùng các thủ tục sau để gán tên file, mở file và đóng file. 2. Lệnh gán tên file cho biến file đại diện ASSiGN (F, Tenfile); 3. Lệnh mở file a/ Mở file để đọc RESET (F); b/ Mở file để ghi REWRiTE (F); 4. Lệnh đóng file Khi xử lý xong, chúng ta phải đóng file lại. CLOSE (F); Ví dụ 1: Assign(F1, ‘Hocsinh.LL’); Gán Hocsinh.LL cho F1. Ví dụ 2: Assign(F1, “Hocsinh.LL’); Rewrite(F1); Chỉ sau khi thực hiện phát biểu Rewrite(F1) thì trên đĩa mới có file Hocsinh.LL, đây là một file rỗng. Nếu file Hocsinh.LL đã có trên đĩa, hai phát biểu trên sẽ xoá file Hocsinh.LL cũ. Ví dụ 3: Assign(F2, ‘Hocsinh.LL’); Reset(F2); Nếu file chưa có trên đĩa, sẽ có lỗi thời gian thi hành. 5. Một số lệnh và hàm về xử lý file a. Với File có định kiểu:  Lệnh Read(Bienfile, cacbien) Cacbien là một hay nhiều biến thuộc kiểu thành phần của kiểu file, nếu có nhiều thì chúng được cách nhau bởi dấu phẩy (,). Các biến sẽ được đọc từ Bienfile, sau mỗi lần đọc, con trỏ của file được tự động đưa đến phần tử kế tiếp. Ví dụ: Var F1 : FileLilich; x, y : Lilich; Begin Assign(F1, ‘Hocsinh.LL’); Reset(F1); Read(F1, x, y); …… …… x.Hovaten sẽ là ‘Nguyễn Thành An’ x.Namsinh sẽ là 1990 …… …… y.Hovaten sẽ là ‘Phan Thanh Bình’ y.Namsinh sẽ là 1991 …… ……  Lệnh Write(Bienfile, Cacbien) Giải thích như lệnh read, ở đây các biến sẽ được ghi lên Bienfile, sau mỗi lần ghi thì con trỏ của file sẽ tự động đưa đến phần tử kế tiếp. Ví dụ: …… …… Write(‘Ban cho biet ten file: ‘); Readln(Tenfile); Assign(F1, Tenfile); Rewrite(F1); x.Hovaten := ‘Thanh Văn Anh’; x.Namsinh := 1990; x.Noisinh := ‘Saigon’; …… …… y.Hovaten := ‘Phan Văn Bình’; y.Namsinh := 1991; y.Noisinh := ‘HaNoi’; …… …… Write(F1,x, y); Close(F1); b. Với File văn bản Ngoài Read(F, ch); hoặc Write(F, ch); được dùng để đọc, ghi từng ký tự, tập tin văn bản còn có các lệnh ghi, đọc theo dòng văn bản. Readln(F, Cacbien); Writeln(F, Cacbien); c. Với File không định kiểu Dùng các lệnh đọc ghi theo từng khối, do đó sẽ có tốc độ nhanh. BlockRead và BlockWrite. Ngoài ra còn có một số thủ tục và hàm xử lý File thông dụng như sau:  Hàm EOF(F): Cho giá trị True nếu con trỏ file đã ở vị trí kết thúc file. Thủ tục này được dùng mỗi khi cần đọc dữ liệu.  Hàm EOLN(F): Cho giá trị True nếu con trỏ file ở vị trí kết thúc dòng của file văn bản, thủ tục này chỉ được dùng với file văn bản.  Hàm SEEK(F, i): Đặt vị trí con trỏ file vào vị trí RECORD thứ i (i được đếm từ 0). SEEK chỉ áp dụng cho file có định kiểu.  Thủ tục EARSE(F): Xoá file trên đĩa.  Thủ tục RENAME(F): Đổi tên file. TÓM LƯỢC [...]... Khai báo biến file văn bản: Var : Text;  Khai báo biến file định kiểu: Type = FiLE OF Kieuphantu; Var : (Tenkieufile>; Hoặc có thể khai báo trực tiếp như sau: Var : FiLE OF Kieuphantu;  Khai báo biến file không định kiểu: Var : FiLE;  Lệnh gán tên file: ASSiGN (F, Tenfile);  Lệnh mở file để đọc: RESET (F);  Lệnh mở file để ghi:... báo Phieudiem có kiểu Record gồm 13 phần tử  Thành phần HotenHS có kiểu chuỗi, các thành phần còn lại đều có kiểu số thực  Khai báo File có định kiểu  Khai báo biến HS có kiểu Phieudiem  Khai báo biến F có kiểu FilePhieudiem  Biến DK có kiểu Boolean, dùng làm điều kiện trong vòng lặp  Vì dùng kiểu File, đầu tiên bạn phải dùng lệnh gán Assign, theo điều kiện bạn phải dùng lệnh mở file để ghi Rewrite... Kiểu File là một cấu trúc dữ liệu gồm nhiều phần tử cùng kiểu được chứa trong thiết bị ngoài như đĩa cứng hay đĩa mềm  File dùng để lưu trữ dữ liệu trong một thời gian dài, ngay cả khi chương trình đã kết thúc  Chứa với khối lượng lớn  Để cung cấp cho một hay nhiều chương trình hoạt động ở nhiều thời điểm  Chúng ta có 3 loại file File văn bản (text) File có định kiểu File không định kiểu ... ghi các phần tử của một mảng so[] lên một file 3 Viết chương trình con đọc dữ liệu từ một file của các phần tử có kiểu Luong = record Hoten : String[40]; Mucluong : real; End; Vào một mảng, sắp xếp lại theo thứ tự tăng dần của vùng mức lương rồi ghi trở lại vào file 4 Viết chương trình dự đoán giải bóng đá Sea games 22, in kết quả dự đoán lên một file Cách dự đoán: cho điểm từng đội bóng theo các mục... cũng giống như bài trên  Để đọc File, chúng ta dùng lệnh Reset  Vòng lặp While sẽ in thông tin ra màn hình khi không phải là EOF (cuối tập tin)  Khi thực hiện chương trình, sẽ in ra một lần tất cả các học sinh mà bạn vừa nhập, nếu có quá nhiều học sinh, chúng ta chỉ thấy được màn hình cuối cùng, để thấy mỗi lần những thông tin của một học sinh mà thôi và cho biết đây là học sinh thứ mấy, bạn thêm một... phải dùng lệnh mở file để ghi Rewrite  Vòng lặp While để nhập các thông tin trong Phieudiem khi DK là true Nếu để trống phần HotenHS, gõ Enter, sẽ thoát khỏi vòng lặp vì DK lúc này là False  Chương trình trên dùng để nhập thông tin vào File, nếu muốn vừa nhập thông tin vào File đồng thời cũng cho xuất hiện ra màn hình các thông tin vừa nhập Bạn thay đổi chương trình một chút như sau: Program Vaodiem;... Lệnh đóng file: CLOSE (F); PHẦN THỰC HÀNH: 1 Tham khảo chương trình nhập điểm cho học sinh, khi không muốn nhập nữa thì phần họ tên học sinh bỏ trống Program Vaodiem; Type Phieudiem = Record HotenHs : String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF... String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; N : integer; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK do With HS do Begin Writeln(‘Ban de trong vung ho ten neu khong nhap tiep,... String[40]; Van : real; Toan : real; Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK do With HS do Begin Writeln(‘Ban de trong vung ho ten neu khong nhap tiep, go Enter.’);... Ngoaingu : real; Ly : real; Hoa : real; Sinh : real; Kythuat : real; Su : real; Dia : real; CD : real; TD : real; Nhac : real; Ve : real; End; FilePhieudiem = FiLE OF Phieudiem; Var HS : Phieudiem; F : FilePhieudiem; DK : Boolean; Begin Assign(F, ‘Lop’); Rewrite(F); DK := True; While DK do With HS do Begin Writeln(‘Ban de trong vung ho ten neu khong nhap tiep, go Enter.’); Write(‘Ho va ten hoc sinh: . điểm. 2. Cấu trúc và phân loại file. File là kiểu dữ liệu rất là quan trọng. Mọi dữ liệu cần lưu trữ trên đĩa mềm, đĩa cứng đều phải dùng đến kiểu file. Chúng ta có 3 loại file.  File văn. Giáo án tin học 9 BÀI KIỂU DỮ LIỆU CÓ CẤU TRÚC FILE KIẾN THỨC YÊU CẦU:  Biết khi nào cần sử dụng đến FILE.  Biết cách khai báo và sử dụng. . cho file có định kiểu.  Thủ tục EARSE(F): Xoá file trên đĩa.  Thủ tục RENAME(F): Đổi tên file. TÓM LƯỢC  Kiểu File là một cấu trúc dữ liệu gồm nhiều phần tử cùng kiểu

Ngày đăng: 26/07/2014, 12:21

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan