Tuần : ....................
Tiết : 37
Ngày soạn:....................
Ngày giảng:..................
Bài 16. ví dụ làm việc với tệp
I. mục tiêu của bài:
1. Kiến thức
- Hiu v hỡnh thnh k nng v cỏc thao tỏc c bn khi lm vic vi tp nh :
M tp .
Gỏn tờn tp cho bin tp .
c / ghi d liu i vi tp .
úng tp .
2. Kĩ năng
- Hiểu các thao tác làm việc với tệp gồm: Gắn tên tệp, mở và đóng tệp, đọc/ghi dữ liệu
từ tệp.
3. Thái độ
- Rèn luyện cho HS có ý thức lu trữ dữ liệu một cách khoa học, phòng chống mất mát
thông tin hoặc nhiễm Virut.
II. Chuẩn bị của Giáo viên và học sinh:
1. Giáo viên: SGK, giáo án, STK (máy chiếu nếu có).
2. Học sinh: SGK, chuẩn bị trớc bài ở nhà.
III. Phơng pháp giảng dạy
- Thuyết trình, đàm thoại.
IV. Tiến trình bài học và các hoạt động:
1. ổn định tổ chức: 1
2. Kiểm tra bài cũ:
Hãy viết cách khai báo biến kiểu bản ghi?
3. Bài mới:
* Hoạt động 1: Ví dụ 1.
Hoạt động của GV và HS Nội dung
Hot ng 1.1 : Tỡm hiu u bi .
- GV : Ghi u bi ca bi toỏn lờn bng
- GV : Nhc li cụng thc tớnh khong
cỏch gia hai im khi bit ta ca
chỳng .
- HS : Phõn tớch bi toỏn, xỏc nh yờu
1. Ví dụ 1.
Program VD1_tr87;
Var d:real;
f:text;
x,y:integer;
Begin
Assign(f,Trai.txt);
cầu của bài toán theo sự hướng dẫn của
giáo viên .
Hoạt động 1.2 : Tìm hiểu chương trình
- GV : Dùng Power Point chiếu chương
trình (đã soạn trước) lên màn hình (có
đánh chỉ số các dòng lệnh) .
- GV : Gọi một vài học sinh hỏi ý nghĩa
của từng câu lệnh trong chương trình .
- HS : Tìm hiểu chương trình
- GV : Khái quát lại cả chương trình để
học sinh nắm được sau đó chạy chương
trình (tệp TRAI.TXT đã có sẵn dữ liệu
từ trước) .
Hoạt động 1.3 : Mở rộng bài toán :
- GV : Có thể bổ sung thêm yêu cầu “in
lên màn hình khoảng cách của trại xa với
trại của hiệu trưởng nhất” .
- HS : Ghi yêu cầu vào vở để về nhà làm
Reset(f);
While not eof(f)do
Begin
Read(f,x,y);
D:=sqrt(x*x+y+y);
Writeln(‘khoang cach: ‘,d:10:2);
End;
Close(f);
End.
* Ho¹t ®éng 2. VÝ dô 2.
Ho¹t ®éng cña GV vµ HS Néi dung
Hoạt động 2.1 : Tìm hiểu bài
toán
- GV : Ghi đầu bài và hình 17 –
SGK lên bảng
- HS : Đọc trên màn chiếu và
nghiêu cứu đầu bài .
- GV : Nhắc lại công thức tính
điện trở tương đương của 2 điện
trở mắc nối tiếp và của 2 điện trở
mắc song song .
- HS : Các nhóm xây dựng công
thức tính điện trở tương đương
của 5 trường hợp theo hình vẽ .
- GV : Chuẩn hóa để đạt được
công thức chính xác .
- HS : Biểu diễn các biểu thức đó
2. VÝ dô 2.
Program VD2_tr88;
Var a:Array[1..5] of real;
R1,R2,R3:Real;
i:Integer;
F1,f2:text;
Begin
Assign(f1, ‘resist.dat’);
Reset(f1);
Assign(f2, ‘resist.equ’);
Rewrite(f2);
While not eof(f1) do
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;
bằng ngôn ngữ Pascal .
Hoạt động 2.2: Xây dựng
chương trình:
- GV : Gọi từng học sinh xây
dựng chương trình theo từng
bước 1 (có gợi ý khi học sinh
vướng mắc) .
+ Khai báo .
+ Gán tên tệp cho biến tệp.
+ Đọc dữ liệu từ tệp .
+ Tính các điện trở tương
đương .
+ Ghi vào tệp .
+ Đóng tệp .
- GV : Chính xác và tối ưu hóa
chương trình .
- HS : Suy nghĩ và trả lời câu hỏi
theo yêu cầu của giáo viên .
A[4]:=R3*R2/(R3*R2)+R1;
A[5]:=R1+R2+R3;
For i:=1 to 5 do write(f2,a[i]:9:3),’ ‘);
Writeln(f2);
End;
Close(f2); close(f1);
End.
V . Cñng cè – dÆn dß
- VÒ nhµ «n kÝ giê sau ch÷a bµi tËp