1. Trang chủ
  2. » Công Nghệ Thông Tin

Bài 15:TỆP VÀ XỬ LÍ TỆP pptx

8 243 1

Đ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 8
Dung lượng 161,85 KB

Nội dung

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.. - Giúp học sinh hiểu thêm kiểu dữ liệu tệp, giả

Trang 1

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')

Trang 2

-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'

Trang 3

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'

Trang 4

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(<Tên biến tệp>,<Danh sách

biến>);

hoặc:

readln(<Tên biến tệp>,<Danh sách

biến>)

+ Thủ tục ghi có dạng:

Write(<Tên biến tệp văn bản>,<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'

Trang 5

sách kết quả>)

Hoặc:

Write(<Tên biến tệp văn bản>,<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'

Trang 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'

Trang 7

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’)

………

………

………

Trang 8

………

………

Ngày đăng: 11/08/2014, 06:20

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w