Bài 16. Ví dụ làm việc với tệp
Chia sẻ bởi Nguyễn Tấn Phát |
Ngày 10/05/2019 |
102
Chia sẻ tài liệu: Bài 16. Ví dụ làm việc với tệp thuộc Tin học 11
Nội dung tài liệu:
Bài 16
Giáo viên thực hiện: Nguyễn Tấn Phát
Tuần: . 29. . . . .
Tiết: . .38 . . .
Ngày dạy: . . . . ./. . . ./ 2009
CHƯƠNG V: TỆP VÀ THAO TÁC VỚI TỆP
Ví dụ 1: Một trường học phổ thông tổ chức cho giáo viên và học sinh của trường cấm trại, sinh hoạt ngoài trời ở vườn quốc gia Cúc Phương. Để lên lịch đến thăm khu trại các lớp, thầy hiệu trưởng cần biết khoảng cách từ trại của mình(ở vị trí tọa độ (0,0)) đến trại của các giáo viên chủ nhiệm. Mỗi lớp có một khu trại, vị trí trại của giáo viên chủ nhiệm đều có tọa độ nguyên (x,y).
Yêu cầu: Tính khoảng cách giữa trại của mỗi giáo viên chủ nhiệm và trại của thầy hiệu trưởng sau đó xuất dữ liệu ra màn hình.
Dữ liệu vào: Cho file văn bản TRAI.INP gồm liên tiếp các cặp số nguyên, các số cách nhau bởi dấu cách.
File TRAI.INP bên có bao nhiêu vị trí trại của giáo viên chủ nhiệm
Khi đọc file ta nên đọc một lần bao nhiêu số?
Nên đọc một lần 2 số
Đọc file tới khi nào dừng và dùng hàm gì để kiểm tra?
- Đọc cho tới cuối file
- Dùng hàm eof(f)
Công thức tính khoảng cách giữa gốc tọa độ đến tọa độ (x,y)?
D=sqrt(x*x+y*y)
- Khai báo;
Program vd1;
Uses crt;
Var tep : TEXT;
d : real;
x,y : Integer;
- Gán tên tệp;
BEGIN
Clrscr;
ASSIGN(tep, ‘TRAI.INP’);
- Mở tệp ra để đọc;
RESET(tep);
Các bước:
Thể hiện bằng pascal
- Đọc từng tọa độ trong file, mỗi lần đọc 2 số
Begin
read(f,x,y) ;
d:=sqrt(x*x+y*y);
Writeln(`Khoang cach: `,d:10:2);
End;
While not eof(f) do
- Đóng tệp.
Close(tep);
Readln;
END.
Nhấn F3 để mở tệp BAITAP.INP xem nội dung.
Nội dung tệp BAITAP.INP
Cho ba điện trở R1, R2, R3. Sử dụng cả ba điện trở để tạo ra năm mạch điện có điện trở tương đương khác nhau bằng cách mắc theo các sơ đồ nêu ở hình 17
Ví dụ 2: Tính điện trở tương đương
Sơ đồ I
Sơ đồ V
Yêu cầu: Tính các điện trở tương đương
Dữ liệu vào: Cho file văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba số thực R1, R2 và R3 các số cách nhau một dấu cách. 0<=R1,R2,R3<=105
Dữ liệu ra: Ghi ra file RESIST.EQU. Năm điện trở tương đương của ba điện trở R1, R2, R3.
- Khai báo;
Program vd2;
Uses crt;
Var a: array[1..5] of real;
f1,f2 : TEXT;
R1,R2,R3 : real;
i : Integer;
- Gán tên tệp;
BEGIN
Clrscr;
ASSIGN(f1, ‘RESIST.DAT’);
- Mở tệp ra để đọc;
RESET(f1);
Các bước:
Thể hiện bằng pascal
- Đọc file
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;
While not eof(f) do
- Đóng tệp.
Close(f1);
Readln;
END.
Close(f2);
Giáo viên thực hiện: Nguyễn Tấn Phát
Tuần: . 29. . . . .
Tiết: . .38 . . .
Ngày dạy: . . . . ./. . . ./ 2009
CHƯƠNG V: TỆP VÀ THAO TÁC VỚI TỆP
Ví dụ 1: Một trường học phổ thông tổ chức cho giáo viên và học sinh của trường cấm trại, sinh hoạt ngoài trời ở vườn quốc gia Cúc Phương. Để lên lịch đến thăm khu trại các lớp, thầy hiệu trưởng cần biết khoảng cách từ trại của mình(ở vị trí tọa độ (0,0)) đến trại của các giáo viên chủ nhiệm. Mỗi lớp có một khu trại, vị trí trại của giáo viên chủ nhiệm đều có tọa độ nguyên (x,y).
Yêu cầu: Tính khoảng cách giữa trại của mỗi giáo viên chủ nhiệm và trại của thầy hiệu trưởng sau đó xuất dữ liệu ra màn hình.
Dữ liệu vào: Cho file văn bản TRAI.INP gồm liên tiếp các cặp số nguyên, các số cách nhau bởi dấu cách.
File TRAI.INP bên có bao nhiêu vị trí trại của giáo viên chủ nhiệm
Khi đọc file ta nên đọc một lần bao nhiêu số?
Nên đọc một lần 2 số
Đọc file tới khi nào dừng và dùng hàm gì để kiểm tra?
- Đọc cho tới cuối file
- Dùng hàm eof(f)
Công thức tính khoảng cách giữa gốc tọa độ đến tọa độ (x,y)?
D=sqrt(x*x+y*y)
- Khai báo;
Program vd1;
Uses crt;
Var tep : TEXT;
d : real;
x,y : Integer;
- Gán tên tệp;
BEGIN
Clrscr;
ASSIGN(tep, ‘TRAI.INP’);
- Mở tệp ra để đọc;
RESET(tep);
Các bước:
Thể hiện bằng pascal
- Đọc từng tọa độ trong file, mỗi lần đọc 2 số
Begin
read(f,x,y) ;
d:=sqrt(x*x+y*y);
Writeln(`Khoang cach: `,d:10:2);
End;
While not eof(f) do
- Đóng tệp.
Close(tep);
Readln;
END.
Nhấn F3 để mở tệp BAITAP.INP xem nội dung.
Nội dung tệp BAITAP.INP
Cho ba điện trở R1, R2, R3. Sử dụng cả ba điện trở để tạo ra năm mạch điện có điện trở tương đương khác nhau bằng cách mắc theo các sơ đồ nêu ở hình 17
Ví dụ 2: Tính điện trở tương đương
Sơ đồ I
Sơ đồ V
Yêu cầu: Tính các điện trở tương đương
Dữ liệu vào: Cho file văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba số thực R1, R2 và R3 các số cách nhau một dấu cách. 0<=R1,R2,R3<=105
Dữ liệu ra: Ghi ra file RESIST.EQU. Năm điện trở tương đương của ba điện trở R1, R2, R3.
- Khai báo;
Program vd2;
Uses crt;
Var a: array[1..5] of real;
f1,f2 : TEXT;
R1,R2,R3 : real;
i : Integer;
- Gán tên tệp;
BEGIN
Clrscr;
ASSIGN(f1, ‘RESIST.DAT’);
- Mở tệp ra để đọc;
RESET(f1);
Các bước:
Thể hiện bằng pascal
- Đọc file
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;
While not eof(f) do
- Đóng tệp.
Close(f1);
Readln;
END.
Close(f2);
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Nguyễn Tấn Phát
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)