III- Hoạt động dạy học
Thao tỏc với tệp
tệp Hai cỏch phõn loại tệp: Theo cỏch tổ chức dữ liệu -tệp văn bản -tệp cú cấu trỳc 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
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
Đ15. thao tác với tệp
1.Khai bỏo tệp văn bản :
VAR <Tờn biến tệp>: TEXT; Vd Var f : text;
2.Gỏn tờn tệp :
ASSIGN(< Tờn biến tệp>, <Tờn tệp>);
màn hỡnh nhưng muốn sử dụng kết quả đú về sau thỡ khụng được. Do đú ta cú kiểu dữ liệu tệp.
Hoạt động 2. Đặc điểm của kiểu dữ liệu tệp.(7’)
Hỏi: Cỏc kiểu dữ liệu trước được lưu trữ ở bộ nhớ nào?
Khi tắt mỏy hoặc mất điện thỡ dữ liệu lưu trữ trong bộ nhớ này sẽ như thế nào?
Để lưu giữ dữ liệu lõu dài nhằm khai thỏc, xử lớ thụng tin đú ta phải lưu nú ở bộ nhớ ngoài thụng qua kiểu dữ liệu tệp.
Yờu cầu học sinh đọc sỏch giỏo khoa và nhắc lại đặc điểm của kiểu dữ liệu tệp?
Hoạt động 3.Phõn loại tệp và thao tỏc với tệp(4’)
Cú mấy loại tệp( theo cỏch tổ chức dữ liệu), trỡnh bày khỏi niệm cỏc loại tệp?
Giới thiệu cho HS biết hai cỏch phõn loại tệp.
Cú hai thao tỏc cơ bản khi làm việc với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp.
Hoạt động 4. Thao tỏc với tệp(5’) Yờu cầu HS nhắc lại cỏc thao tỏc cơ bản khi làm việc với tệp.
Giới thiệu cấu trỳc chung của khai bỏo biến tệp và giải thớch
Khai bỏo - Với tệp văn bản là :
VAR <Tờn biến tệp> : TEXT; Vớ dụ: yờu c ầu học sinh khai bỏo t ệp
Thao tỏc với tệp
Cỏc thao tỏc với tệp chia thành bốn nhúm : Gỏn tờn tệp; Mở tệp; Vào/Ra dữ liệu; Đúng tệp. Hoạt động 4.1 Gỏn tờn tệp(4’)
Để thao tỏc với tệp, trước hết phải gỏn tờn tệp cho biến tệp bằng cõu lệnh : Trả lời: RAM Dữ liệu sẽ mất đi Khụng mất dữ liệu khi tắt mỏy
Dung lượng dữ liệu được lưu trữ lớn
Cú 2 loại tệp:tệp cú cấu trỳc và tệp văn bản.
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. tệp cú cấu trỳc: 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
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
Nội dung HĐ GIÁO VIấN HĐ HỌC SINH Vd1 MYFILE := 'DULIEU.DAT'; ASSIGN(F2,MYFILE); hoặc ASSIGN(F2,'DULIEU.DAT'); Vd2 MYFILE := 'C:\INP.DAT'; ASSIGN(F3,MYFILE); 3.Mở tợ̀p :
Đờ̉ đọc : RESET(<Tờn biờ́n tợ̀p>);
Đờ̉ ghi : REWRITE(<Tờn biờ́n tợ̀p>);
Vớ dụ 1 TF := 'C:\KQ.DAT'; ASSIGN(F3,TF); REWRITE(F3); Vớ dụ 2 Để đọc dữ liệu từ tệp DL.INP ta cú thể mở tệp bằng : ASSIGN(F1, 'DL.INP'); RESET(F1); 4.Đọ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ả>);
Vớ dụ 1
Lệnh ghi giỏ trị biến A vào
tệp gắn với biến tệp F3 :
WRITE(F3,A);
Vớ dụ 2
Lệnh đọc giỏ trị từ tệp gắn với
biến tệp F1 và gỏn cho biến C :
READ(F1,C);
5.Đúng tệp
Sau khi làm viợ̀c xong phải đúng tợ̀p bằng cõu lệnh :
CLOSE(<Tờn biến tệp>);
Vớ dụ: CLOSE(F1); CLOSE(F3);
Một số hàm và thủ tục chuẩn thường dựng trong thao tỏc tệp
Hàm lụ gớc EOF(<Tờn biến tệp>);
Cho giỏ trị True nếu con trỏ tệp đang chỉ tới cuối tệp.
Hàm lụgớc EOFLN(<Tờn biến
tệp>) Cho giỏ trị True nếu con trỏ tệp đang chỉ tới cuối dòng.
ASSIGN(< Tờn biến tệp>,<Tờn
tệp>);
Trong đú Tờn tệp là biến xõu hoặc hằng xõu.
Vớ dụ 1 Giả thiết cú biến xõu MYFILE và cần gỏn biến tệp F2 với tệp cú tờn DULIEU.DAT. Việc gỏn tờn tệp được thực hiện bằng cỏc cõu lệnh ?
Vớ dụ 2 Để chuẩn bị thao tỏc với tệp cú tờn là INP.DAT trờn thư mục gốc đĩa C: ta dựng cỏc cõu lệnh sau để gắn nú với tệp F3?
Hoạt động 4.2 Mở tệp(10’)
Tệp cú thể dựng để chứa kết quả ra hoặc dữ liệu vào. Trước khi mở tệp, biến tệp phải được gỏn tờn tệp bằng thủ tục ASSIGN.
Cõu lệnh mở tệp để ghi kết quả cú dạng :
REWRITE(<Tờn biến tệp>);
Khi thực hiện lệnh REWRITE(F3), nếu trờn thư mục gốc C:\ chưa cú tệp KQ.DAT, thỡ tệp sẽ được tạo với nội dung rỗng. Nếu tệp này đó cú, thỡ nội dung của nú sẽ bị xoỏ để chuẩn bị ghi thụng tin mới. Để chuẩn bị đọc dữ liệu từ tệp đó cú ta mở tệp bằng cõu lệnh : RESET(<Tờn biến tệp>); Hoạt động 4.3 Đọc/ghi tệp (6’) Tệp định kiểu mở bằng thủ tục REWRITE chỉ cú thể ghi dữ liệu bằng thủ tục WRITE. Cõu lệnh ghi cú dạng :WRITE(<Tờn biến
tệp>,<Tờn Biến >);
Nếu tệp được mở bằng thủ tục RESET thỡ cú thể đọc thụng tin. Cõu lệnh đọc cú dạng:
READ(<Tờn biến tệp>,<Tờn biến >);
Yờu cầu học sinh cho vớ dụ và giải thớch
Hoạt động 4.4 Đúng tệp (3’)
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
Assign(f1, ‘b1.inp’); Rewrite(f1); Assign(f1, ‘b1.out’); Reset(f1); Readln(f,x1,x2); Đọc dữ liệu từ biến tệp f,đặt giá trị vào hai biến x1 và x2.
Writeln(f, ‘hieu la’,x1-x2); Ghi vào biến tệp f hai tham số là dòng chữ ‘hieu la’ và giá trị x1-x2
Học sinh ghi bài Close(f1); Eof(f1);
Nội dung HĐ GIÁO VIấN HĐ HỌC SINH
thụng tin vào tệp.
Cõu lệnh đúng tệp cú dạng :
CLOSE(<Tờn biến tệp>);
Một tệp, sau khi đúng cú thể mở lại. Khi mở lại tệp, nếu vẫn dựng biến tệp cũ thỡ khụng cần thiết phải dựng thủ tục ASSIGN gỏn lại tờn tệp.
Hoạt động 4.5 Một số hàm và thủ tục chuẩn thường dựng trong thao tỏc tệp(2’)
Giới thiệu HS biết hai hàm chuẩn và ý nghĩa của nú.
IV-Củng cố
Nờu đặc điểm của kiểu dữ liệu tệp
Hóy cho biết những khỏc biệt giữa tệp định kiểu và tệp văn bản. Cho biết cỏc thao tỏc cơ bản khi làm việc với tệp.
Sơ đồ làm việc với tệp dựng để nhập thụng tin phải cú những lệnh cơ bản nào? Cỏc thao tỏc với tệp được mụ tả trong hỡnh16
Ghi tệp:Gán tên tệp,tạo tệp mới, ghi thông tin, đóng tệp. Đọc tệp: Gán tên tệp,mở tệp, đọc thông tin, đóng tệp.
ASSIGN(<Tên biến tệp>,<Tên tệp>);
REWRITE(<Tên biến tệp>); RESET(<Tên biến tệp>);
WRITE(<Tên biến tệp>,<ds ket qua>);
CLOSE(<Tên biến>); tệp>);
Ghi Đọc
Hỡnh 16. Sơ đồ làm việc với tệp
Ngày soạn: Tiết PPCT: 38
Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆP
I: Mục tiờu:
3. Kiến thức:
- Củng cố lại kiến thức đó học về tệp trong bài 14, 15 của chương V thụng qua vớ dụ
4. Kỹ năng:
- Nhận biết được cỏc cỏch hoạt động của tệp.
- Biết sử dụng cỏc thủ tục và hàm liờn quan để giải quyết bài toỏn.
- Nắm được chức năng của cỏc thủ tục và hàm để thao tỏc với tệp.
II. Chuẩn bị của GV và HS:
- GV: Giỏo ỏn, SGK, sỏch GV, mỏy chiếu, sỏch bài tập, mỏy tớnh cú soạn sẵn cỏc vớ dụ.
- HS: Sỏch GK.
III. Phương phỏp:
- Đặt vấn đề.
- Thuyết trỡnh.
- Diễn giải, dựng bảng để ghi lại cỏc chi tiết quan trọng trong vớ dụ
IV. Tiến trỡnh bài học.
* Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới. (7’) - Mục tiờu: + ễn lại kiến thức đó học ở bài 14, 15
+ Vận dụng để giải quyết một vấn đề cụ thể trong thực tế. - Cỏc bước tiến hành:
Hoạt động của thầy Hoạt động của trũ Nội dung
1. Nhắc lại kiến thức cũ.
- Gọi 1 HS nhắc lại cỏc hàm và thủ tục liờn quan đến tệp.
- Gọi 1 HS khỏc nhận xột và bổ sung cho đầy đủ.
- Nhận xột chung về ý kiến của 2 HS đó trỡnh bày.
2. Giới thiệu bài mới
- HS đứng dậy và trả lời cõu hỏi.
Var <tờn biến tệp>:text; Assign(<biến tệp>,<tờn tệp>); Rewrite(<biến tệp>);
...
- Nhận xột và bổ sung thờm cỏc hàm, thủ tục cũn cũn thiếu. - HS Lắng nghe lời giảng của GV. - Ghi lại những hàm và thủ tục mà HS 1 đó nờu. - Bổ sung những thiếu sút của HS1. - Đỏnh số thứ tự trờn cỏc hàm thủ tục đó ghi ở bảng.
- Nờu lờn vai trũ của tệp trong việc xử lý và lưu trữ thụng tin, ỏp dụng vào thực tế. ( Sơ lược VD1)
- HS hướng theo sự dẫn dắt của GV để đi vào VD 1.
* Hoạt động 2 : Tỡm hiểu VD1 và VD2. (34’)
Hoạt động của thầy Hoạt động của trũ Nội dung
1. Tỡm hiểu VD 1.
- Gọi 1 HS đọc VD1
- Nhấn mạnh những điểm quan trọng cần lưu ý trong VD1. - Gợi ý cỏch giải quyết bài toỏn, để giải được bài bài toỏn này ta cần phải nắm được cụng thức tớnh khoảng cỏch giữa 2 điểm.
- Nhắc lại cụng thức tớnh khoảng cỏch giữa 2 điểm trờn mặt phẳng toạ độ.
- ? Trong VD này ta cần tổ chức và lưu trữ dữ liệu trong tệp ở dạng nào ?
- ? Cỏc thao tỏc liờn quan đến tệp được sử dụng trong VD này gồm những gỡ ? - ?Cỏc hàm và thủ tục nào sẽ sử dụng trong VD này ? - ?Hàm Eof(<biến tệp>) cú chức năng gỡ ? - ?Cú thể thay thế lệnh While..do bằng lệnh For..to..do được khụng ? - Kết luận lại những vấn đề đó nờu.
- Thực hiện chương trỡnh cho HS thấy được kết quả.
2. Tỡm hiểu VD2.
- Gọi HS đọc VD2.
- Theo dừi VD1.
- Lắng nghe hướng dẫn của GV.
- HS trả lời : Cần tổ chức và lưu trữ tệp ở dạng văn bản. - HS trả lời : Khai bỏo tệp. Gắn tờn tệp. Mở tệp để đọc dữ liệu. Hiện kết quả ra màn hỡnh. Đúng tệp. - HS trả lời : Cỏc hàm sẽ sử dụng là: Var Assign Reset While..do Eof Read Writeln Close - HS trả lời: Trả về kết quả là True nếu con trỏ chỉ ở cuối tệp. - Khụng, vỡ khụng biết trước số lượng phần tử của tệp.
- Lắng nghe giải thớch của thầy. - Theo giỏi quỏ trỡnh thực hiện của GV.
- Theo dừi VD 2 trong SGK.
- Ghi lại cụng thức tớnh khoảng cỏch giữa 2 điểm lờn bảng để HS nắm rừ.
Var <tờn biến tệp>: text;
Assign(<biến tệp>, <tờn tệp>);
Reset(<biến tệp>);
While..do Eof(<biến tệp>);
Read(<biến tệp>,<DS biến>);
Writeln(<biến tệp>);
Close(<biến tệp>);
- Trỡnh bày nội dung CT lờn bảng.
- Nhắc lại cụng thức tớnh địờn trở tương đương của 3 điện trở mắc song song.
- Gọi HS trỡnh bày cỏch tớnh điện trở tương đương của cỏc điện trở được mắc như trong hỡnh 1 đến 5.
- Nhận xột và sửa sai.
- Cho HS đọc qua nội dung CT của VD2.
- ? Mảng a dựng để làm gỡ? - ? Dũng lệnh For..to.. do cú ý nghĩa gỡ?
-? Tại sao phải dựng 2 hàm Close?
- Tổng kết lại CT của VD2 - Yờu cầu HS về tỡm hiểu lại VD2 qua sự hướng dẫn trờn lớp.
- HS lắng nghe lời giảng của GV.
- HS nhỡn lờn bảng để theo dừi. - Theo dừi nội dung CT của VD2 trong SKG.
- HS trả lời: Dựng để lưu kết quả điện trở tương đương của 3 điện trở được mắc theo 5 cỏch như hỡnh vẽ.
- Vỡ CT dựng 2 biến tệp f1và f2 nờn ta phải dựng 2 hàm Close để đúng 2 tệp đú.