Giáo án Tin - Tệp và xử lí tệp

Thuyết trình:

- readln(n): nhập n từ bàn phím.

- assign(f,tf): gán tên tệp là"GAPKHUC.INP" cho biến tệp f.

- rewrite(f): mở tệp f ra để ghi.

- readln(x,y): toạ độ x,y của các đỉnh nhập từ bàn phím.

- writeln(f,x,' ',y): ghi vào file f

toạ độ x,y của các đỉnh.

-Chú ý close(f): đóng tệp.

*(Lần lượt vừa hỏi vừa giải thích các lệnh trong chương trình).

pdf8 trang | Chia sẻ: maiphuongdc | Ngày: 27/02/2014 | Lượt xem: 2393 | Lượt tải: 0download
Bạn đang xem nội dung tài liệu Giáo án Tin - Tệp và xử lí tệp, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
Bài 15:TỆP VÀ XỬ LÍ TỆP A. Mục đích yêu cầu: 1. Về kiến thức : - Học sinh nắm được về kiểu dữ liệu tệp: tệp định kiểu, tệp văn bản. - Học sinh thao tác xử lí được với kiểu dữ liệu tệp. 2. Về tư tưởng và tình cảm. - Nhấn mạnh nội dung kiến thức của bài học trước: khai báo tệp, xử lí tệp. - Giúp học sinh hiểu thêm kiểu dữ liệu tệp, giải được các bài toán liên quan tới kiểu dữ liệu tệp. Học sinh thêm hứng thú với bài học. B. Phương pháp, phương tiện. 1.Phương pháp: - Kết hợp các phương pháp giảng dạy: thuyết trình, vấn đáp, hướng dẫn,giải thích,trình chiếu... 2. Phương tiện dạy học: - Sách giáo khoa lớp 11. - Sách tham khảo (nếu có). - Vở ghi lí thuyết. C. Tiến trình lên lớp, nội dung bài giảng. I. Ổn định lớp(1'). - Yêu cầu lớp trưởng báo cáo sĩ số. II. Kiểm tra bài cũ và gợi động cơ (5'). -Tóm tắt nội dung bài học hôm trước: Bài học hôm trước chúng ta đã được làm quen với kiểu dữ liệu tệp. Các em đã biết cách khai báo một biến tệp và các thao tác với với tệp: gán tên tệp, mở tệp, vào ra dữ liệu, đóng tệp... - Câu hỏi kiểm tra bài cũ : + Cho biết sự khác biệt giữa tệp định kiểu và tệp văn bản? + Các câu lệnh, các hàm và thủ tục khi thao tác với tệp? => Các thao tác với tệp: - Giới thiệu nội dung bài học: Sau đây, chúng ta sẽ vận dụng các kiến thức đã học từ bài học trước để đi làm một vài ví dụ về tệp định kiểu và tìm hiểu về cách đọc và ghi với tệp văn bản. III. Nội dung bài giảng. TT Nội dung Hoạt động của thầy và trò T.gian 1 - VD1: Chương trình nhập từ bàn phím số học sinh của một lớp và kết của kiểm tra môn tin học của các học sinh trong lớp. Ghi kết quả ra tệp KQ.DAT, mỗi -Hỏi:Cách khai báo biến tệp? Thuyết trình: + Phần tử của tệp là một bản ghi: Tyte Banghi= record 7' phần tử của tệp là một bản ghi bao gồmhọ và tên (xâu không quá 28 kí tự) và điểm môn tin học (kiểu BYTE). -Chương trình: Program KQ_Tin; Uses Crt; Tyte Banghi = record hoten : string[28]; diem : byte; end; var bg: Banghi; f : file of Banghi; n,i : Intrger; tentep : string [10]; BEGIN Clrscr; write(' So hoc sinh: "); readln(n); tentep:= 'KQ.DAT'; assign(f,tentep); rewrite(f); For i:=1 to n do Begin write('Ho va ten: '); readln(bg.hoten); write('Diem : '); readln(bg.diem); write(f,bg); end; close(f); END. hoten : string[28]; diem : byte; end; var bg: Banghi; + Biến tệp: F : file of Banghi; - assign(f,tentep): gán tên tệp là KQ.DAT cho biến tệp f. - rewrite(f): Mở tệp f để ghi, nếu chưa có thì sẽ được tạo, còn có rồi thì nội dung sẽ bị xoá. - write(f,bg): ghi giá trị của biến bg vào tệp f - Chú ý: close(f): sau khi ghi xong thì nhớ phải đóng tệp. 2 - VD2: Chương trình đọc tệp KQ.DAT ở VD1, tính và đưa ra màn hình điểm trung bình môn Tin học của lớp (chính xác đến chữ số thập thứ nhất) . - Chuơng trình: Program Vidu2; Uses crt; Tyte Banghi = record hoten : string[28]; -Hỏi: cách khai báo? giống VD1. Thuyết trình: - assign(f,tentep): gán tên tệp là KQ.DAT cho biến tệp f. - reset(f): đọc dữ liệu từ tệp f - not eof(f): Khi con trỏ tệp chưa trỏ tới cuối tệp - Chú ý: close(f): sau khi đọc xong thì nhớ phải đóng tệp. 6' diem : byte; end; var bg: Banghi; f : file of Banghi; n,tg : Intrger; tentep : string [10]; dtb : real; BEGIN Clrscr; n := 0; tg := 0; tentep := 'KQ.DAT'; assign(f.tentep); reset(f); while not eof(f) do Begin read(f,bg); tg := tg +bg.diem; n := n + 1; end; dtb := tg/n; writeln(' diem trung binh cua lop: ',dtb:4:1); close(f); END. 3 - Đọc/ghi tệp văn bản: + Thủ tục đọc có dạng: read(,<Danh sách biến>); hoặc: readln(,<Danh sách biến>) + Thủ tục ghi có dạng: Write(,<Danh - Danh sách biến: là một hoặc nhiều biến, trong trường hợp nhiều biến thì tên các biến cách nhau bởi dấu phẩy. - Danh sách kết quả: gồm một hoặc nhiều phần tử,trong trường hợp nhiều phần tử thì các phần tử cách nhau bởi dấu phẩy. Phần tử có thể là tên biến, biểu thức 5' sách kết quả>) Hoặc: Write(,<Danh sách kết quả>) (số học ,quan hệ, logic) hoặc hằng xâu. 4 VD1: Giả thiết cho chương trình có khai báo: var FA,FB : Text; và tệp FA mở để đọc, còn tệp FB mở để ghi. Khi đó: + Có thể có các thủ tục đọc tệp như sau: read (FA,A,B,C); hoặc: readln (FA,A,B,C); + Có thể có các thủ tục ghi tệp như sau: write(FB,'A=',A,'B=',B,'C=',C); hoặc writeln(FB,'A=',A,'B=',B,'C=',C); Thuyết trình: - FA,FB: tên biến tệp văn bản. - A,B,C: các biến. =>Các biến có thể khác kiểu. 3' 5 - VD2: Xét đường khép kín không tự cắt N đỉnh trong mặt phẳng, các cạnh song song với trục toạ độ và các đỉnh có tạo độ nghiêng. - Chương trình thực hiện: Nhập từ bàn phím số N, toạ độ các đỉnh liên tiếp của đường gấp khúc và ghi toạ độ các đỉnh ra tệp văn bản GAPKHUC.INP, mỗi dòng chứa 2 số nguyên là toạ độ một Thuyết trình: - readln(n): nhập n từ bàn phím. - assign(f,tf): gán tên tệp là "GAPKHUC.INP" cho biến tệp f. - rewrite(f): mở tệp f ra để ghi. - readln(x,y): toạ độ x,y của các đỉnh nhập từ bàn phím. - writeln(f,x,' ',y): ghi vào file f 6' đỉnh. Các số trên một dòng cách nhau một dấu cách. - Chương trình: Program gapkhuc; Uses crt; var f : text; i,n,x,y : integer; tf : string[80]; Begin clrscr; write("n = "); readln(n); tf := 'GAPKHUC.INP'; assign(f,tf); rewrite(f); For i := 1 to n do Begin write(' x,y : ' ); readln(x,y); writeln(f,x,' ',y); end; close(f); end. toạ độ x,y của các đỉnh. -Chú ý close(f): đóng tệp. *(Lần lượt vừa hỏi vừa giải thích các lệnh trong chương trình). 6 - VD3: Chương trình đọc tệp dữ liệu của VD2 chứa ở tệp "GAPKHUC.INP", tính chu vi hình giới hạn bởi đường gấp khúc và đưa kết quả ra tệp văn bản "GAPKHUC.OUT". - Chương trình: Program VD3; Uses crt; var fa,fb : text; Hỏi: Em hãy giải thích các lệnh trong chương trình? Thuyết trình: - assign(fa,'GAPKHUC.INP'): gán tên tệp 'GAPKHUC.INP' cho biến tệp fa. - reset(fa): mở tệp fa để đọc - readln(fa,x,y): đọc từ tệp fa toạ độ x,y của đỉnh. 8' l : longint; x0,y0,x1,y1,x,y : integer; Begin clrscr; assign(fa,'GAPKHUC.INP'); reset(fa); readln(fa,x,y); x0 := x; y0 := y; l := 0; while not eof(fa) do begin x1 := x; y1 := y; readln(fa,x,y); l := l + abs(x-x1)+ abs(y-y1); end; l := l + abs(x-x0) +abs(y-y0); close(fa); assgin(fb,GAPKHUC.OUT''); rewrite(fb); writeln(fb,'chu vi: ',l); close(fb); end. - not eof(fa): Khi con trỏ tệp chưa trỏ tới cuối tệp. - assgin(fb,GAPKHUC.OUT''); rewrite(fb): gán tên tệp 'GAPKHUC.OUT' cho biến tệp fb - writeln(fb,'chu vi: ',l): ghi vào tệp fb biến l. -Chú ý: close(fa), close(fb): sau khi đọc xong thì nhớ phải đóng tệp. IV. Củng cố bài:(2’) Hôm nay, chúng ta đã đi làm một vài ví dụ về tệp định kiểu và tìm hiểu về cách đọc và ghi với tệp văn bản. =>Chúng ta cần nắm vững các thao tác xử lí đối với kiểu dữ liệu tệp, đặc biệt là cách đọc và ghi hai loại tệp: tệp định kiểu và tệp văn bản. V. Bài tập về nhà(1’) - Làm bài tập 4 và 5 sách giáo khoa. - Tóm tắt kiểu dữ liệu tệp. - Nghiên cứu nội dung bài tiếp theo (chương mới). VI. Nhận xét và rút kinh nghiệm giờ giảng(1’) …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. …………………………………………………………………………….. ………………………………………………….

Các file đính kèm theo tài liệu này:

  • pdfbai_15tep_va_xu_li_tep_1421.pdf