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

Câu này nhằm mục đích tìm hiểu việc xây dựng các hàm và thủ tục thực hiện tính độ dài các cạnh, chu vi, diện tích, kiểm tra các tính đều, cân, vuông của tam giác

1 Xem trả lời
Hỏi chi tiết
564
0
0
Tô Hương Liên
08/09/2017 01:56:01
1. Mục đích, yêu cầu
- Nâng cao kĩ năng viết, sử dụng chương trình con.
- Biết cách viết một chương trình có cấu trúc để giãi một bài toán trên máy tính.
2. Nội dung
a) Câu này nhằm mục đích tìm hiểu việc xây dựng các hàm và thủ tục thực hiện tính độ dài các cạnh, chu vi, diện tích, kiểm tra các tính đều, cân, vuông của tam giác. Cụ thể là:
- Chúng ta cần hiểu rõ cách sử dụng kiểu bản ghi để mô tả một tam giác.
- Xây dựng các thủ tục và hàm đó là:
- Thủ tục nhận dữ liệu vào là biến mô tả tam giác R và đầu ra là độ dài của ba cạnh a, b, c;
- Hàm tính chu vi của tam giác R;
- Hàm tính diện tích cùa tam giác R;
- Hàm tính khoảng cách giữa hai điểm P, Q
- Thủ tục hiển thị tọa độ ba đinh tam giác lên màn hình;
- ThỦ tục nhận đầu vào là biến mô tà tam giác R và đầu ra là tính chất của tam giác (Deu hay Can hay Vuong);
b) Trong câu này các chương triình con giải quyết một số bài toán đơn giản liên quan đến tam giác khi biết tọa độ các đỉnh, đó là: tính độ dài cạnh, tính chu vi, tính diện tích, kiển tra các tính chất (đều, cân, vuông).
Khi dạy chương trình, giả sử ta nhập tọa độ của các đinh A, B, C theo thứ tự là: (2, 30), (15,10), (15, 40) thì trên màn hình thông báo:
Dien tich: 130.000,Chu vi: 52.802 Tam giac co tinh Chat: la tam giac can
Kết quả chương trình như hình 75 dưới đây:

Còn khi nhập tọa độ cùa các đinh A, B, c theo thứ tự là: (5, 30), (15,20), (75. 40) thì trên màn hình thông báo:
Dien tich: 100.000,Chu i: 48.284 Tam giac co tinh Chat: la tam giac vuong can
Kết quả chương trình như hình 76 dưới đây:

c) Để xây dựng chương trình có sử dựng các hàm và thủ tục xây dựng ở câu a) trên nhầm đưa ra tính chất các tam giác:

- Số lượng tam giác đều;
- Số lượng tam giác cân;
- Số lượng tam giác vuông.
ta cần tạo tệp tamgiac.dat, để từ tệp này đọc dữ liệu sang tệp của chương trình chính.
- Chương trình tạo tệp tamgỉac. dat nhằm mục đích để nhập tọa độ (Các đỉnh của tam giác.
program cau_c_btth7;
uses crt;
type
Diem = record X, y:real,
end;
Tamgiac= record
A, B, C: Diem;
end;
var i, n: integer; f: text;
T: Tamgiac;
begin
clrscr;
assign(f,'tamgiac.dat');
rewrite(f),
writs 'Nhap so tam giac: ' );
read(n);
writeln (f, n) ;
for i:= 1 to n do
begin
wrri teln ( ' Nhap toa cua tam giac ',i,' la:');
read(T.A.X, T.A.y, T.B.X,T.B.y,T.C.X,T.C.y);
writeln ( f, T. A. X, T.A.y, T.B.x,T.B.y,T.C.x,T.C.y);
end
clrscr(f) ;
reacln
end.

Khi clạy chương trình, ta nhập số tam giác N= 3, với các tọa độ của tam giác lần lượt như sau (Hình 77):
Tọa độ của tam giác 1 là: (5; 10); (20; 10); (20; 50) (đây là tam giác vuông)
Tọa độ của tam giác 2 là: (2;30); (15; 20); (15; 40) (đây là tam giác cán)
Tọa độ của tam giác 2 là: (5; 30); (15; 20); (15; 35) (đây là tam giác thường)


begin
a : =Kh_cach (R . B, R.C);
 b:=Kh_cach(R.A, R.C);
c:=Kh_cach(R.A,R.B);
end;
procedure Tinhchat(var R:Tamgiac; var Deu, Can, Vuong: Boolean);
var a, b, c:real;
begin
Deu:=false; Can:=false; Vuong:=false;
Daicanh(R, a, b, c); ifMabs (a-b) <eps) and (abs (a-c) <eps) then
begin
Deu:= true;
Can:= true;
end else
if (abs (a-b) <eps) or (abs (a-c) <eps) or (abs (b-c) <ep:S) then Can:=true;
if (abs(a*a+b*b-c*c)<eps) or (abs (a*a+c*c-k*b) <c-ps) or (abs(b*b+c*c-a*a)<eps) then Vuong:= truer
end;
Begin
deu:= 0; can:= 0; vuong:= 0;
assign ( f, ' tamgiac . dat' ),
reset(f);
readln(f,N);
for i:= 1 to N do
begin
readln(f, T.A.X, T.A.y, T.B.x,T.B.y,T.C.x,T.C.y);
Tinhchat(T, D, Cn, V);
If D then deu:= deu + 1 else
begin
if Cn then can:= can + 1;
if V then vuong:= vuong + 1;
end;end;
writeln('Co: ',deu,'tam giac deu');
writeln('Co: can,'tam giac can(khong deu)' );
writeln('Co: ’,vuong, 'tam giac vuong);
readln;
end 

Co 0 tam giac deu
Co 1 tam giac can(khong deu)
Co 1 tam giac vuong
Kt quả chương trình như hình 78 dưới đây:





 

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
×