Bài giảng Tin học 11 - Chủ đề 5: Kiểu tệp - Năm học 2022-2023 - Nguyễn Lan Hương - Trường THPT Nguyễn Thái Học
Ví dụ 2.1: Đọc dữ liệu từ tệp văn bản có 2 dòng, mỗi dòng chứa 1 số tự nhiên lần lượt kí hiệu là m và n.
Đưa ra màn hình và tính tổng hai số m, n. Giả sử tệp dữ liệu là “input1.txt”
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 11 - Chủ đề 5: Kiểu tệp - Năm học 2022-2023 - Nguyễn Lan Hương - Trường THPT Nguyễn Thái Học", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
BÀI 14:KIỂU DỮ LIỆU TỆPBÀI 15: THAO TÁC VỚI TỆP BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP CHỦ ĐỀ 5: KIỂU TỆP Bài 14 Kiểu dữ liệu tệp Thö muïc duøng ñeå laøm gì? Đường dẫn D:\ KHOM 3 KHOM 5 PHUONG 8 KHOM 1 KHOM2 PHUONG 2 PHUONG 5 CA MAU Hãy chỉ ra đường dẫn đến tệp KHOM 1 D:\CAMAU\PHUONG 8\KHOM1 Một đường dẫn có cả tên ổ đĩa được gọi là đường dẫn đầy đủ của tệp. 1. 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. Tệp văn bản Tệp có cấu trúc 2. Phân loại tệp và thao tác với tệp: Tệp văn bản là tệp mà dữ liệu được ghi dưới dạng các kí tự theo mã ASCII. Trong tệp văn bản, dãy kí tự kết thúc bởi nhóm kí tự xuống dòng hay kí tự kết thúc tệp. Các dữ liệu dạng văn bản như sách, tài liệu, bài học, giáo án, các chương trình nguồn viết bằng ngôn ngữ bậc cao, ... thường được lưu trữ dưới dạng tệp văn bản. Tệp có cấu trúc là tệp chứa dữ liệu được tổ chức theo một cách thức nhất định. Dữ liệu ảnh, âm thanh,... thường được lưu trữ dưới dạng tệp có cấu trúc. Theo cách tổ chức dữ liệu: có 2 loại Tệp truy cập tuần tự Tệp truy cập trực tiếp 2. Phân loại tệp và thao tác với tệp: Tệp truy cập tuần tự cho phép truy cập đến một dữ liệu nào đó trong tệp chỉ bằng cách bắt đầu từ đầu tệp và đi qua lần lượt tất cả các dữ liệu trước nó. Tệp truy cập trực tiếp cho phép tham chiếu đến dữ liệu cần truy cập bằng cách xác định trực tiếp vị trí (thường là số hiệu) của dữ liệu đó. Theo cách thức truy cập: có 2 loại b) Thao tác 2. Phân loại tệp và thao tác với tệp: Khác với List, số lượng phần tử của tệp không xác định trước. Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp . Thao tác đọc/ghi với tệp được thực hiện với từng phần tử của tệp. Để có thể thao tác với kiểu dữ liệu tệp, người lập trình cần tìm hiểu cách thức mà NNLT cung cấp: + Mở tệp. + Đọc/ghi dữ liệu. + Đóng tệp. Bài 15 THAO TÁC VỚI TỆP Mở tệp để ghi Mở tệp để đọc Ghi dữ liệu vào tệp Đọc dữ liệu từ tệp Đóng tệp BÀI 15 : THAO TÁC VỚI TỆP 1. Mở tệp BÀI 15: THAO TÁC VỚI TỆP Để có thể đọc và ghi một tệp thì mở tệp là công việc đầu tiên. Python cho phép chúng ta thực hiện điều đó với hàm open() . Lệnh open() cơ bản có 2 tham số với cú pháp: = open ( , mode ) Trong đó: : là tên biến tệp do người lập trình đặt. : là tên của tệp văn bản cần mở. mode : quy định cách thức mà tập tin, mode sẽ có dạng là “r” – chỉ đọc và “w” – mở để ghi . Khi bị bỏ qua thì mặc định sẽ là ký tự “r” . 1. Mở tệp BÀI 15: THAO TÁC VỚI TỆP = open ( , mode ) Ví dụ: Tạo đối tượng fDoc và fGhi thông qua lệnh open(). fDoc = open("D:\input1.txt", " r ") fGhi = open("D:\input2.txt", " w ") 1. Mở tệp: . 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP a. Ghi tệp văn bản Cú pháp Mô tả .write( ) .writelines( ) Ghi ra tệp tính từ vị trí đọc hiện thời Ghi một danh sách các xâu ký tự (List of string) ra tệp tính từ vị trí đọc hiện thời. Mỗi xâu được ghi trên một dòng 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP a. Ghi tệp văn bản Lưu ý: Muốn sau mỗi lệnh write() xuống dòng thì cần chèn dãy điều khiển “\n” vào cuối mỗi xâu ký tự. Tất cả dữ liệu đọc từ file text đều có kiểu xâu (str). Vì vậy nếu là các chữ số, khi đọc vào phải ép kiểu thành number mới có thể thực hiện các phép toán số học. 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP a. Ghi tệp văn bản Ví dụ: Chương trình Kết quả: 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP a. Ghi tệp văn bản Ví dụ: Chương trình Kết quả: 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP b. Đọc tệp văn bản Cú pháp Mô tả .read() Đọc toàn bộ nội dung của tệp .readline() Đọc từng dòng (tiếp theo) của tệp .readlines() Đọc toàn bộ nội dung của tệp vào một danh sách List mà mỗi phần tử là một xâu ký tự, là một dòng của tệp vừa đọc 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP b. Đọc tệp văn bản Ví dụ 1: Đọc dữ liệu từ tệp văn bản và đưa ra màn hình nội dung của tệp này. Giả sử tệp dữ liệu là “ input1.txt ” 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP b. Đọc tệp văn bản Ví dụ 2.1: Đọc dữ liệu từ tệp văn bản có 2 dòng, mỗi dòng chứa 1 số tự nhiên lần lượt kí hiệu là m và n. Đưa ra màn hình và tính tổng hai số m, n. Giả sử tệp dữ liệu là “input1.txt” 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP b. Đọc tệp văn bản Ví dụ 2.2: Đọc dữ liệu từ tệp văn bản có một dòng chứa 2 số tự nhiên lần lượt kí hiệu là m và n. Đưa ra màn hai số m, n. Giả sử tệp dữ liệu là “input2.txt” 2. Đọc/ghi tệp văn bản BÀI 15: THAO TÁC VỚI TỆP b. Đọc tệp văn bản Ví dụ 3: Đọc dữ liệu từ tệp văn bản có sẵn. Đưa dữ liệu ra màn hình. Giả sử tệp dữ liệu là “input2.txt” 3. Đóng tệp BÀI 15: THAO TÁC VỚI 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ệ thống mới thực sự hoàn tất việc ghi dữ liệu ra tệp. Thủ tục đóng tệp có dạng: . close() Ví dụ: fDoc.close() fGhi.close() 3. Đóng tệp BÀI 15: THAO TÁC VỚI TỆP . close() * Một số lưu ý khác: Hàm tell(): cho biết vị trí hiện tại bên trong tệp. Hàm seek( ): thay đổi vị trí hiện tại bên trong tệp. Có thể sử dụng vòng lặp for để đọc lần lượt các dòng nội dung của tệp như kiểu dữ liệu tuần tự: 3. Đóng tệp BÀI 15: THAO TÁC VỚI TỆP Ví dụ 1: BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP Chương trình đọc 2 số nguyên là chiều dài và chiều rộng của một HCN trong tệp “D:\input.txt”. Ghi kết quả là chu vi và diện tích của HCN đó vào tệp “D:\output.txt”. Ví dụ 2: BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP Input2.txt Output2.txt 15 10 12 3 30 40 5 3 10 Viết chương trình tính UCLN của 2 số tự nhiên m, n và in kết quả ra tệp. Ví dụ các tệp này như sau. Ví dụ 2: BÀI 16: VÍ DỤ LÀM VIỆC VỚI TỆP Viết chương trình tính UCLN của 2 số tự nhiên m, n và in kết quả ra tệp.
Tài liệu đính kèm:
- bai_giang_tin_hoc_11_chu_de_5_kieu_tep_nam_hoc_2022_2023_ngu.ppt