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

Bài 14-15 : Kiểu dữ liệu tệp và thao tác với tệp

9 428 2

Đ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 43,36 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Nội dung bài mới: TG Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng Hoạt động 1: Vai trò của kiểu tệp + Cho chương trình tính trung bình cộng điểm kiểm tra một tiế

Trang 1

GIÁO ÁN CHI TIẾT

Giáo viên hướng dẫn: Hà Nữ Thùy Hương Bộ môn: Tin học Sinh viên thực tập: Huỳnh Văn Thắng

Tên bài giảng: Dữ liệu kiểu tệp, thao tác với tệp (tiết 1) Tiết (theo chương trình): 36 Lớp: 11B8 Phòng: 14

Ngày giảng: 23/03/2013.

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

1 Kiến thức:

- Biết khái niệm và vai trò của kiểu tệp

- Biết hai cách phân loại tệp: theo cách tổ chức dữ liệu và theo cách truy nhập;

- Hiểu bản chất của tệp văn bản;

- Biết các bước làm việc với tệp: gắn tên cho biến tệp, mở tệp/ghi tệp, đóng tệp;

- Biết khai báo biến tệp và các thao tác cơ bản với tệp văn bản;

- Biết sử dụng một số hàm và thủ tục chuẩn làm việc với tệp;

2 Kĩ năng:

- Nắm được vai trò và cách làm việc của kiểu tệp;

- Khai báo, gắn tên tệp, mở tệp/đóng tệp, đọc dữ liệu từ tệp, ghi dữ liệu vào tệp;

3 Thái độ học tập :

Hình thành cho học sinh tính ham học hỏi, yêu thích môn Tin học

II PHƯƠNG TIỆN VÀ PHƯƠNG PHÁP DẠY HỌC:

1 Phương tiện dạy học:

- Giáo viên: Giáo án chi tiết, SGK, SGV, SBT

- Học sinh: Sách giáo khoa, sách bài tập, vở ghi chép, vở nháp và tài liệu tham khảo (nếu có).

2 Phương pháp dạy học:

Phương pháp: thuyết trình, đặt câu hỏi, vấn đáp gợi mở, thảo luận nhóm

III TIẾN HÀNH BÀI DẠY

1 Ổn định lớp (1 phút)

2 Kiểm tra bài cũ (Không kiểm tra)

3 Nội dung bài mới:

TG Hoạt động của giáo viên Hoạt động của học sinh Nội dung ghi bảng

Hoạt động 1: Vai trò của kiểu tệp

+ Cho chương trình tính

trung bình cộng điểm

kiểm tra một tiết tin học

khối 11 trường THPT

Hương Vinh Chạy

chương trình

program diem_tb;

var A:array [1 50] of

Hs quan sát

Trang 2

2’

byte;

n,i: byte; s: real;

begin

writeln('nhap vao diem

thi cua hoc sinh:');

readln(n);

for i:= 1 to n do

begin

writeln('A[',i,']=');

readln(A[i]);

end;

for i:= 1 to n do

s:=s+A[i];

s:= s/50;

write('diem trung binh',s);

readln;

end

+ Các em nhận thấy với

những dữ liệu chúng ta đã

học thì việc nhập hay kết

quả tính được thì kết quả

đó được lưu trữ ở đâu?

+ Các dữ liệu này khi

chúng ta tắt chương trình

hoặc tắt máy thì sẽ bị mất

và việc nhập lại sẽ tốn

nhiều thời gian và công

sức Thậm chí là các dữ

liệu đó sẽ được sử dụng

vào các mục đích khác

nữa Từ đó đặt ra yêu cầu

cần lưu trữ được lượng dữ

liệu lớn và lâu dài để xử

lý Ngôn ngữ lập trình

cung cấp cho chúng ta

một kiểu dữ liệu mới đó là

kiểu tệp giúp chúng ta giải

quyết một số yêu cầu như

thế

Hôm nay chúng ta vào bài

mới

Bài 14 -15: Kiểu dữ liệu

tệp và thao tác với tệp

? Các em cho ví dụ về một

số tệp mà em đã biết

+ Bộ nhớ trong (Rom, Ram)

- Ví dụ: các tệp khi soạn thảo văn bản, tệp chương trình pascal, bài hát

Bài 14 -15: kiểu dữ liệu tệp và thao tác với tệp

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

Trang 3

?Tìm hiểu và cho thầy

biết dữ liệu kiểu tệp có

những đặc điểm gì?

+ Vậy dữ liệu kiểu tệp có

mấy loại và thao tác như

thế nào? Chúng ta qua tìm

hiểu mục 2.

? Có bao nhiêu cách phân

loại tệp và mỗi cách phân

loại thì có những loại nào?

Các em đọc sách và cho

cả lớp biết

lưu trên máy tính

+ 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 dữ liệu lưu trữ trên tệp có

thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa

+ Hs lắng nghe + 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 truy cập: Tệp truy cập tuần tự, Tệp truy cập trực tiếp

Ví dụ: songuyen.txt; tong.pas;

+ 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 dữ liệu lưu trữ trên tệp có thể rất lớn và chỉ phụ thuộc vào dung lượng đĩa

2 Phân loại và thao tác vớ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 truy cập:

-Tệp truy cập tuần tự -Tệp truy cập trực tiếp.

Hoạt động 2: Tìm hiểu cách khai báo và các thao tác với kiểu dữ liệu tệp

3’

3’

+ Chúng ta sẽ cùng nhau

tìm hiểu các thao tác để sử

dụng kiểu dữ liệu này thông

qua chương trình ví dụ và

phiếu học tập sau: (chia

nhóm và phát phiếu học

tập)

PROGRAM vidu;

VAR f: text;

(1) x,y:integer;

BEGIN

Writeln('nhap2 so

nguyen'); (2)

Readln(x,y);

Writeln('2 so nguyen vua

nhap la: ',x,' ', y);

Assign(f,'SONGUYEN.TX

T'); (3)

(4) Rewrite(f);

(5) Write(f,x,' ', y);

(6) Close(f);

Readln;

END.

? Các đoạn lệnh trên thực

hiện công việc gì?

+ Gọi nhóm nhanh nhất trả

lời cho điểm tốt.( nếu

xong)

+ Để hiểu rõ hơn về các

+ Các nhóm làm bài trên phiếu học tập

+ Nhóm trả lời

+ Trả lời: (1) VAR f: text;

PROGRAM vidu;

VAR f: text;

x,y:integer;

BEGIN

writeln(' nhap vao 2 so nguyen'); readln(x,y);

writeln('2 so nguyen vua nhap la: ',x,' ', y); assign(f,'SONGUYEN.TXT'); rewrite(f);

write(f,x,' ', y);

readln;

close(f);

END.

3 Thao tác với tệp văn bản 3.1 Khai báo:

Trang 4

5’

4’

3’

thao tác với tệp chúng ta sẽ

đi lần lượt các đoạn lệnh

này

- Đoạn lệnh thứ nhất.(1)

+ Cũng giống như mọi kiểu

dữ liệu khác muốn sử dụng

một biến thì trước hết phải

khai báo Tìm hiểu sách

giáo khoa và cho biết cú

pháp khai báo biến tệp?

+ Đoạn chương trình (2)

tiếp theo làm việc gì?

? Đoạn chương trình(3) tiếp

theo làm việc gì?

? Cho biết cú pháp gắn biến

tệp? Vì chúng ta đang thao

tác trên ngôn ngữ lập trình

chứ không phải là thao tác

trực tiếp với tệp trên đĩa nên

cần phải gắn tên tệp

+ Cho ví dụ?

- Khi các em đặt mở vở đặt

trên bàn thì múc đích của

các em mở ra để làm gì?

Diễn giải: Vậy khi ta mở

cuốn vở ra thì mục đích của

chúng ta mở ra để đọc hoặc

ghi

Vậy khi sử dụng tệp ta

muốn mở 1 tệp thì các em

phải xác định mục đích của

mình mở tệp để ghi hay để

đọc? Chúng ta cùng tìm

hiểu đoạn chương trình

(4)làm việc gì?

-Hãy đọc sách và cho biết

cú pháp mở tệp để đọc và

ghi như thế nào ?Cho ví dụ?

+ Nếu xác định trước là mở

tệp để đọc dữ liệu thì dùng

thủ tục Reset(<biến tệp>);

Ví dụ?

-Với tệp SONGUYEN.TXT

x,y:integer;

là phần khai báo biến

Khai báo 2 biến x,y kiểu nguyên và biến dữ liệu kiểu text

-Cú pháp khai báo biến tệp:

var <tên biến tệp>: text;

+ Ví dụ: var f, tep1, tep2: text;

+ Đoạn (writeln('nhap vao 2 so nguyen');

readln(x,y);

writeln('2 so nguyen vua nhap la: ',x,' ', y); )

Nhập 2 số nguyên x, y và in ra màn hình

+ Đoạn assign(f,'SONGUYEN.TXT');

dùng để gắn tên tệp vào biến f;

+ Cú pháp gắn tên tệp assign(<biến tệp>, <tên tệp>);

+ Ví dụ:

assign(f,‘SONGUYEN.TXT’);

- Đọc/ ghi

+ Đoạn(4) rewrite(f);

Mở tệp để ghi dữ liệu

+ Mở tệp mới (để ghi dữ liệu):

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

Ví dụ: rewrite(f);

-Mở để đọc/ ghi

Reset(f);

Cú pháp khai báo biến tệp:

var <tên biến tệp>: text;

+ Ví dụ:

var f: text;

+ Nhập 2 số nguyên x, y và in ra màn hình

3.2 a Gắn tên tệp:

+ Cú pháp gắn tên tệp assign(<biến tệp>, <tên tệp>);

Tên tệp là một hằng xâu hoặc biến xâu

Ví dụ:

assign(f,‘SONGUYEN.TXT’);

3.2.b Mở tệp:

+ Mở tệp tệp để ghi dữ liệu

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

Ví dụ: rewrite(f);

+ Mở tệp đã có (để đọc dữ liệu) reset(<biến tệp>);

Ví dụ: reset(f);

Trang 5

2’

đã được tạo ra bây giờ

chúng ta sẽ mở tệp đó ra

đọc các thông tin đã nhập

vào xem có đúng hay

không

+ Đoạn chương trình(5) tiếp

theo làm việc gì?

Tìm hiểu phần 3.2.c

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

Ghi dữ liệu vào tệp

+ Cú pháp là gì?

+ ví dụ?

Chú ý: dữ liệu trong tệp văn

bản được chia thành các

dòng và khi đọc giống như

nhập từ bàn phím và khi ghi

giống như ghi ra màn hình

+ Sự khác nhau giữa

write(); và writeln();

Việc đọc dữ liệu từ tệp thì

như thế nào? Cú pháp?

So sánh giống và khác nhau

của Readln(); và Read();

- Ví dụ?

+ Ví dụ minh họa( thời gian

dư)

+ Một số hàm chuẩn thường

dùng trong khi đọc/ghi tệp

văn bản:

+Hàm eof(<biến tệp>): Trả

+ Đoạn write(f,x,' ', y);

Ghi dữ liệu vào tệp

Ghi dữ liệu vào tệp

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

hoặc:

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

- Ví dụ: write(f,x,' ', y);

write( tep1, ‘A= ‘, A, ‘B=’, B,

‘C=’, C);

hoặc:

writeln( tep2, ‘X1=’, (-B – SQRT(B*B- 4*A*C)) / (2*A) :8:3) ;

+ Writeln(); sau khi ghi xong thì con trỏ xuống đầu dòng tiếp theo ghi tiếp

+ Write(); ghi liên tiếp dữ liệu

+ Đọc tệp

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

hoặc:

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

+ Readln(); sau khi đọc xong thì con trỏ xuống đầu dòng tiếp theo đọc tiếp

+ Read(); đọc liên tiếp dữ liệu

Hs ghi chép và lắng nghe

ví dụ: read(f, x, y); readln(f, x, y);

- Đọc sách và trả lời

3.2.c Ghi/ Đọc tệp văn bản:

Ghi tệp.

+ Cú pháp:

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ả là gồm một hoặc nhiều phần tử

ví dụ: write(f,x,' ', y);

Đọc tệp

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

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

danh sách biến là một hay nhiều biến đơn

ví dụ: read(f, x, y); readln(f, x, y);

+ Hàm eof(<biến tệp>):

+ Hàm eoln(<biến tệp>);

Trang 6

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.

+ Đoạn chương trình (6)

tiếp theo làm việc gì?

+ Chạy chương trình đọc dữ

SONGUYEN.TXT

- Để học sinh thấy được vai

trò của đóng tệp như thế

nào?

PROGRAM vidu;

VAR f: text;

x,y:integer;

BEGIN

assign(f,'SONGUYEN.TXT

');

reset(f);

read(f, x, y);

write(‘du lieu la: ’,x,’ ’, y);

readln;

close(f);

END.

+ Đoạn: Close(f);

Đóng tệp

+ Hs theo dõi

3.2.d Đóng tệp:

Close(f);

Lưu ý: Khi không làm việc với tệp,

ta phải dùng lệnh đóng tệp, đặc biệt sau khi ghi dữ liệu nếu không các thao tác với tệp trước đó sẽ không có tác dụng gì.

PROGRAM vidu;

VAR f: text;

x,y:integer;

BEGIN

assign(f,'SONGUYEN.TXT');

reset(f);

read(f, x, y);

write(‘du lieu la: ’,x,’ ’, y);

readln;

close(f);

END.

Hoạt động 3: Củng cố kiến thức bài học.

4’ Chiếu hình 16: thao tác với

tệp (SGK trang 86)

Sử dụng 5 câu hỏi trắc

Câu hỏi củng cố:

Câu 1: Trong pascal để khai báo biến tệp ta sử dụng cú pháp nào?

a) Var <tên tệp>: text;

b) Var <tên biến tệp>: of text;

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

d) Var <tên biến tệp>: string;

Câu 2: Để gắn tệp KQ.TXT cho biến tệp f1 ta sử dụng câu lệnh?

a) f1:= ‘KQ.TXT’;

b) Assign (‘KQ.TXT’, f1);

c) Assign (f1, KQ.TXT);

d) Assign (f1, ‘KQ.TXT’);

Câu 3:f là biến tệp, x và y là biến kiểu nguyên

Cú pháp nào sau đây đúng?

a) Read (x, y, f);

b) Readln (f, x+y);

c) Read (f, x, y);

d) Readln (f);

Câu 4: f là biến tệp, x là biến kiểu nguyên Cú pháp nào sau đây đúng?

Trang 7

a) Writeln (f);

b) Write (f, x);

c) Rewrite (f, x);

d) Reset (x, f);

Câu 5: Phát biểu nào sau đây đúng?

a) Hàm eof (<biến tệp>) trả về vị trí cuối tệp; b)Hàm eof (<biến tệp>) trả về vị trí đầu tệp nếu tệp rỗng;

c) Hàm eoln (<biến tệp>) trả về giá trị true nếu con trỏ đang ở cuối dòng;

d)Hàm eoln (<biến tệp>) trả về giá trị false nếu con trỏ đang ở cuối dòng;

Hoạt động 4: Dặn dò

2’ + Đọc và nghiên cứu các ví

dụ ở bài 16: Ví dụ làm việc

với tệp

Hs lắng nghe

Hương Trà.Ngày 19 tháng 03 năm 2013

Trang 8

PROGRAM vidu; VAR f: text;

(1) x,y:integer; BEGIN Writeln('nhap vao 2 so nguyen'); (2) Readln(x,y); Writeln('2 so nguyen vua nhap la: ',x,' ', y); (3) Assign(f,'SONGUYEN.TXT'); (4) Rewrite(f); (5) Write(f,x,' ', y); (6) Close(f); Readln; END Các đoạn lệnh bên thực hiện công việc gì? +Đoạn1:……….

+Đoạn2………

+ Đoạn 3:………

+ Đoạn 4:………

+Đoạn5:………

+Đoạn6……….

Nhóm:

PROGRAM vidu; VAR f: text;

(1) x,y:integer; BEGIN Writeln('nhap vao 2 so nguyen'); (2) Readln(x,y); Writeln('2 so nguyen vua nhap la: ',x,' ', y); (3) Assign(f,'SONGUYEN.TXT'); (4) Rewrite(f); (5) Write(f,x,' ', y); (6) Close(f); Readln; END Các đoạn lệnh bên thực hiện công việc gì? +Đoạn1:………

+Đoạn2……….

+ Đoạn 3:………

+ Đoạn 4:………

+Đoạn5:………

+Đoạn6……….

Nhóm

PROGRAM vidu; VAR f: text;

(1) x,y:integer; BEGIN Writeln('nhap vao 2 so nguyen'); (2) Readln(x,y); Writeln('2 so nguyen vua nhap la: ',x,' ', y); (3) Assign(f,'SONGUYEN.TXT'); (4) Rewrite(f); (5) Write(f,x,' ', y); (6) Close(f); Readln; END. Các đoạn lệnh bên thực hiện công việc gì? +Đoạn1:………

+Đoạn2………

+ Đoạn 3:………

+ Đoạn 4:………

+Đoạn5:………

+Đoạn6………

Nhóm:

PROGRAM vidu; VAR f: text;

(1) x,y:integer; BEGIN Writeln('nhap vao 2 so nguyen'); (2) Readln(x,y); Writeln('2 so nguyen vua nhap la: ',x,' ', y); (3) Assign(f,'SONGUYEN.TXT'); (4) Rewrite(f); (5) Write(f,x,' ', y); (6) Close(f); Các đoạn lệnh bên thực hiện công việc gì? +Đoạn1:………

+Đoạn2……….

+ Đoạn 3:………

+ Đoạn 4:………

+Đoạn5:………

Trang 9

Readln;

END.

+Đoạn6……….

Ngày đăng: 23/01/2015, 12:00

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w