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

Program TINH_DIEN_TICH;
Uses crt;
Procedure HV;
  Var s,a:real;
  Begin
      Writeln['TINH DIEN TICH HINH VUONG:'];
      Write['Nhap chieu dai cua canh a = '];readln[a];
      s:=a*a;
     Writeln['Dien tich hinh vuong = ',s:6:2];
  End;
Procedure HT;
Var s,r:real;
Begin
     Writeln['TINH DIEN TICH HINH TRON:'];
     Write['Nhap ban kinh R = '];readln[r];
     s:=pi*r*r;
     Writeln['Dien tich hinh tron = ',s:6:2];
End;
Procedure TG;
Var a, b, c,s,p:real;
 Begin
    Writeln['TINH DIEN TICH TAM GIAC:'];
    Write['nhap a ='];readln[a];
    Write ['nhap b ='];readln[b];
    Write['nhap c ='];readln[c];
    If [[a+b]>c]and[[b+c]>a]and[[a+c]>b] then
    Begin
         p:=[a+b+c]/2;
         s:=sqrt[p*[p-a]*[p-b]*[p-c]];
         Writeln['Chu vi tam giac:',2*p:4:2] ;
         Writeln['Dien tich tam giac:',s:4:2];
     End
     Else
          Writeln[a,', ',', ',c,' khong phai la ba canh cua tam giac'] ;
End;
Procedure CN;
Var a, b, s:real;
Begin
     Writeln['TINH DIEN TICH HINH CHU NHAT:'];
     Write['Nhap chieu dai a ='];readln[a];
     Write['Nhap chieu rong b= '];readln[b];
     s:= a*b;
     Writeln['Dien tich hinh chu nhat, s= ',s:6:2];
End;
Procedure menu;
Var d:integer;
Begin
     Clrscr;
     Writeln['CHON MOT TRONG CAC PHUONG AN SAU:'];
     Writeln['----------------------------------'];
     Writeln['0: Quay ve man hinh soan thao'];
     Writeln['1: Tinh dien tich hinh vuong'];
      Writeln['2: Tinh dien tich hinh tron'];
     Writeln['3: tinh dien tich tam giac'];
     Writeln['4: Tinh dien tich hinh chu nhat'];
     Writeln['===================='];
    Write[' Hay chon mot phuong an: ']; readln[d];
    Writeln['===================='];
    Writeln;
   Case d of
       0: Exit;
       1: HV;
       2: HT;
       3: TG;
       4: CN;
    End;
End;
Begin
     menu;
    Readln;
End.

1. Bài toán

  Yêu cầu: Viết chương trình tính diện tích tam giác

  • Input: Nhập ba cạnh của tam giac
  • Output: In ra màn hình diện tích tam giac

2. Giải thuật:


Bước 1. Nhập thông tin:
  • Bước 1.1. Nhập độ dài cạnh a
  • Bước 1.2. Nhập độ dài cạnh b
  • Bước 1.3. Nhập độ dài cạnh c
Bước 2. Xử lý:
  • Bước 2.1. Nếu ba cạnh tạo thành tam giác thì
    B2.1.1. Tính \[P = \frac{{a + b + c}}{2}\]
    B2.1.2. Tính diện tích tam giác bằng công thức \[S = \sqrt {p\left[ {p - a} \right]\left[ {p - b} \right]\left[ {p - c} \right]} \]
  • Bước 2.2. Nếu không tạo thành tam giác thì in ra không phải tam giác
Bước 3. In ra màn hình diện tích tam giác.

3. Code Pascal:

Program Tam_Giac;
Var
   a,b,c:Integer;
      P,S:Real;
Begin
   Writeln['CHUONG TRINH TINH DIEN TICH TAM GIAC'];
   Write['Cho biet canh thu nhat a = '];
   Readln[a];
   Write['Cho biet canh thu hai  b = '];
   Readln[b];
   Write['Cho biet canh thu ba   c = '];
   Readln[c];
   if [[a + b > c] and [b + c > a] and [c + a > b]] then 
      begin
         P := 0.5 * [a + b + c];
         S := sqrt[p*[p-a]*[p-c]*[p-c]];
         Writeln['Dien tich hinh tam giac = ',S:6:2,' met vuong']; 
      end 
    else   Writeln['Do dai ba canh vua nhap khong tao thanh tam giac!']; 
   Readln
End.

4. Giải thích code

Dong codeÝ nghĩaProgram Tam_Giac;Đặt tên chương trình là Tam_GiacVar a,b,c:Integer; p,s:Real;Khai báo biến a[cạnh thứ nhất], b[cạnh thứ hai], c[cạnh thứ ba] theo kiểu integer[số nguyên] và p, s[diện tích] theo kiểu real[số thực]Writeln['CHUONG TRINH TINH DIEN TICH TAM GIAC'];In ra màn hình dòng CHUONG TRINH TINH DIEN TICH TAM GIACWrite['Cho biet canh thu nhat a = '];In ra màn hình dòng Cho biet canh thu nhat a =Readln[a];Nhập vào từ bàn phím giá trị gán vào biến aWrite['Cho biet canh thu hai b = '];In ra màn hình dòng Cho biet canh thu hai b =Readln[b];Nhập vào từ bàn phím giá trị gán vào biến bWrite['Cho biet canh thu ba c = '];In ra màn hình dòng Cho biet canh thu ba c =Readln[c];Nhập vào từ bàn phím giá trị gán vào biến cP := 0.5 * [a + b + c];Gán giá trị biểu thức \[\frac{{a + b + c}}{2}\] vào biến pS := sqrt[p*[p-a]*[p-c]*[p-c]];Gán giá trị biểu thức \[\sqrt {p\left[ {p - a} \right]\left[ {p - b} \right]\left[ {p - c} \right]} \] vào biến sif [[a + b > c] and [b + c > a] and [c + a > b]] then
begin
p := 0.5 * [a + b + c];
s := sqrt[p*[p-a]*[p-c]*[p-c]];
Writeln['Dien tich hinh tam giac = ',s:6:2,' met vuong'];
endNếu điều kiện [a + b > c] and [b + c > a] and [c + a > b] đúng thì ba cạnh a, b, c tạo thành tham giác và tính p, s và in ra màn hình dòng Dien tich hinh tam giac = và giá trị biến s và in chữ met vuongelse Writeln['Do dai ba canh vua nhap khong tao thanh tam giac!'];Else là ngược lại tức là ba cạnh không tạo thành tam giác thì in ra dòng Do dai ba canh vua nhap khong tao thanh tam giac!ReadlnDừng màn hình cho các bạn xem kết quả.

5. Kết Quả Pascal

Kết luận:
    ⦿ Bài này chúng ta đã xét trước đó trong phần bài tập cơ bản, nhưng code chưa giải quyết được phần ba cạnh nhập vào không tạo thành tam giác nên lúc đó khi không tạo thành được tam giác thì diện tích sẽ bằng không.
    ⦿ Bài này sẽ được giải quyết tốt hơn khi có sử dụng điều kiện if - else để kiểm tra ba cạnh nhập vào có tạo thành tam giác không.
    ⦿ Điều kiện để ba cạnh nhập vào là một tam giác là Tổng hai cạnh của tam giác lớn hơn cạnh còn lại của tam giác
    ⦿ Công thức diện tích tam giác: \[S = \sqrt {p\left[ {p - a} \right]\left[ {p - b} \right]\left[ {p - c} \right]} \]
▪ a: Độ dài cạnh thứ nhất
▪ b: Độ dài cạnh thư hai
▪ c: Độ dài cạnh thứ ba
▪ p: Nữa chu vi
▪ S: Diện tích tam giác

Chủ Đề