Bài
21
Giáo án điện tử tin học lớp 11
Bài tập chơng trình con
Đề bài:
bài: Lập
Lập ch
chơng
ơng trình
trình nhập
nhập vào
vào toạ
toạ độ
độ 33 đỉnh
đỉnh A(x
A(xA,y
,yA)) ;; B(x
B(xB,y
,yB)) ;;
Đề
A
A
B
B
C(xC,y
,yC))của
củamột
mộttam
tamgiác.
giác.
C(x
C
C
1. Tính
Tínhchu
chuvi,
vi,diện
diệntích;
tích;
1.
2. Kiểm
Kiểm tra
tra tính
tính chất
chất và
và cho
cho biết
biết đây
đây là
là tam
tam giác
giác vuông,
vuông, cân,
cân,
2.
đều,hay
hayth
thờng.
ờng.
đều,
Yêu cầu:
Tìm hiểu đề bài và đề xuất thuật toán.
Từ thuật toán đà đề xuất ở trên, hÃy tổ chức
phân chia công việc cho các tổ dới dạng các ch
ơng trình con, sau đó ghép lại thành chơng
trình chính hoàn chỉnh.
1. Tìm hiểu đề bài và đề xuất thuật toán
* Tính chu vi, diện tích
B1. Tính độ dài cạnh
BC(a),AC(b),AB(c)
a ( xb xc) 2 ( yb yc) 2
2
b ( xa xc) ( ya yc)
A
yA
2
c ( xa xb) 2 ( ya yb) 2
B2. TÝnh nưa chu vi, diƯn
tÝch
CV (a b c)
P CV / 2
S p( p a)( p b)( p c)
B
c
b
yB
a
yC
O
xB
C
xA
xC
* KiÓm tra tÝnh chất tam giác
Vuông: Thoả mÃn định lí Pitago
Đều: Ba cạnh bằng nhau;
Cân: Hai trong ba cạnh bằng
nhau;
Thờng: không phải các tÝnh chÊt
trªn.
2. Tỉ chøc thùc hiƯn theo nhãm
* Tỉ 1 ViÕt chơng trình con dạng hàm tính độ dài một
:
cạnh
Function Daicanh(x1,y1,x2,y2: real):real;
* Tổ 2 Viết chơng trình con dạng thủ tục tÝnh chu vi,
:
diÖn tÝch
Procedure CV_S( a,b,c:real; Var CV,S : real);
* Tổ 3 Viết chơng trình con dạng thủ tục để kiĨm tra
:
t/c tam gi¸c
Procedure tinhchat(a,b,c:real; Var Deu,vuong,can:
boolean);
Ai thế nhỉ?
Blaise Pascal Nhà toán học và triết häc ngêi
ph¸p
Function daicanh(x1,y1,x2,y2:real):real;
Begin
Procedure Tinh_chat(a,b,c : real; Var
deu,can,vuong:boolean);
Begin
daicanh:= sqrt((x1-x2)*(x1-x2) + (y1-y2)*(y1-y2))
end;
Deu:=False; Can:=false; Vuong:= False;
IF (ABS(a-b)
Begin
Deu:=True; Can:= True;
end
Esle
Procedure CV_S(a,b,c : real; Var CV,S:real);
IF (ABS(a-b)
Begin
(ABS(b-c)
CV:=(a+b+c);
IF (ABS(a*a+b*b-c*c)
P:= CV/2;
S:=sqrt(p*(p-a)*(p-b)*(p-c));
eps) OR (ABS(b*b+c*c-a-a)< eps) Then
Vuong:=True;
end;
End;
1
2
3
4
Ghép nối chơng trình
Program Tamgiac;
a:=daicanh(xb,yb,xc,yc);
Uses crt;
b:=daicanh(xa,ya,xc,yc);
cosnt eps = 0.000001;
c:=daicanh(xa,ya,xb,yb);
Var
xa,ya,xb,yb,xc,yc,a,b,c,cv,dt:real;
D,C,V : Boolean;
{------------------------------------}
CTC tinh chieu dai canh
CV_S(a,b,c,cv,dt)
Writeln(‘ Chu vi tam giac = ‘,Cv:7:2);
Writeln(‘ Dien tich tam giac = ‘,DT:7:2);
Tinh_ chat(a,b,c,D,C,V);
IF D then write(‘ Day la tam giac deu’)
Else
CTC tinh chu vi, dien tich
IF C then write(‘ Day la tam giac can’)
CTC kiem tra tinh chat
Else
{-------------------------------------}
IF V then write(‘ Day tam giac vuong’)
BEGIN
Else write(‘Tam giac thuong’);
write(‘ Nhap vao toa do diem A,B,C ‘);
Readln;
readln(xa,ya,xb,yb,xc,yc);
END.