Bài tập  /  Bài đang cần trả lời

Giải Tin học 11 Bài 15: Ví dụ làm việc với tệp - Bài 16: Ví dụ làm việc với tệp

1 Xem trả lời
Hỏi chi tiết
428
0
0
Trần Đan Phương
07/04/2018 14:48:52

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

Ví dụ 1:

Một trường trung học phổ thông tổ chức cho giáo viên và học sinh của trường đi 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í có 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 mỗi giáo viên chủ nhiệm đều có tọa độ nguyên (x,y) được ghi trong tệp văn bản TRAI.TXT (như vậy tệp 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).

Trả lời:

Ta sử dụng hàm eof để kiểm tra xem đã đọc hết tệp hay chưa (Hàm này giới thiệu ở bài trước).

Sau đó lần lượt đọc 2 số nguyên ra rồi tính khoảng cách của điểm (x,y) đến điểm (0,0) bằng công thức

Kc=√(x^2+y^2 )

 program kc; uses crt; var 	d:real; 	f:text; 	x,y:integer; begin 	clrscr; 	assign(f,'TRAI.TXT'); 	reset(f); 	while not eof(f) do 	begin 		read(f,x,y); 		d:=sqrt(x*x+y*y); 		writeln('Khoang cach :',d:10:2); 	end; 	close(f); 	readkey; end. 

Kết quả:

File TRAI.TXT

Giải bài tập Tin học 11 | Để học tốt Tin học 11

Kết quả in ra màn hình

Giải bài tập Tin học 11 | Để học tốt Tin học 11

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 các sơ đồ nêu ở hình 17.

Mỗi cách mắc sẽ cho một điện trở tương đương khác nhau.

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 <=105.

Chương trình đọc dữ liệu từ tệp RESIST.DAT và RESIST.EQU, mỗi dòng ghi năm điện trở tương đương của ba điện trở ở dòng dữ liệu vào tương ứng.

Trả lời:

program dientro; uses crt; var a:array[1..5] of real; R1,R2,R3:real; i:integer; f1,f2:text; begin assign(f1,'RESIST.DAT'); reset(f1); assign(f2,'RESIST.EQU'); rewrite(f2); while not eof(f1) do 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; close(f1); close(f2); end.

Mở khóa để xem toàn bộ nội dung trả lời

(?)
Bạn đã đạt đến giới hạn của mình. Bằng cách Đăng ký tài khoản, bạn có thể xem toàn bộ nội dung trả lời
Cải thiện điểm số của bạn bằng cách đăng ký tài khoản Lazi.
Xem toàn bộ các câu trả lời, chat trực tiếp 1:1 với đội ngũ Gia sư Lazi bằng cách Đăng nhập tài khoản ngay bây giờ
Tôi đã có tài khoản? Đăng nhập

Bạn hỏi - Lazi trả lời

Bạn muốn biết điều gì?

GỬI CÂU HỎI
Học tập không giới hạn cùng học sinh cả nước và AI, sôi động, tích cực, trải nghiệm

Hôm nay bạn thế nào? Hãy nhấp vào một lựa chọn, nếu may mắn bạn sẽ được tặng 50.000 xu từ Lazi

Vui Buồn Bình thường
×
Trợ lý ảo Trợ lý ảo
×
Đấu trường tri thức | Lazi Quiz Challenge +500k
Gửi câu hỏi
×