Bài 16. Ví dụ làm việc với tệp
Chia sẻ bởi Nguyên Phước Hóa |
Ngày 10/05/2019 |
55
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ẢNG BÁO CÁO TIN HỌC 11
Nhóm thực hiện: Nhóm 2
Người thuyết trình: Nguyễn Phước Hoá
Trường THCS – THPT Long Phú
Lớp: 11C1
Nguyễn Phước Hoá
Nguyễn Thị Ngọc Xuân
Tôn Thị Ngọc Trân
Nguyễn Văn Lí
Huỳnh Công Luận
Lương Thị Tuyết Nhi
Nguyễn Thanh Trúc
Bài 16.
VÍ DỤ LÀM VIỆC VỚI TỆP
Ví dụ 2: Tính điện trở tương đương
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 sơ đồ:
Cho tệp văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba số thực R1, R2, R3, các số cách nhau một dấu cách , 0Viết chương trình đọc dữ liệu từ tệp RESIST.DAT, tính các điện trở tương đương và ghi kết quả ra tệp văn bản RESIST.EQU, mỗi dòng ghi 5 điện trở tương đương của ba điện trở ở dòng dữ liệu vào tương ứng.
R1, R2, R3 mắc nối tiếp:
R = R1 + R2 + R3
Tìm hiểu bài toán
Trong Vd trên, ta mở tệp để đọc hay để ghi? Dùng thủ tục nào để mở?
Dùng kiểu dữ liệu nào để lưu trữ 5 điện trở tương đương?
Trả lời :
-Trong VD trên chúng ta phải mở 2 tệp RESIST.DAT là để đọc Reset và tệp RESIST.EQU là để ghi dữ liệu vào Rewrite
- Có thể dùng 5 biến kiểu thực hoặc dùng mảng A gồm 5 phần tử số thực để lưu các điện trở tương đương.
Program Dien_tro;
Var a: array[1..5] of real;
R1, R2, R3: real; f1,f2 :text; i: integer;
Begin
Assign(f1,‘RESIST.DAT’);
Reset(f1);
Assign(f2,‘RESIST.EQU’);
Rewrite(f2);
{Gắn tệp ‘RESIST.DAT’ với biến tệp f1}
{Gắn tệp ‘RESIST.EQU’ với biến tệp f2}
{Mở tệp ‘RESIST.DAT’ để đọc dữ liệu}
{Mở tệp ‘RESIST.EQU’ để ghi dữ liệu}
5.While not eof(f1) do
6. Begin
7. Readln(f1,R1,R2,R3);
8. a[1]:=R1*R2*R3/(R1*R2+R1*R3+R2*R3);
9. a[2]:=R1*R2/(R1+R2)+R3;
10. a[3]:=R1*R3/(R1+R3)+R2;
11. a[4]:=R2*R3/(R2+R3)+R1;
12. a[5]:=R1+R2+R3;
13. For i:=1 to 5 do write(f2, a[i]:9:3,’ ‘);
14. Writeln(f2);
15. End;
16.Close(f1); Close(f2);
17.End.
{Đọc dữ liệu từ tệp, gán giá trị
Cho 3 biến R1, R2, R3}
{Ghi dữ
liệu vào tệp
{Đóng tệp}
{Đưa con trỏ tệp xuống dòng}
DEMO
CHƯƠNG TRÌNH
Nhóm thực hiện: Nhóm 2
Người thuyết trình: Nguyễn Phước Hoá
Trường THCS – THPT Long Phú
Lớp: 11C1
Nguyễn Phước Hoá
Nguyễn Thị Ngọc Xuân
Tôn Thị Ngọc Trân
Nguyễn Văn Lí
Huỳnh Công Luận
Lương Thị Tuyết Nhi
Nguyễn Thanh Trúc
Bài 16.
VÍ DỤ LÀM VIỆC VỚI TỆP
Ví dụ 2: Tính điện trở tương đương
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 sơ đồ:
Cho tệp văn bản RESIST.DAT gồm nhiều dòng, mỗi dòng chứa ba số thực R1, R2, R3, các số cách nhau một dấu cách , 0
R1, R2, R3 mắc nối tiếp:
R = R1 + R2 + R3
Tìm hiểu bài toán
Trong Vd trên, ta mở tệp để đọc hay để ghi? Dùng thủ tục nào để mở?
Dùng kiểu dữ liệu nào để lưu trữ 5 điện trở tương đương?
Trả lời :
-Trong VD trên chúng ta phải mở 2 tệp RESIST.DAT là để đọc Reset và tệp RESIST.EQU là để ghi dữ liệu vào Rewrite
- Có thể dùng 5 biến kiểu thực hoặc dùng mảng A gồm 5 phần tử số thực để lưu các điện trở tương đương.
Program Dien_tro;
Var a: array[1..5] of real;
R1, R2, R3: real; f1,f2 :text; i: integer;
Begin
Assign(f1,‘RESIST.DAT’);
Reset(f1);
Assign(f2,‘RESIST.EQU’);
Rewrite(f2);
{Gắn tệp ‘RESIST.DAT’ với biến tệp f1}
{Gắn tệp ‘RESIST.EQU’ với biến tệp f2}
{Mở tệp ‘RESIST.DAT’ để đọc dữ liệu}
{Mở tệp ‘RESIST.EQU’ để ghi dữ liệu}
5.While not eof(f1) do
6. Begin
7. Readln(f1,R1,R2,R3);
8. a[1]:=R1*R2*R3/(R1*R2+R1*R3+R2*R3);
9. a[2]:=R1*R2/(R1+R2)+R3;
10. a[3]:=R1*R3/(R1+R3)+R2;
11. a[4]:=R2*R3/(R2+R3)+R1;
12. a[5]:=R1+R2+R3;
13. For i:=1 to 5 do write(f2, a[i]:9:3,’ ‘);
14. Writeln(f2);
15. End;
16.Close(f1); Close(f2);
17.End.
{Đọc dữ liệu từ tệp, gán giá trị
Cho 3 biến R1, R2, R3}
{Ghi dữ
liệu vào tệp
{Đóng tệp}
{Đưa con trỏ tệp xuống dòng}
DEMO
CHƯƠNG TRÌNH
* 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 Phước Hóa
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)