Tải bản đầy đủ (.ppt) (21 trang)

VI DU LAM VIEC VOI TEP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.04 MB, 21 trang )


Giáo viên thực hiện: Lê Thị Hoài Ân

Câu 1: Nêu vai trò của kiểu tệp?
- Dữ liệu kiểu tệp được lưu trữ lâu dài ở bộ
nhớ ngoài 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.
Câu 2: Khi nào sử dụng thao tác ghi tệp và
khi nào sử dụng thao tác đọc tệp?
- Tạo tệp mới sử dụng thao tác ghi tệp;
- Mở tệp có sẳn sử dụng thao tác đọc tệp.
I. Kiểm tra
bài cũ
I. Kiểm tra bài cũ
assign(<biến tệp>, <tên tệp>);
assign(<biến tệp>, <tên tệp>);
Câu 1: Thủ tục Assign có ý nghĩa gì? Vì sao
cần phải có thủ tục đó? Nêu sơ đồ tổng quát
thể hiện thủ tục Assign.
Ghi dữ liệu vào tệp
Đọc dữ liệu từ tệp
Gán tên tệp
Mở tệp để ghi
Mở tệp để đọc
Ghi dữ liệu ra tệp Đọc dữ liệu từ tệp
Đóng tệp

I. Kiểm tra
bài cũ
I. Kiểm tra bài cũ


Mở tệp để đọc
Mở tệp để đọc
Mở tệp để ghi
Mở tệp để ghi
2 kiểu
2 kiểu
rewrite(<biến tệp>);
rewrite(<biến tệp>);
reset(<biến tệp>);
reset(<biến tệp>);
assign(tep1, ‘KQ.DAT’);
rewrite(tep1);
assign(tep1, ‘KQ.DAT’);
rewrite(tep1);
assign(tep2, ‘KQ.DAT’);
reset(tep2);
assign(tep2, ‘KQ.DAT’);
reset(tep2);
Câu 2: Thao tác mở tệp để làm gì? Viết ra câu lệnh dùng
thủ thục mở tệp

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
I. Kiến thức
Biết các bước làm việc với tệp, gán tên tệp
cho biến tệp, đọc ghi/ tệp, đóng tệp.
Hình thành kỹ năng khi làm việc với tệp
như: mở tệp, gán tên tệp, đọc/ ghi dữ liệu
cho biến tệp, đóng tệp.
II. Nội dung:
1. Ví dụ 1

2. Ví dụ 2

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
1. Ví dụ 1
Trước khi giải một bài tóan
trong ngôn ngữ Pascal các em
phải thực hiện công việc gì trước ?
Xác định Input và Output
của bài toán.
1. Ví dụ 1 (SGK trang 87)
Trại thầy Hiệu trưởng là O(0,0), Mỗi lớp có một khu trại ,
vị trí của mỗi giáo viên chủ nhiệm có tọa độ nguyên(x,y).
Tính khỏang cách từ trại Thầy hiệu trưởng đến các trại
của mỗi giáo viên chủ nhiệm.

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
1. Ví dụ 1 (SGK trang 87)
- Phân tích bài toán:
* Input:
+ Tọa độ trại thầy Hiệu trưởng O(0,0)
+ Tệp TRAI.TXT chứa các cặp số nguyên (x,y) liên tiếp.
* Output:
Khoảng cách giữa trại mỗi lớp và trại thầy hiệu trưởng.
1. Ví dụ 1
Khoảng cách

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
1. Ví dụ 1
Dựa vào sơ đồ làm việc
với tệp văn bản theo em ví

dụ này thực hiện việc ghi
tệp hay đọc tệp?
Đọc tệp
Vậy để đọc tệp
có những thao
tác nào?
Gán tên tệp với
biến tệp.
Mở tệp.
Đọc tệp .

1. Ví dụ 1
§16. VÍ DỤ LÀM VIỆC VỚI TỆP
Việc đọc tệp kết thúc khi nào?
Việc đọc tệp
được kết
thúc khi con
trỏ đang ở vị
trí cuối tệp.

Chương trình:
§16. VÍ DỤ LÀM VIỆC VỚI TỆP
Program Khoang_cach;
Var d: real;
f: Text;
x, y: integer;
Begin
Assign(f, ’D:\TRAI.TXT’);
Reset(f);
While not eof(f) do

Begin
Read(f,x,y);
D:= Sqrt(x*x+y*y);
Writeln(‘Khoangcach:’ d:10:2);
End;
Close(f);
End.
1. Ví dụ 1
Click chạy chương trình

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
2. Ví dụ 2 (SGK trang 87 - 88)
Cho ba điện trở R1, R2, R3. Sử dụng cả
3 điện trở để tạo ra năm mạch điện trở
tương đương khác nhau bằng cách mắc
theo sơ đồ ở hình dưới đây.
Sơ đồ mắc điện trở

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
- Phân tích bài toán:
* Input:
+ Tệp văn bản RESIST.DAT gồm nhiều dòng,
mỗi dòng chứa 3 điện trở R1, R2, R3 (0 < R1,
R2, R3 ≤ 10
5
).
* Output: Tệp văn bản RESIST.EQU mỗi dòng
ghi năm điện trở tương đương của R1, R2, R3.


§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
Nhắc lại công thức tính
điện trở tương đương
của hai điện trở mắc nối
tiếp và mắc song song
Công thức tính điện trở tương đương
của hai điện trở mắc nối tiếp:
R = R
1
+ R
2
-
Công thức tính điện trở tương đương
của hai điện trở mắc song song:
21
111
RRR
+=

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
Cách mắc 3 điện trở
song song và nối tiếp ?
R = R
1
+ R
2
+ R

3
Sơ đồ 2: R=R1*R2/(R1+R2) +R3
Sơ đồ 3: R=R1*R3/(R1+R3)+R2
Sơ đồ 4: R=R2*R3/(R2+R3)+R1
321
1111
RRRR
++=

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
Dựa vào sơ đồ làm
việc với tệp văn bản
em hãy cho biết ví
dụ này sử dụng ghi
tệp hay đọc tệp?
Vừa đọc tệp và vừa
ghi tệp
Tệp nào ghi? Tệp
nào đọc?
Tệp F1 đọc, tệp
F2 ghi

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
Dùng lệnh
Read/Readln để
đọc tệp?
Readln.
Khi nào không

đọc tệp nữa?
Khi kết thúc
tệp.

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
2. Ví dụ 2
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);
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;
a[4]:=R2*R3/(R2+R3)+R1; a[5]:=R1+R2+R3;
For i:=1 to 5 do write(f2,a[i] :9:3,’ ’);
Writeln(f2);
End; Close(f1); Close(f2);
END.

Bài tập:
Câu 1: Hãy cho biết câu lệnh
nào sau đây là đúng ?
a. Assign(F1, vanban.dat)
b. Assign(F1, ‘vanban.dat’)
c. Assign(F1, ‘vanban.dat’).

d. Assign(F1, ‘vanban.dat’);

Câu 2:
Tại sao cần phải đóng tệp khi đã làm việc
xong?
Chỉ có đóng tệp thì khi đó hệ thống
mới thực sự hoàn tất ghi dữ liệu ra tệp.

Program Baitap;
Var f: text;
N, mx, k : longint;
Begin
Assign(f, ‘input.dat’);
Reset(f);
Mx := -21483647;
While not eof(f) do
Begin
Read(f, n);
I f n > mx then
Begin mx :=n;
k := 1 end
Else if n = mx then
Inc(k)
End;
Close(f);
Writeln(mx, ‘ ’, k);
End.
Cho biết đoạn chương trình
trên làm gì?
a. Tìm max và số lần đạt

max;
b. Tìm min và số lần thực
hiện min;
c. Tính cả hai sô max và
Min
d. Cả a, b, c đều sai.
Bài 3:

§16. VÍ DỤ LÀM VIỆC VỚI TỆP
1. Ví dụ 1
2. Ví dụ 2

Việc trao đổi với bộ nhớ ngoài được thực hiện
thông qua kiểu dữ 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 đều có các hàm và 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 và đóng tệp.
- Đọc, ghi dữ liệu từ tệp
Củng cố:
Làm bài tập về nhà trong SGK và các bài
5.1 đến 5.7 SBT
- Học kỹ bài để có thể viết chương trình

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×