Study Lập Trình

Học lập trình dành cho người mới bắt đầu!

ads

Bài 2. Viết chương trình tính diện tích tam giác dùng if - else

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ĩa
Program Tam_Giac; Đặt tên chương trình là Tam_Giac
Var 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 GIAC
Write('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 a
Write('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 b
Write('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 c
P := 0.5 * (a + b + c); Gán giá trị biểu thức \(\frac{{a + b + c}}{2}\) vào biến p
S := 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 s
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
Nế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 vuong
else 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!
Readln Dừ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

Không có nhận xét nào:

Đăng nhận xét