Tin Học 11 Viết Chương Trình Tính Diện Tích Hình Tam Giác, Viết Chương Trình Pascal Tính Diện Tích Tam Giác

– Chọn bài -Bài 17: Chương trình con và phân loạiBài 18: Ví dụ về cách viết và sử dụng chương trình conBài tập và thực hành 6Bài tập và thực hành 7Bài 19: Thư viện chương trình con chuẩnBài tập và thực hành 8Giải bài tập Tin học 11 trang 117

Giải Bài Tập Tin Học 11 – Bài tập và thực hành 7 giúp HS giải bài tập, giúp cho các em hình thành và phát triển năng lực sử dụng công nghệ thông tin và truyền thông:

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.

Đang xem: Tin học 11 viết chương trình tính diện tích hình tam giác

2. Nội dung

a) 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 chất đều, cân, vuông của tam giác được trình bày dưới đây.

Giả thiết tam giác được xác định bởi tọa độ của ba đỉnh. Ta sử dụng kiểu bản ghi để mô tả một tam giác.

Type Diem=recordX,y:real End; Tamgiac=record A,B,C:Diem;End;Ta xây dựng các thủ tục và hàm :

+ Thủ tục nhận dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài của ba cạnh a,b,c:

Procedure Daicanh(var R:Tamgiac; var a,b,c:real);+ Hàm tính chu vi của tam giác R:

function ChuVi(var R:Tamgiac):real; + Hàm tính diện tích của tam giác R:

function Dientich(var R:Tamgiac):real; + 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:

procedure Tinhchat(var R:Tamgiac;var Deu,Can,Vuong:boolean);+ Thủ tục hiển thị tọa độ ba đỉnh của tam giác lên màn hình:

procedure Hienthi (var R:tamgiac); + Hàm tính khoảng cách giữa hai điểm P,Q:

function Kh_cach(P,Q:Diem):real;b) Tìm hiểu chương trình nhập vào tọa độ ba đỉnh một tam giác và sử dụng hàm, thủ tục được xây dựng dưới đây để khảo sát các tính chất của tam giác.

uses crt;const eps=1.0E-6;typeDiem=recordx,y:real; end;Tamgiac=recordA,B,C:Diem;end;var T:Tamgiac; Deu,Can,Vuong:boolean;function Kh_cach(P,Q:Diem):real;beginKh_cach:=sqrt((P.X-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));end;procedure Daicanh(var R:Tamgiac;var a,b,c:real);begina:=Kh_cach(R.B,R.C);b:=Kh_cach(R.A,R.C);c:=Kh_cach(R.A,R.B);end;function ChuVi(var R:Tamgiac):real;var a,b,c:real;beginDaicanh(R,a,b,c);Chuvi:=a+b+c;end;function Dientich(var R:Tamgiac):real;var a,b,c,p:real;beginDaicanh(R,a,b,c);p:=(a+b+c)/2;Dientich:=sqrt(p*(p-a)*(p-b)*(p-c));end;procedure Hienthi (var R:tamgiac);beginwriteln(“Toa do 3 dinh cua tam giac la :”);writeln(“-Dinh A(“,R.A.x:0:3,”,”,R.A.y:0:3,”)”);writeln(“-Dinh B(“,R.B.x:0:3,”,”,R.B.y:0:3,”)”);writeln(“-Dinh C(“,R.C.x:0:3,”,”,R.C.y:0:3,”)”);end;procedure Tinhchat(var R:Tamgiac;var Deu,Can,Vuong:boolean);var a,b,c:real;beginDeu:=false;Can:=false;;Vuong:=false;Daicanh(R,a,b,c);if (abs(a-b) Kết quả:

*

c) Viết chương trình sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán:

Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:

+ Dòng đầu tiên chứa số N;

+ N dòng tiếp theo, mỗi dòng chứa sáu số thực Xa, Xb, Xc, Ya, Yb, Yc là tọa độ của ba đỉnh A, B, C của tam giác ABC.

Xem thêm: mẫu danh sách cấp phát văn phòng phẩm

Hãy nhập dữ liệu từ tệp đã cho và trong số N tam giác đó, đưa ra tệp TAMGIAC.OUT gồm 3 dòng:

+ Dòng đầu tiên là số lượng tam giác đều.

+ Dòng thứ hai là số lượng tam giác cân (nhưng không đều );

+ Dòng thứ ba là số lượng các tam giác vuông;

Trả lời:

+ Ta cần 2 biến kiểu tệp để tham chiếu đến 2 tệp ‘TAMGIAC.DAT’ và ‘TAMGIAC.OUT’ .

+ Đầu tiên ta đọc số N ở đầu tệp ‘TAMGIAC.DAT’ từ đó biết tiến hành đọc bấy nhiêu tam giác.

Xem thêm: Đồ Án Điện Tử Công Suất Chỉnh Lưu Cầu 1Pha, Tailieuxanh

+ Sau đó dùng thủ tục Tinhchat để xác định tính chất của các tam giác. Rồi dùng các biến đếm để lưu số lượng các tam giác.

uses crt;const eps=1.0E-6;typeDiem=recordx,y:real; end;Tamgiac=recordA,B,C:Diem;end;var T:array<1..1000> of Tamgiac; Deu,Can,Vuong:boolean; N,i:integer; sdeu,scan,svuong:integer; tin,tout:text;function Kh_cach(P,Q:Diem):real;beginKh_cach:=sqrt((P.X-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));end;procedure Daicanh(var R:Tamgiac;var a,b,c:real);begina:=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;beginDeu:=false;Can:=false;;Vuong:=false;Daicanh(R,a,b,c);if (abs(a-b)Kết quả:

Xem thêm bài viết thuộc chuyên mục: Diện tích