Bài tập và thực hành 7

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Nguyển Hoàng Hoa (trang riêng)
Ngày gửi: 22h:50' 22-04-2009
Dung lượng: 65.5 KB
Số lượt tải: 92
Nguồn:
Người gửi: Nguyển Hoàng Hoa (trang riêng)
Ngày gửi: 22h:50' 22-04-2009
Dung lượng: 65.5 KB
Số lượt tải: 92
Số lượt thích:
0 người
Bài tập và thực hành 7
Mục tiêu
Tiếp tục củng cố cho học sinh những khái niệm về chương trình con:thủ tục, hàm, tham số giá trị, tham số hình thức, biến toàn cục, biến cục bộ.
Rèn luyện kĩ năng lập trình giải quyết 1 số bài toán đơn giản.
1. Tìm hiểu việc xây dựng hàm và thủ tục thực hiện tính độ dài các cạnh, chu vi diện tích, kiểm tra các tính chất đều, vuông, cân của tam giác.
Cách mô tả dữ liệu kiểu bản ghi ?
type = record
: ;
……………………………………..
: ;
end;
Type diem = record
x, y: real;
end;
tamgiac = record
A, B, C: diem;
end;
Var : ;
Var R : tamgiac ;
Cách tham chiếu trường của bản ghi ?
Tên biến bản ghi.tên trường
R.A
R.A.x
Ta xây dựng các hàm và thủ tục
Thủ tục nhân dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài của 3 cạnh a,b,c:
Procedure Daicanh (Var R:Tamgiac; var a, b, c:real);
Hàm tính chu vi của tam giác R;
function Chuvi (Var R :tamgiac) :real;
Hàm tính chu vi của tam giác R;
function Dientich(var R: tamgiac) :real;
Thủ tục nhân dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài của 3 cạnh a,b,c:
procedure Tinhchat (var R:tamgiac ; var deu, vuong, can:boolean);
Thủ tục hiện thị toạ độ ba đỉnh tam giác lên màn hình;
procedure Hienthi (var R:tamgiac);
Hàm tính khoảng cách giữa 2 điểm P, Q;
function Kh_cach(P,Q : diem) : real;
Tìm hiểu và chạy thử chương trình sau:
Uses crt;
Const eps = 1.0E-6 ;
Type diem = record
x,y : real;
end;
tamgiac = record
A, B, C:diem ;
end;
Var T : tamgiac; deu, vuong, can:boolean;
function Kh_cach(P,Q : diem) : real;
begin
Kh_cach:=sqrt((P.x-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));
End;
Procedure Daicanh (Var R:Tamgiac; var a, b, c: real);
begin
a:=Kh_cach(R.B, R.C);
b:=Kh_cach(R.A, R.C);
c:=Kh_cach(R.A, R.B);
end;
function Chuvi (Var R :tamgiac) :real;
Var a, b, c : real;
Begin
daicanh(R, a, b, c);
chuvi:= a+b+c ;
End;
function Dientich(var R: tamgiac) :real;
Var a, b, c, p:real;
Begin
daicanh(R, a, b, c);
p:= (a+b+c)/2;
dientich:=sqrt(p*(p-a)*(p-b)*(p-c));
End;
procedure Hienthi (var R:tamgiac);
begin
writeln(‘toa do 3 dinh tam giac la’);
writeln(‘-Dinh A (‘,R.A.x:0:3, ’,’ , R.A.y:0:3,’) ’);
writeln(‘-Dinh B (‘,R.B.x:0:3, ’,’ , R.B.y:0:3,’) ’);
writeln(‘-Dinh C (‘,R.C.x:0:3, ’,’ , R.C.y:0:3,’) ’);
End;
procedure Tinhchat (var R:tamgiac ; var deu, vuong, can:boolean);
var a, b, c: real;
Begin
deu:=false; can:= false; vuong:= false;
daicanh(R,a, b, c);
if (abs(a-b)Else if (abs(a-b) if (abs(a*a+b*b-c*c) then vuong:=true;
End;
BEGIN
writeln(‘Nhap tam giac:’);
write(‘toa do dinh A:’); readln (T.A.x, T.A.y);
write(‘toa do dinh B:’); readln (T.B.x, T.B.y);
write(‘toa do dinh C:’); readln (T.C.x, T.C.y);
Writeln (‘=============================’);
hienthi(T);
Writeln(‘dientich:’,dientich(T):9:3);
Writeln(‘chuvi:’,chuvi(T):9:3);
Tinhchat(T, deu, can, vuong);
Writeln(‘tam giac co tinh chat:’);
if deu then writeln(‘la tam giac deu’)
else if can then writeln(‘la tam giac can’);
if vuong then writeln(‘la tam giac vuong’);
Readln;
END.
Mục tiêu
Tiếp tục củng cố cho học sinh những khái niệm về chương trình con:thủ tục, hàm, tham số giá trị, tham số hình thức, biến toàn cục, biến cục bộ.
Rèn luyện kĩ năng lập trình giải quyết 1 số bài toán đơn giản.
1. Tìm hiểu việc xây dựng hàm và thủ tục thực hiện tính độ dài các cạnh, chu vi diện tích, kiểm tra các tính chất đều, vuông, cân của tam giác.
Cách mô tả dữ liệu kiểu bản ghi ?
type
……………………………………..
end;
Type diem = record
x, y: real;
end;
tamgiac = record
A, B, C: diem;
end;
Var
Var R : tamgiac ;
Cách tham chiếu trường của bản ghi ?
Tên biến bản ghi.tên trường
R.A
R.A.x
Ta xây dựng các hàm và thủ tục
Thủ tục nhân dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài của 3 cạnh a,b,c:
Procedure Daicanh (Var R:Tamgiac; var a, b, c:real);
Hàm tính chu vi của tam giác R;
function Chuvi (Var R :tamgiac) :real;
Hàm tính chu vi của tam giác R;
function Dientich(var R: tamgiac) :real;
Thủ tục nhân dữ liệu vào là biến mô tả tam giác R và dữ liệu ra là độ dài của 3 cạnh a,b,c:
procedure Tinhchat (var R:tamgiac ; var deu, vuong, can:boolean);
Thủ tục hiện thị toạ độ ba đỉnh tam giác lên màn hình;
procedure Hienthi (var R:tamgiac);
Hàm tính khoảng cách giữa 2 điểm P, Q;
function Kh_cach(P,Q : diem) : real;
Tìm hiểu và chạy thử chương trình sau:
Uses crt;
Const eps = 1.0E-6 ;
Type diem = record
x,y : real;
end;
tamgiac = record
A, B, C:diem ;
end;
Var T : tamgiac; deu, vuong, can:boolean;
function Kh_cach(P,Q : diem) : real;
begin
Kh_cach:=sqrt((P.x-Q.x)*(P.x-Q.x)+(P.y-Q.y)*(P.y-Q.y));
End;
Procedure Daicanh (Var R:Tamgiac; var a, b, c: real);
begin
a:=Kh_cach(R.B, R.C);
b:=Kh_cach(R.A, R.C);
c:=Kh_cach(R.A, R.B);
end;
function Chuvi (Var R :tamgiac) :real;
Var a, b, c : real;
Begin
daicanh(R, a, b, c);
chuvi:= a+b+c ;
End;
function Dientich(var R: tamgiac) :real;
Var a, b, c, p:real;
Begin
daicanh(R, a, b, c);
p:= (a+b+c)/2;
dientich:=sqrt(p*(p-a)*(p-b)*(p-c));
End;
procedure Hienthi (var R:tamgiac);
begin
writeln(‘toa do 3 dinh tam giac la’);
writeln(‘-Dinh A (‘,R.A.x:0:3, ’,’ , R.A.y:0:3,’) ’);
writeln(‘-Dinh B (‘,R.B.x:0:3, ’,’ , R.B.y:0:3,’) ’);
writeln(‘-Dinh C (‘,R.C.x:0:3, ’,’ , R.C.y:0:3,’) ’);
End;
procedure Tinhchat (var R:tamgiac ; var deu, vuong, can:boolean);
var a, b, c: real;
Begin
deu:=false; can:= false; vuong:= false;
daicanh(R,a, b, c);
if (abs(a-b)
End;
BEGIN
writeln(‘Nhap tam giac:’);
write(‘toa do dinh A:’); readln (T.A.x, T.A.y);
write(‘toa do dinh B:’); readln (T.B.x, T.B.y);
write(‘toa do dinh C:’); readln (T.C.x, T.C.y);
Writeln (‘=============================’);
hienthi(T);
Writeln(‘dientich:’,dientich(T):9:3);
Writeln(‘chuvi:’,chuvi(T):9:3);
Tinhchat(T, deu, can, vuong);
Writeln(‘tam giac co tinh chat:’);
if deu then writeln(‘la tam giac deu’)
else if can then writeln(‘la tam giac can’);
if vuong then writeln(‘la tam giac vuong’);
Readln;
END.
 







Các ý kiến mới nhất