1. Mục đích, yêu cầu
- Nâng cao kĩ năng viết, sử dụng chương trình con.
- Biết cách viết một chương trình có cấu trúc để giãi một bài toán trên máy tính.
2. Nội dung
a) Tìm hiểu việc xây dựng các 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 đều, cân, vuông của tam giác được trình bày dưới đây:
Giả thiết tam giác được xác định bời tọa độ của ba đỉnh. Ta sử dụng kiểu bản ghi để mô tả một tam giác:
type
Diem = record
X, y: real;
end;
Tamgiac= record
A, B, c:Diem;
end;
Ta xây dựng thù tục và hàm:
Procedure Daicanh(var R: Tamgiac; var a, b, C:real);
function Chuvi(var R: Tamgiac): real;
function Dientich(var Rrtamgiac): real;
procedure Tinhchat(var R:Tamgiac;var Deu, Can, Vuong: Boolean);
procedure Hienthi(var R: tamgiac);
function Kh_cach(P, Q: Diem): Real;
b) Tìm hiểu chương trình nhập vào tọa độ ba đỉnh một tam giác và sử dụng các hàm, thủ tục được xây dựng dưới đây để khảo sát các tính chất của tam giác.
program tam_giac;
uses crt
const ep:= 1.0E-6;
type
Diem = record
X, y: real;
end;
Tamgiac= record
A, B, C: Diem;
end;
var T: Tamgiac;
Dou, can, vuong: 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;
functio-n Chuvi (var R: Tamgiac) : real;
var a, b, c: real;
begin
Daicanh(R, a, b, c) ;
ChuVi:= a+b+c;
end;
functioin Dientich(var R: tamgiac) : real;
var a, b, c, p: real;
begin
Daicanh(R/ a, b, c) ;
p:= (a+b+c)/2;
Dienntich: = sqrt (p* (p-a) * (p-b) * (p-c))
end;
procedure Hienthi (var R: tamgiac) ;
begin
writeln ('Toa do 3 dinh cua 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, Can, Vuong: Boolean )
var a b, c: real;
begin
Deu:= false; Can:= false; Vuong:= false;
Daicanh(R, a, b, c);
if (abs(a-b)<eps) and (abs(a-c)<eps) then
begin
Deu:= true;
Can:= true;
else
if (abs (a-b) <eps) or tabs (a-c) <eps) or (abs (b-r) <eps)
then Can:= true;
if (abs(a*a+b*b-c*c)<eps) or (abs(a*a+c*c-b*b)ceps ) or (abs(b*b+c*c-a*a)<eps) then Vuong:= true;
end;
Begin
clrscr;
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('Dien tich:', dientich(T):9:3);
writeln ( ' Chu vi : ' , chuvi (T) : 9 : 3);
Tinhchater, 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) Viết chương trình sử dụng các hàm và thủ tục xây dựng ở trên để giải bài toán:
Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau:
- Dòng đầu tiên chứa số N;
- N dòng tiếp theo, mỗi dòng chứa sáu số thực xA, yA, xB, yB, xC, yC là tọa độ ba đỉnh A(xA, yA), B(xB,yB), C(xC, yC) của tam giác ABC.
Hãy nhập dữ liệu từ tệp đã cho và trong số N tam giác đó, đưa ra tệp TAMGlAC.OUT gồm ba dòng:
Tin học, tiếng Anh: informatics, tiếng Pháp: informatique, là một ngành khoa học chuyên nghiên cứu quá trình tự động hóa việc tổ chức, lưu trữ, xử lý và truyền dẫn thông tin của một hệ thống máy tính cụ thể hoặc trừu tượng (ảo). Với cách hiểu hiện nay, tin học bao hàm tất cả các nghiên cứu và kỹ thuật có liên quan đến việc mô phỏng, biến đổi và tái tạo thông tin.
Nguồn : Wikipedia - Bách khoa toàn thưLớp 11 - Năm thứ hai ở cấp trung học phổ thông, gần đến năm cuối cấp nên học tập là nhiệm vụ quan trọng nhất. Nghe nhiều đến định hướng sau này rồi học đại học. Ôi nhiều lúc thật là sợ, hoang mang nhưng các em hãy tự tin và tìm dần điều mà mình muốn là trong tương lai nhé!
Nguồn : ADMIN :))Copyright © 2021 HOCTAPSGK