1. Trang chủ
  2. » Giáo án - Bài giảng

bai 14-15(11)

9 377 0

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

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 9
Dung lượng 86,5 KB

Nội dung

- Nhờ những đặc điểm như trên, dữ liệu kiểu tệp thường được dùng lưu trữ các dữ liệu của bài toán ở bộ nhớ ngoài để xử lí nhiều lần.. Dữ liệu kiểu tệp có vai trò quan trọng như vậy, để b

Trang 1

CHƯƠNG V: TỆP VÀ THAO TÁC VỚI TỆP

BÀI 14: KIỂU DỮ LIỆU TỆP BÀI 15: THAO TÁC VỚI TỆP

Người soạn: Nguyễn Thị Huê Ngày soạn: 02/11/2008

GV hướng dẫn: Nguyễn Văn Trường

I MỤC ĐÍCH, YÊU CẦU

- Học sinh hình thành khái niệm, ý thức được vai trò, cách phân loại của dữ liệu kiểu tệp

- Hiểu được bản chất và một số thao tác làm vệc trên dữ liệu kiểu tệp

II.CHUẨN BỊ

Giáo viên chuẩn bị hai bảng phụ về các thao tác với tệp

III NỘI DUNG

1 Ổn định lớp

2 Bài mới

Hoạt động của giáo viên Hoạt động của học sinh TG

Ở 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ó đề được lưu tại bộ nhớ

trong Do đó, khi thoát chương trình,

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

Nghe giảng

Trang 2

phép thực hiện điều đó: kiểu tệp Để

hiểu rõ hơn, chúng ta cùng đi tìm hiểu

bài mới:

Chương V: Tệp và thao tác với tệp

Bài 14: Kiểu dữ liệu tệp

1 Vai trò của kiểu tệp

- Ở lớp 10, các em đã được biết khái

niệm về tệp Tệp là một tập hợp các

thông tin ghi trên bộ nhớ ngoài, tạo

thành một đơn vị lưu trữ

- Để hình dung về tệp, em hãy đọc SGK

và cho biết đặc điểm của nó?

- Nhờ những đặc điểm như trên, dữ liệu

kiểu tệp thường được dùng lưu trữ các

dữ liệu của bài toán ở bộ nhớ ngoài để

xử lí nhiều lần Đặc biệt là các bài toán

lớn

- Trả lời: Đặc điểm của kiểu tệp:

+ Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ nhớ ngoài, không

bị mất khi tắt nguồn điện

+ Lượng lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa

- Vai trò của dữ liệu kiểu tệp: Dùng lưu trữ các dữ liệu của bài toán ở bộ nhớ ngoài để xử

lí nhiều lần Đặc biệt là các bài toán lớn

2 Phân loại tệp và thao tác với tệp

- Em hãy đọc SGK, nêu các cách phân

loại tệp, với mỗi cách thì có những loại

tệp nào?

- Trả lời:

Có hai cách phân loại tệp + Xét theo cách tổ chức dữ liệu:

Tệp văn bản

Trang 3

- Lưu ý: Khác với dữ liệu kiểu mảng

hay kiểu xâu, dữ liệu kiểu tệp không có

giới hạn và không phải xác định trước

Tệp có cấu trúc

+ Xét theo cách thức truy cập: Tệp truy cập tuần tự

Tệp truy cập trực tiếp

Dữ liệu kiểu tệp có vai trò quan trọng

như vậy, để biết cách sử dụng nó như

thế nào, ta chuyển sang bài mới:

Bài 15: Thao tác với tệp

- Trong chương trình, ta chỉ xét kiểu tệp

văn bản Các thao tác trên tệp bao gồm:

Khai báo biến tệp, gắn tên tệp, mở tệp,

đọc/ghi văn bản và đóng tệp Em có thể

hình dung qua sơ đồ sau: (bảng phụ 1)

Ta cùng đi vào từng thao tác cụ thể

1 Khai báo

- Tệp văn bản là kiểu dữ liệu có cấu

trúc đã được Pascal định nghĩa sẵn

- Dạng khai báo như sau:

Var <biến tệp>: text;

Var, text là các từ khóa; biến tệp do

người dùng đặt

2.Thao tác với tệp

a Gắn tên tệp

- Trong lập trình, ta không thao tác trực

tiếp với tệp dữ liệu trên đĩa, mà thông

qua biến tệp Tức là, ngôn ngữ lập trình

- Nghe giảng

- Ghi bài.

- Dạng khai báo:

Var <biến tệp>: text;

Var, text là các từ khóa; biến tệp do người dùng đặt

- Tên tệp đặt theo quy tắc của HĐH MSDOS

Trang 4

sử dụng biến tệp như một đại diện của

tệp

Gắn tên tệp chính là gắn tệp với đại

diện của nó

- Em hãy nêu thủ tục gắn tên tệp?

Tên tệp trong Pascal được đặt theo quy

tắc của HĐH MSDOS, được đặt trong

cặp nháy đơn ‘’

- VD: Assign(f, ‘input.txt’);

- Tên tệp có thể là đường dẫn chứa ổ

đĩa, danh sách các thư mục lên tiếp

cách nhau bởi dấu \, cuối cùng là tên

tệp

- VD:Assign(f,‘C:\document\input.txt’);

b Mở tệp

- Tệp có thể dùng để chứa kết quả ra

hoặc dữ liệu vào Việc mở tệp cũng có

kiểu mở để ghi dữ liệu vào tệp hoặc mở

để đọc dữ liệu từ tệp ra

* Mở để ghi dữ liệu vào tệp, ta dùng thủ

tục: Rewrite (<biến tệp>);

Trong đó, biến tệp là biến đã được gắn

với một tên tệp trong thủ tục Assign

- Khi thực hiện thủ tục này, nếu trên

thư mục đã có tệp cùng tên thì nội dung

cũ bị xóa; ngược lại, chương trình sẽ

tạo ra một tệp mới với nội dung rỗng

* Mở tệp để đọc nội dung từ tệp, ta

- Trả lời: Thủ tục gắn tên tệp: Assign (<biến tệp>,<tên tệp>);

- Tên tệp trong Pascal được đặt theo quy tắc của HĐH MSDOS, được đặt trong cặp nháy đơn ‘’

Tên tệp có thể là đường dẫn chứa ổ đĩa

- Nghe giảng

* Mở để ghi dữ liệu vào tệp: Thủ tục: Rewrite (<biến tệp>);

- Nếu trên thư mục đã có tệp cùng tên thì nội dung cũ bị xóa; ngược lại, chương trình sẽ tạo ra một tệp mới với nội dung rỗng

Trang 5

dùng thủ tục sau: Reset(<biến tệp>);

Trong đó, biến tệp là biến đã được gắn

với một tên tệp trong thủ tục Assign

- Khi mở tệp, vị trí con trỏ ở đầu tệp,

sẵn sàng để đọc

c Đọc/ghi tệp văn bản.

* Đọc tệp văn bản

- Việc đọc tệp văn bản ra danh sách các

biến cũng có ý nghĩa như nhập dữ liệu

từ bàn phím cho các biến đó

- Thủ tục: Read(<biến tệp>,<danh sách

các biến>);

Hoặc: Readln(<biến tệp>,<danh sách

các biến>);

- Câu lệnh thực hiện: đọc các giá trị tại

vị trí con trỏ gán sang biến tương ứng

cùng kiểu

- Lưu ý: biến ở đây không phải là biến

tệp; mà là biến trung gian, chỉ dùng cho

việc tính toán

Danh sách các biến có thể là một hoặc

nhiều biến đơn, đặt cách nhau dấy phẩy

- Đọc tệp tương ứng với thủ tục mở tệp

ra để đọc

- VD: Reset(f);

*Mở tệp để đọc nội dung từ tệp:

Thủ tục: Reset(<biến tệp>); Biến tệp là biến đã được gắn với một tên tệp trong thủ tục Assign

- Khi mở tệp, vị trí con trỏ ở đầu tệp, sẵn sàng để đọc

c Đọc/ghi tệp văn bản.

* Đọc tệp văn bản

- Thủ tục:

Read(<biến tệp>,<danh sách các biến>);

Hoặc:

Readln(<biến tệp>,<danh sách các biến>);

Danh sách các biến có thể là một hoặc nhiều biến đơn, đặt cách nhau dấy phẩy

Trang 6

Read (f, a, b);

* Ghi tệp văn bản

- Việc ghi tệp văn bản có ý nghĩa giống

như ghi ra màn hình

- Thủ tục: Write(<biến tệp>,<kết quả>);

Hoặc: Writeln(<biến tệp>,<danh sách

kết quả>);

- Danh sách kết quả có thể là các biến,

hằng, biểu thức

- Ghi tệp tương ứng với thủ tục mở tệp

ra để ghi

- VD: Rewrite(f);

Write(f, ‘ket qua:’, a);

* Một số hàm chuẩn thường dùng:

- Khi đọc tệp văn bản, cần phải xem tệp

đó có còn phần tử không Tức là, con

trỏ tệp đã chỉ đến cuối tệp chưa

- Hàm Eof(<biến tệp>) trả về giá trị

True nếu con trỏ tệp đang chỉ tới cuối

tệp

Hàm Eoln(<biến tệp>) trả về giá trị

True nếu con trỏ tệp đang chỉ tới cuối

dòng

- VD: Đọc tệp f có nhiều dòng văn bản:

Reset (f);

While not eof(f) do readln(f, s);

Vòng lặp được thực hiện cho tới khi

con trỏ tệp trỏ tới cuối tệp Mỗi lần thực

hiện vòng lặp, sẽ đọc một dòng của tệp

* Ghi tệp văn bản

- Thủ tục:

Write(<biến tệp>,<danh sách kết quả>);

Hoặc:

Writeln(<biến tệp>,<danh sách kết quả>);

Danh sách kết quả có thể là các biến, hằng, biểu thức

* Một số hàm chuẩn thường dùng:

- Eof(<biến tệp>): trả về giá trị True nếu con trỏ tệp đang chỉ tới cuối tệp

- Eoln(<biến tệp>): trả về giá trị True nếu con trỏ tệp đang chỉ tới cuối dòng

Trang 7

ra biến S, sau đó chuyển con trỏ xuống

dòng tiếp theo

d Đóng tệp

- Sau khi làm việc xong với tệp cần

phải đóng tệp Khi đóng tệp, hệ thống

mới thực sự hoàn tất việc ghi dữ liệu ra

tệp, nếu không thì không có dữ liệu nào

được ghi vào tệp hoặc chỉ được ghi một

phần

- Thủ tục: Close(<biến tệp>);

- Em hãy lấy VD?

- Như vậy, chúng ta đã tìm hiểu các

thao tác cơ bản khi làm việc với tệp Ta

có thể hệ thống lại như sau: (bảng phụ

2)

d Đóng tệp

- Sau khi làm việc xong với tệp cần phải đóng tệp

- Thủ tục: Close(<biến tệp>);

- VD: Close(f);

IV CỦNG CỐ

- Nhắc lại về vai trò và phân loại của dữ liệu kiểu tệp, các thao tác với tệp

- BTVN: Đọc trước bài 16 và tìm hiểu các ví dụ về tệp

Trang 8

V NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

Bảng phụ 1:

Trang 9

Bảng phụ 2:

Var <biến tệp>: text;

Assign(<biến tệp>,<tên tệp>);

Reset (<biến tệp>);

Rewrite (<biến tệp>);

Close (<biến tệp>) Write(<biến tệp>,<danh dách kết quả>); Read (<biến tệp>,<danh sách biến>);

Đọc Ghi

Ngày đăng: 30/06/2014, 16:00

Xem thêm

HÌNH ẢNH LIÊN QUAN

Bảng phụ 1: - bai 14-15(11)
Bảng ph ụ 1: (Trang 8)
Bảng phụ 2: - bai 14-15(11)
Bảng ph ụ 2: (Trang 9)
w