Trại của các GVCN 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ố 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
Trang 1Giáo viên: Hà Ngọc Thương
Trang 2Câ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);
Trang 3Câ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);
Trang 4VÍ DỤ 1:
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
‘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ự 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 giữa trại của mỗi GVCN và trại của thầy HT.
Trang 5* Input:
+ 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.
* Output:
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
Tệp ‘Trai.txt’
Trang 6B1 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;
B3 Tính và in khoảng cách d;
B4 Quay lại B1
Xây dựng thuật toán ?
Trang 7- Khai báo biến tệp f để đọc dữ liệu từ tệp.
- Khai báo biến d, x, y.
- Gắn biến tệp f với tệp ‘TRAI.TXT’
- Mở tệp để đọc dữ liệu.
- Lặp lại nếu chưa hết tệp:
1 Đọc giá trị x, y từ biến tệp f
2 Tính d
3 In d ra màn hình
- Đóng tệp.
Trình tự các bước thực hiện.
Trang 8Progam 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
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}
Trang 9Thực hiện
Trang 10VÍ DỤ 2:
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
‘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ự 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’ 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.
Trang 11* Input:
+ 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.
* Output:
+ 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
khoảng cách trên một dòng
Xác định bài toán
Trang 12- 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.
- Gắn biến tệp f1 với tệp ‘TRAI.TXT’
- Mở tệp ‘TRAI.TXT’ để đọc dữ liệu.
- Gắn biến tệp f2 với tệp ‘KHOANGCACH.TXT’
Mở tệp ‘KHOANGCACH.TXT’ để ghi dữ liệu.
- Lặp lại nếu chưa hết tệp:
1 Đọc giá trị x, y từ biến tệp f1
2 Tính d
3 Ghi giá trị d vào biến tệp f2
- Đóng tệp.
Trình tự các bước thực hiện.
Trang 13Program VD2;
Var f1,f2 : text; x ,y : integer; d:real;
Begin
assign(f1, ‘c:\trai.txt’);
reset(f1);
assign(f2, ‘c:\khoangcach.txt’);
rewrite(f2);
while not eof(f1) do begin
readln(f1,x,y);
d:= sqrt(x*x+y*y);
writeln(f2,d:9:3);
end;
close(f1); close(f2); readln End.
Thực hiện
Trang 14VÍ DỤ 3:
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 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.
Trang 15* Input:
+ Tệp SONGUYEN.TXT chứa một dãy số nguyên, mỗi
số trên một dòng.
* Output:
+ Tệp ‘SOCHAN.TXT’ chứa các số chẵn, mỗi số cách nhau một dấu cách.
Xác định bài toán
Trang 16- Khai báo biến tệp f1, f2 để đọc, ghi dữ liệu từ tệp.
- Khai báo biến x.
- Gắn biến tệp f1 với tệp ‘SONGUYEN.TXT’
- Mở tệp ‘SONGUYEN.TXT’ để đọc dữ liệu.
- Gắn biến tệp f2 với tệp ‘SOCHAN.TXT’
Mở tệp ‘SOCHAN.TXT’ để ghi dữ liệu.
- Lặp lại nếu chưa hết tệp:
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
- Đóng tệp.
Trình tự các bước thực hiện.
Trang 17Program VD3;
Var f1,f2 : text;
x : integer;
Begin
assign(f1, ‘c:\songuyen.txt’);
reset(f1);
assign(f2, ‘c:\sochan.txt’);
rewrite(f2);
while not eof(f1) do begin
readln(f1,x);
if x mod 2 = 0 then write(f2,x,’ ‘);
end;
close(f1); close(f2); readln End.
Thực hiện
Trang 18Bài tập về nhà:
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 tệp ‘SONGUYENTO.TXT’ chứa các số nguyên tố có trong tệp ‘SONGUYEN.TXT’, mỗi số cách nhau một dấu cách.