1. Trang chủ
  2. » Sinh học lớp 12

Bài 16. Ví dụ làm việc với tệp

7 25 0

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

THÔNG TIN TÀI LIỆU

Đặt vấn đề: Trong tiết học trước các em đã được làm quen với kiểu dữ liệu tệp cũng như các thao tác với tệp như là: Khai báo tệp, gán tên tệp, mở tệp, đọc/ghi dữ liệu vào tệp, đóng tệp..[r]

(1)

Ngày soạn 20/03/2009

§16 VÍ DỤ LÀM VIỆC VỚI TỆP

A MỤC TIÊU: 1 Kiến thức:

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

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

2 Kỹ năng:

- Hình thành kỹ thao tác làm việc với tệp như:

1. Mở tệp

2. Gán tên tệp cho biến tệp

3. Đọc/ ghi liệu cho biến tệp

4. Đóng tệp

3 Thái độ:

- Thấy cần thiết tiện lợi kiểu liệu tệp - Có ý thức lưu trữ liệu cách khoa học

B PHƯƠNG PHÁP: Nêu tình có vấn đề, câu hỏi gợi mở, hoạt động nhóm

C CHUẨN BỊ CỦA GIÁO VIÊN, HỌC SINH:

1 Chuẩn bị giáo viên: giáo án, phấn, bút, sổ điểm, SGK, máy chiếu, chương trình minh họa cho học thiết bị cần thiết phục vụ cho hoạt động nhóm

2 Chuẩn bị học sinh: SGK, vở, bút

D TIẾN TRÌNH LÊN LỚP: I Ổn định:

II Kiểm tra cũ:

Câu 1: Nêu vai trò kiểu tệp?

- Dữ liệu kiểu tệp lưu trữ lâu dài nhớ không bị tắt nguồn điện;

- Lượng liệu lưu trữ tệp lớn phụ thuộc vào dung lượng đĩa Câu 2: Khi sử dụng thao tác ghi tệp sử dụng thao tác đọc tệp?

- Tạo tệp sử dụng thao tác ghi tệp; - Mở tệp có sẳn sử dụng thao tác đọc tệp

(2)

III Bài mới:

1 Đặt vấn đề: Trong tiết học trước em làm quen với kiểu liệu tệp thao tác với tệp là: Khai báo tệp, gán tên tệp, mở tệp, đọc/ghi liệu vào tệp, đóng tệp Để hiểu rõ thao tác làm việc với tệp văn chuyển sang

2 Triển khai bài:

Hoạt động 1: Tìm hiểu ví dụ 1

Hoạt động thầy trị Nội dung học

GV: chiếu slide tóm tắt nội dung ví dụ

GV: Nêu Input Output toán?

HS: Suy nghĩ trả lời

GV: input, output lên hình

GV: u cầu học sinh nhắc lại cơng thức tính khoảng cách

HS: Suy nghĩ trả lời

GV: giải thích cách tính khoảng cách

GV: Dựa vào sơ đồ làm việc với tệp văn theo em ví dụ thực việc ghi tệp hay đọc tệp?

HS: Đọc tệp

GV: Vậy để đọc tệp có thao tác nào?

HS: trả lời

GV: Dựa vào sơ đồ để đưa ý tưởng thuật toán

 Gán tên tệp

 Mở tệp

 Xử lí

+ Đọc liệu từ tệp TRAI.TXT + Tính khoảng cách

+ Ghi liệu hình

(lặp lại đến trỏ đến vị trí cuối tệp)

 Đóng tệp

1 Ví dụ (SGK trang 87)

- Phân tích tốn: * Input:

+ Tọa độ trại Hiệu trưởng O(0,0)

+ Tệp TRAI.TXT chứa cặp số nguyên (x,y) liên tiếp

* Output:

Khoảng cách trại lớp trại thầy hiệu trưởng

- Cơng thức tính khoảng cách + Trong toán học:

D =

y2-y1¿2 x2-x1¿2+¿

¿ √¿

- Chương trình.

Program Khoang_cach; Var d: real;

f: Text; x, y: integer; Begin

Assign(f.’TRAI.TXT’); Reset(f);

(3)

GV: Dựa vào mơ hình slide dẫn dắt để học sinh biết việc đọc tệp kết thúc trỏ vị trí cuối tệp

HS: chú ý lắng nghe

GV: Sử dụng Pascal để đưa chương trình ví dụ Sau giáo viên số câu lệnh chương trình yêu cầu học sinh giải thích

HS: chú ý quan sát giải thích

GV: Mở tệp TRAI.TXT cho học sinh xem, sau chạy thử chương trình cho học sinh xem kết

HS: ý quan sát

Read(f,x,y);

D:= Sqrt(x*x+y*y);

Writeln(‘Khoangcach:’ d:10:2); End;

Close(f); End

Hoạt động 2: Tìm hiểu ví dụ 2

Hoạt động thầy trị Nội dung học

GV: Tóm tắt nội dung chiếu đầu hình vẽ lên hình

HS: Ghi

GV: Yêu cầu học sinh phân tích để xác định input, output

HS: Suy nghĩ trả lời

GV: Chiếu input, output lên hình

GV: Gọi em học sinh đưa công thức tính điện trở tương đương hai điện trở mắc nối tiếp song song

HS:

- Cơng thức tính điện trở tương đương hai điện trở mắc nối tiếp:

R = R1 + R2

- Cơng thức tính điện trở tương đương hai điện trở mắc song song:

1

R=

1

R1+

1

R2

GV: Vậy cách mắc điện trở song song ba điện trở nối tiếp ta tính khơng?

2 Ví dụ (SGK trang 87, 88)

- Phân tích tốn:

*Input: Tệp văn

RESIST.DAT gồm nhiều dòng, dòng chứa ba R1, R2, R3

*Output: Tệp văn

RESIST.EQU dòng ghi năm điện trở tương đương R1, R2, R3

Chương trình

Program Dientro;

Var a: array[1 5] of real; R1, R2, R3: Real; i: integer; f1, f2: text; BEGIN

Assign(f1,’RESIST.DAT ’); Reset(f1);

(4)

GV: Chiếu công thức tính điện trở tương đương ba điện trở mắc nối tiếp song song lên hình

- Điện trở tương đương của: Sơ đồ 1: R=R1*R2*R3/ (R1*R2+R1*R3+R2*R3); Sơ đồ 5: R=R1+R2+R3;

GV: Yêu cầu học sinh tính điện trở tương đương mạch điện ứng với sơ đồ lại: Sơ đồ 2: R=R1*R2/(R1+R2) +R3;

Sơ đồ 3: R=R1*R3/(R1+R3)+R2; Sơ đồ 4: R=R2*R3/(R2+R3)+R1:

GV: Dựa vào sơ đồ làm việc với tệp văn em Ví dụ sử dụng ghi tệp hay đọc tệp?

HS:Suy nghĩ trả lời

GV: Tệp ghi? Tệp đọc?

HS: Trả lời câu hỏi

GV: Có học sinh viết chương trình cịn số lỗi chưa thực yêu câu nhóm sửa lỗi đoạn chương trình: Var a1, a2: real; {Khai bao}

R1; R2, R3: real; i: integer; Fi; Fo: txt; Begin

{Buoc 1}

Assign(fi,'D:\RESIST.DAT'); Rewrite(Fi);

Rewrite(Fo); Assign(Fo,'D:\RESIST.EQU');

{Buoc 2}

Read(Fo,R1,R2,R3);

a1:=R1*R2*R3/(R1*R2+R1*R3+R2*R3); write(Fi,a1:9:3,' ');

a2:=R1*R2/(R1+R2)+R3; write(Fi,a2:9:3,' ');

While not eof(f1) Begin

Readln(f1, R1, R2, R3); a[1]:=R1*R2*R3/

(R1*R2+R1*R3+R2*R3); a[2]:=R1*R2/(R1+R2)+R3; a[3]:=R1*R3/(R1+R3)+R2; a[4]:=R2*R3/(R2+R3)+R1; a[5]:=R1+R2+R3;

For i:=1 to write(f2,a[i] : 9:3,’’);

Writeln(f2); End;

(5)

{Buoc 3}

Close('RESIST.DAT'); Close('RESIST.EQU');

End

GV: Phân nhóm phát phiếu học tập

HS: Các nhóm thảo luận đưa kết cuối

GV: Chạy chương trình sửa lỗi Pascal mở tệp kết cho học sinh xem nhận xét giải yêu cầu toán chưa?

HS: ý quan sát trả lời câu hỏi (mới đọc dịng tính sơ đồ)

GV: Muốn tính sơ đồ làm nào?

HS: Sử dụng biến nhận kết sơ đồ ghi kết vào tệp

GV: Tệp RESIST.DAT có nội dung nào?

HS:

GV: Dùng lệnh Read/Readln để đọc tệp?

HS: Readln

GV: Khi không đọc tệp nữa?

HS: Khi kết thúc tệp

GV: Chạy chương trình Pascal yêu cầu học sinh ý quan sát nhận xét tệp kết quả?

PROGRAM Dientro; VAR a1,a2,a3,a4,a5: real; R1,R2,R3: real;

i: integer; Fi,Fo: text; Begin

{Buoc 1}

(6)

Assign(Fi,'D:\RESIST.DAT'); Reset(Fi);

Assign(Fo,'D:\RESIST.EQU'); Rewrite(Fo);

{Buoc 2}

While not Eof(Fi) Begin

Readln(Fi,R1,R2,R3); a1:=R1*R2*R3/(R1*R2+R1*R3+R2*R3); write(Fo,a1:9:3,' ');

a2:=R1*R2/(R1+R2)+R3; write(Fo,a2:9:3,' ');

a3:=R1*R3/(R1+R3)+R2; write(Fo,a3:9:3,' ');

a4:=R2*R3/(R2+R3)+R1; write(Fo,a4:9:3,' ');

a5:=R1+R2+R3; write(Fo,a5:9:3,' '); End;

{Buoc 3}

Close(Fi); Close(Fo); End

HS: ý

GV: Mở tệp kết để học sinh xét

GV: Tổng hợp ý kiến giải thích sau tính ghi điện trở tương đương sơ đồ đưa trỏ xuống dịng (Writeln(fo);)

GV: Nếu có 100 sơ đồ cách mắc điện trở khác làm nào?

HS: sử dụng kiểu mảng

GV: đưa chương trình hồn chỉnh VD2 chạy Pascal để học sinh thấy kết

(7)

Hoạt động thầy trò Nội dung học GV: Đưa chương trình ví dụ

yêu cầu học sinh bổ sung lệnh để ghi khoảng cách vào tệp

KETQUA.TXT?

HS: bổ sung lệnh dựa vào sơ đồ làm việc với tệp văn

GV: Chạy chương trình mở tệp kết để học sinh thấy rõ

Bài tập 1:

Làm lại ví dụ 1, sau ghi liệu output vào tệp có tênKETQUA.TXT.

Bài tập 2:

Cho hai tệp văn NGUYEN1.TXT

NGUYEN2.TXT gồm nhiều dòng, dòng chứa số nguyên Hãy viết chương trình để tạo tệp văn NGUYEN12.TXT, dòng dòng tệp

NGUYEN1.TXT, dòng lại dòng tệp NGUYEN2.TXT

IV Củng cố:

Lưu ý: Việc trao đổi với nhớ ngồi thực thơng qua kiểu liệu tệp Để làm việc với tệp ta cần phải khai báo tệp

Mỗi ngôn ngữ lập trình có hàm thủ tục chuẩn để làm việc với tệp Các thao tác với tệp

- Khai báo biến tệp, mở tệp đóng tệp - Đọc, ghi liệu từ tệp

V Dặn dò, hướng dẫn học sinh học tập nhà

- Làm tập nhà SGK

- Học kỹ để viết chương trình

Duyệt Tổ trưởng CM/ Hiệu trưởng :

Ngày đăng: 06/03/2021, 03:29

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w