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

Chia sẻ bởi Nguyển Hoàng Hoa | Ngày 10/05/2019 | 65

Chia sẻ tài liệu: Bài tập và thực hành 7 thuộc Tin học 11

Nội dung tài liệu:

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ột số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyển Hoàng Hoa
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)