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ương
chươ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)) ; ; C(x
C(xC,y,yC)) của
của một
một tam
tam
Đề
A A
B B
C C
giác.
giác.
Tínhchu
chuvi,
vi,diện
diệntích;
tích;
1.1. Tính
Kiểmtra
tratính
tínhchất
chấtvà
vàcho
chobiết
biếtđây
đâylàlàtam
tamgiác
giácvng,
vng,cân,
cân,đều,
đều,hay
haythường.
thường.
2.2. Kiểm
U CẦU:
Tìm hiểu đề bài và đề xuất thuật tố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 hồn chỉnh.
1. TÌM HIỂU ĐỀ BÀI VÀ ĐỀ XUẤT THUẬT TỐN
* Tính chu vi, diện tích
B1. Tính độ dài cạnh BC(a),AC(b),AB(c)
2
2
2
2
a ( xb xc) ( yb yc)
b ( xa xc) ( ya yc)
A
yA
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
Vng: 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;
Uses crt;
cosnt eps = 0.000001;
Var
xa,ya,xb,yb,xc,yc,a,b,c,cv,dt:real;
D,C,V : Boolean;
{------------------------------------}
a:=daicanh(xb,yb,xc,yc);
b:=daicanh(xa,ya,xc,yc);
c:=daicanh(xa,ya,xb,yb);
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’)
CTC tinh chieu dai canh
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.