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 2. Xử lý:
- 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 3. In ra màn hình diện tích tam giác.
- 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
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]] thenbegin
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