Tải bản đầy đủ (.pptx) (12 trang)

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

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 (249.8 KB, 12 trang )

Giáo viên hướng dẫn: Tạ Thị Hồng Nhung
Giáo sinh thực hiện : Nguyễn Thị Yến


 Chia lớp thành 4 nhóm.
 Nội dung: Viết tất cả cú pháp các câu lệnh đã
học trong bài 15 vào giấy.
 Thời gian: Sau 4 phút các nhóm báo cáo vòng
tròn.


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


VÍ 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)
-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.


Xác định bài toán
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ây dựng thuật toán ?
B1. Kiểm tra con trỏ 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;
B4. Quay lại B1.


Thực hiện.
Phần khai báo:
 Biến tệp f để đọc dữ liệu từ
tệp.
 Khai báo biến d, x, y.
Phần thân:
 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.

PASCAL
Var
f :text;
d: real; x, y: integer;

Begin
Assign(f, ‘TRAI.TXT’);
Reset(f);
While not eof(f) do
Begin
Read(f,x,y);
d:= sqrt(x*x+y*y);
Write(‘Khoang cach:
‘,d:10:2);
End;
Close(f);
End.



VÍ DỤ 2: Đưa các câu lệnh sau vào những vị trí cần thiết
nhằm đổi chương trình trên để có được chương trình đọc dữ
liệu từ bàn phím và ghi dữ liệu vào tệp?

Chương trình
{1} Var
{2}

s: string;

a: byte;

{3} Begin
{4}


readln(s);

{5}

a:=length(s);

{6}

write(a);

{7}

readln;

{8} End.

Câu lệnh
f1: text;
Assign(f1,’c:\ghixau1.txt’);
Rewrite( f1);
Write(f1,a);
Close(f1);


{1} Var s: string;
{2}

a: byte;

f1: text;


{3} Begin

Assign(f1,’c:\ghixau1.txt’);

{4}

Rewrite( f1);

readln(s);

Write(f1,a);
{5}

a:=length(s);

{6}

write(a);

{7}

readln;

{8} End.

Close(f1);


Var


s: string;
a: byte;
f1: text;

Begin readln(s);
Assign(f1,’c:\ghixau1.txt’);
Rewrite( f1);
a:=length(s);
Write(f1,a);
{write(a);}
Close(f1);
readln;
End.




×