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

bai 16: 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 (947.06 KB, 19 trang )

Giáo viên: Hà Ngọc Thương
Giáo viên: Hà Ngọc Thương
Câu 1:
. Viết khai báo biến tệp với tên biến tệp là ‘f’.
. Gắn tên tệp ‘ViDu.txt’ cho biến tệp f.
. Mở tệp để đọc dữ liệu.
. Đọc dữ liệu từ tệp ‘ViDu.txt’ vào 2 biến x, y.
. Đóng tệp.
ĐÁP ÁN:
Var f: text;
Assign(f,’ViDu.txt’);
Reset(f);
Readln(f, x, y);
Close(f);
Câu 2:
. Viết khai báo biến tệp với tên biến tệp là ‘f’.
. Gắn tên tệp ‘Ketqua.txt’ cho biến tệp f.
. Mở tệp để ghi dữ liệu.
. Ghi dữ liệu là s1, s2 vào tệp ‘Ketqua.txt’.
. Đóng tệp.
ĐÁP ÁN:
Var f: text;
Assign(f,’Ketqua.txt’);
Rewrite(f);
Writeln(f, s1, s2);
Close(f);
VÍ DỤ 1:
VÍ DỤ 1:
Trại của thầy HT có toạ độ (0,0). Trại của các GVCN
Trại của thầy HT có toạ độ (0,0). Trại của các GVCN
có toạ độ nguyên (x,y) được ghi trong tệp văn bản


có toạ độ nguyên (x,y) được ghi trong tệp văn bản
‘TRAI.TXT’ (chứa liên tiếp các cặp số nguyên, các số
‘TRAI.TXT’ (chứa liên tiếp các cặp số nguyên, các số
cách nhau bởi dấu cách và không kết thúc bằng kí tự
cách nhau bởi dấu cách và không kết thúc bằng kí tự
xuống dòng). Yêu cầu đọc các cặp toạ độ từ tệp
xuống dòng). Yêu cầu đọc các cặp toạ độ từ tệp
‘TRAI.TXT’, tính rồi đưa ra màn hình khoảng cách
‘TRAI.TXT’, tính rồi đưa ra màn hình khoảng cách
giữa trại của mỗi GVCN và trại của thầy HT.
giữa trại của mỗi GVCN và trại của thầy HT.
* Input:
* Input:
+ Tọa độ trại Hiệu trưởng O(0,0)
+ Tọa độ trại 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.
+ Tệp TRAI.TXT chứa các cặp số nguyên (x,y) liên tiếp.
* Output:
* Output:
Khoảng cách giữa trại mỗi lớp và trại thầy hiệu trưởng
Khoảng cách giữa trại mỗi lớp và trại thầy hiệu trưởng
Xác định bài toán
Xác định bài toán
Tệp ‘
Tệp ‘
Trai.txt
Trai.txt


B1. Nếu hết tệp TRAI.TXT thì kết thúc thuật toán;

B1. Nếu hết tệp TRAI.TXT thì kết thúc thuật toán;
B2. Đọc giá trị x, y từ tệp TRAI.TXT;
B2. Đọc giá trị x, y từ tệp TRAI.TXT;
B3. Tính và in khoảng cách d;
B3. Tính và in khoảng cách d;
B4. Quay lại B1.
B4. Quay lại B1.
Xây dựng thuật toán ?
Xây dựng thuật toán ?
- Khai báo biến tệp f để đọc dữ liệu từ tệp.
- Khai báo biến tệp f để đọc dữ liệu từ tệp.
- Khai báo biến d, x, y.
- Khai báo biến d, x, y.
-


Gắn biến tệp f với tệp ‘TRAI.TXT’
Gắn biến tệp f với tệp ‘TRAI.TXT’
-


Mở tệp để đọc dữ liệu.
Mở tệp để đọc dữ liệu.
- Lặp lại nếu chưa hết tệp:
- Lặp lại nếu chưa hết tệp:


1. Đọc giá trị x, y từ biến tệp f
1. Đọc giá trị x, y từ biến tệp f



2. Tính d
2. Tính d


3. In d ra màn hình
3. In d ra màn hình
- Đóng tệp.
- Đóng tệp.
Trình tự các bước thực hiện.
Trình tự các bước thực hiện.
Progam Khoang_cach;
Var d: real; f :text; x, y: integer;
Begin
1. Assign(f, ‘TRAI.TXT’);
2. Reset(f);
3. While not eof(f) do
4. Begin
5. Read(f,x,y);
6. D:= sqrt(x*x+y*y);
7. Write(‘Khoang cach: ‘,d:10:2);
8. End;
9. Close(f);
10. End.
{Gắn tệp ‘TRAI.TXT’ với biến tệp f}
{Mở tệp ‘TRAI.TXT’ để đọc dữ liệu}
{Kiểm tra con trỏ tệp đã chỉ cuối tệp chưa}
{Đọc dữ liệu từ tệp, gán giá trị
cho 2 biến x, y}
{Đóng tệp}

DEMO
Thực hiện
Thực hiện
VÍ DỤ 2:
VÍ DỤ 2:
Trại của thầy HT có toạ độ (0,0). Trại của các GVCN
Trại của thầy HT có toạ độ (0,0). Trại của các GVCN
có toạ độ nguyên (x,y) được ghi trong tệp văn bản
có toạ độ nguyên (x,y) được ghi trong tệp văn bản
‘TRAI.TXT’ (chứa liên tiếp các cặp số nguyên, các số
‘TRAI.TXT’ (chứa liên tiếp các cặp số nguyên, các số
cách nhau bởi dấu cách và không kết thúc bằng kí tự
cách nhau bởi dấu cách và không kết thúc bằng kí tự
xuống dòng). Yêu cầu đọc các cặp toạ độ từ tệp
xuống dòng). Yêu cầu đọc các cặp toạ độ từ tệp
‘TRAI.TXT’, tính ghi vào tệp ‘KHOANG CACH’
‘TRAI.TXT’, tính ghi vào tệp ‘KHOANG CACH’
khoảng cách giữa trại của mỗi GVCN và trại của thầy
khoảng cách giữa trại của mỗi GVCN và trại của thầy
HT, mỗi khoảng cách trên một dòng.
HT, mỗi khoảng cách trên một dòng.
* Input:
* Input:
+ Tọa độ trại Hiệu trưởng O(0,0)
+ Tọa độ trại 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.
+ Tệp TRAI.TXT chứa các cặp số nguyên (x,y) liên tiếp.
* Output:
* Output:
+ Tệp ‘KHOANGCACH.TXT’ chứa các khoảng cách

+ Tệp ‘KHOANGCACH.TXT’ chứa các khoảng cách
giữa các trại Giáo viên với trại Hiệu trưởng, mỗi
giữa các trại Giáo viên với trại Hiệu trưởng, mỗi
khoảng cách trên một dòng.
khoảng cách trên một dòng.
Xác định bài toán
Xác định bài toán
- Khai báo biến tệp f1, f2 để đọc, ghi dữ liệu từ tệp.
- Khai báo biến tệp f1, f2 để đọc, ghi dữ liệu từ tệp.
- Khai báo biến d, x, y.
- Khai báo biến d, x, y.
-


Gắn biến tệp f1 với tệp ‘TRAI.TXT’
Gắn biến tệp f1 với tệp ‘TRAI.TXT’
-


Mở tệp ‘TRAI.TXT’ để đọc dữ liệu.
Mở tệp ‘TRAI.TXT’ để đọc dữ liệu.
- Gắn biến tệp f2 với tệp ‘KHOANGCACH.TXT’
- Gắn biến tệp f2 với tệp ‘KHOANGCACH.TXT’


Mở tệp ‘KHOANGCACH.TXT’ để ghi dữ liệu.
Mở tệp ‘KHOANGCACH.TXT’ để ghi dữ liệu.
- Lặp lại nếu chưa hết tệp:
- Lặp lại nếu chưa hết tệp:



1. Đọc giá trị x, y từ biến tệp f1
1. Đọc giá trị x, y từ biến tệp f1


2. Tính d
2. Tính d


3. Ghi giá trị d vào biến tệp f2
3. Ghi giá trị d vào biến tệp f2
- Đóng tệp.
- Đóng tệp.
Trình tự các bước thực hiện.
Trình tự các bước thực hiện.
Program VD2;
Program VD2;
Var f1,f2 : text; x ,y : integer; d:real;
Var f1,f2 : text; x ,y : integer; d:real;
Begin
Begin
assign(f1, ‘c:\trai.txt’);
assign(f1, ‘c:\trai.txt’);
reset(f1);
reset(f1);
assign(f2, ‘c:\khoangcach.txt’);
assign(f2, ‘c:\khoangcach.txt’);
rewrite(f2);
rewrite(f2);
while not eof(f1) do

while not eof(f1) do
begin
begin
readln(f1,x,y);
readln(f1,x,y);
d:= sqrt(x*x+y*y);
d:= sqrt(x*x+y*y);
writeln(f2,d:9:3);
writeln(f2,d:9:3);
end;
end;
close(f1); close(f2); readln
close(f1); close(f2); readln
End.
End.
Thực hiện
Thực hiện
VÍ DỤ 3:
VÍ DỤ 3:
Cho một dãy số nguyên, mỗi số trên một dòng được ghi
Cho một dãy số nguyên, mỗi số trên một dòng được ghi
trong tệp ‘SONGUYEN.TXT’. Viết chương trình tạo
trong tệp ‘SONGUYEN.TXT’. Viết chương trình tạo
tệp ‘SOCHAN.TXT’ chứa các số chẵn có trong tệp
tệp ‘SOCHAN.TXT’ chứa các số chẵn có trong tệp
‘SONGUYEN.TXT’, mỗi số cách nhau một dấu cách.
‘SONGUYEN.TXT’, mỗi số cách nhau một dấu cách.
* Input:
* Input:
+ Tệp SONGUYEN.TXT chứa một dãy số nguyên, mỗi

+ Tệp SONGUYEN.TXT chứa một dãy số nguyên, mỗi
số trên một dòng.
số trên một dòng.
* Output:
* Output:
+ Tệp ‘SOCHAN.TXT’ chứa các số chẵn, mỗi số cách
+ Tệp ‘SOCHAN.TXT’ chứa các số chẵn, mỗi số cách
nhau một dấu cách.
nhau một dấu cách.
Xác định bài toán
Xác định bài toán
- Khai báo biến tệp f1, f2 để đọc, ghi dữ liệu từ tệp.
- Khai báo biến tệp f1, f2 để đọc, ghi dữ liệu từ tệp.
- Khai báo biến x.
- Khai báo biến x.
-


Gắn biến tệp f1 với tệp ‘SONGUYEN.TXT’
Gắn biến tệp f1 với tệp ‘SONGUYEN.TXT’
-


Mở tệp ‘SONGUYEN.TXT’ để đọc dữ liệu.
Mở tệp ‘SONGUYEN.TXT’ để đọc dữ liệu.
- Gắn biến tệp f2 với tệp ‘SOCHAN.TXT’
- Gắn biến tệp f2 với tệp ‘SOCHAN.TXT’


Mở tệp ‘SOCHAN.TXT’ để ghi dữ liệu.

Mở tệp ‘SOCHAN.TXT’ để ghi dữ liệu.
- Lặp lại nếu chưa hết tệp:
- Lặp lại nếu chưa hết tệp:


1. Đọc giá trị x từ biến tệp f1
1. Đọc giá trị x từ biến tệp f1


2. Nếu x chẵn ghi giá trị x vào biến tệp f2
2. Nếu x chẵn ghi giá trị x vào biến tệp f2
- Đóng tệp.
- Đóng tệp.
Trình tự các bước thực hiện.
Trình tự các bước thực hiện.
Program VD3;
Program VD3;
Var f1,f2 : text;
Var f1,f2 : text;
x : integer;
x : integer;
Begin
Begin
assign(f1, ‘c:\songuyen.txt’);
assign(f1, ‘c:\songuyen.txt’);
reset(f1);
reset(f1);
assign(f2, ‘c:\sochan.txt’);
assign(f2, ‘c:\sochan.txt’);
rewrite(f2);

rewrite(f2);
while not eof(f1) do
while not eof(f1) do
begin
begin
readln(f1,x);
readln(f1,x);
if x mod 2 = 0 then write(f2,x,’ ‘);
if x mod 2 = 0 then write(f2,x,’ ‘);
end;
end;
close(f1); close(f2); readln
close(f1); close(f2); readln
End.
End.
Thực hiện
Thực hiện
Bài tập về nhà:
Bài tập về nhà:
Cho một dãy số nguyên, mỗi số trên một dòng được
Cho một dãy số nguyên, mỗi số trên một dòng được
ghi trong tệp ‘SONGUYEN.TXT’. Viết chương
ghi trong tệp ‘SONGUYEN.TXT’. Viết chương
trình tạo tệp ‘SONGUYENTO.TXT’ chứa các số
trình tạo tệp ‘SONGUYENTO.TXT’ chứa các số
nguyên tố có trong tệp ‘SONGUYEN.TXT’, mỗi số
nguyên tố có trong tệp ‘SONGUYEN.TXT’, mỗi số
cách nhau một dấu cách.
cách nhau một dấu cách.

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

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