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 chất của tam giác

  1. Tác giả: LTTK CTV
    Đánh giá: ✪ ✪ ✪ ✪ ✪

    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:
    01.jpg
    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:
    02.jpg
    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.
    PHP:
    1. program cau_c_btth7;
    2. uses crt;
    3. type
    4. Diem = record X, y:real,
    5. Tamgiac= record
    6. A, B, C: Diem;
    7. var i, n: integer; f: text;
    8. T: Tamgiac;
    9. begin
    10. clrscr;
    11. assign(f,'tamgiac.dat');
    12. rewrite(f) ,
    13. writs 'Nhap so tam giac: ' );
    14. read(n);
    15. writeln (f , n) ;
    16. for i:= 1 to n do
    17. begin
    18. wrri teln ( ' Nhap toa cua tam giac ',i,' la:');
    19. read(T.A.X, T.A.y, T.B.X,T.B.y,T.C.X,T.C.y);
    20. writeln ( f , T. A. X, T.A.y, T.B.x,T.B.y,T.C.x,T.C.y);
    21. clrscr(f) ;
    22. reacln
    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)
    03.jpg
    PHP:
    1. begin
    2. a : =Kh_cach (R . B, R.C);
    3. b:=Kh_cach(R.A, R.C);
    4. c:=Kh_cach(R.A,R.B);
    5. procedure Tinhchat(var R:Tamgiac; var Deu, Can, Vuong: Boolean);
    6. var a, b, c:real;
    7. begin
    8. Deu:=false; Can:=false; Vuong:=false;
    9. Daicanh(R, a, b, c); ifMabs (a-b) <eps) and (abs (a-c) <eps) then
    10. begin
    11. Deu:= true;
    12. Can:= true;
    13. end else
    14. if (abs (a-b) <eps) or (abs (a-c) <eps) or (abs (b-c) <ep:S) then Can:=true;
    15. 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
    16. Begin
    17. deu:= 0; can:= 0; vuong:= 0;
    18. assign ( f, ' tamgiac . dat' ) ,
    19. reset(f);
    20. readln(f,N);
    21. for i:= 1 to N do
    22. begin
    23. readln(f, T.A.X, T.A.y, T.B.x,T.B.y,T.C.x,T.C.y);
    24. Tinhchat(T, D, Cn, V);
    25. If D then deu:= deu + 1 else
    26. begin
    27. if Cn then can:= can + 1;
    28. if V then vuong:= vuong + 1;
    29. writeln('Co: ',deu,'tam giac deu');
    30. writeln('Co: can,'tam giac can(khong deu)' );
    31. writeln('Co:,vuong, 'tam giac vuong);
    32. readln;
    33. 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:
    04.jpg