Tải bản đầy đủ (.doc) (1 trang)

Tính Khoảng cách trong hình học bằng TP

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (45.56 KB, 1 trang )

Tính khoảng cách từ một điểm đến một đường thẳng và tính
khoảng cách giữa 2 đường thẳng chéo nhau trong không gian
program khoang_cach;
uses crt;
var u1,u2,u3,d1,d2,d3:real;
m1,m2,m3,a1,a2,a3:real;
x,y,z,x1,y1,z1:real;
n:byte;
begin
clrscr;
Writeln('Chon 1 trong cac cong viec sau');
writeln('1. Tinh khoang cach tu mot diem den mot duong thang');
writeln('2. Tinh khoang cach giua hai duong thang cheo nhau');
repeat
writeln('Go 1 hoac 2 va Enter: ');readln(n);
until (n=1)or(n=2);
Case n of
1: begin
write('Vecto chi phuong cua dung thang la: ');readln(u1,u2,u3);
write('Nhap toa do 1 diem duong thang di qua: ');readln(m1,m2,m3);
write('Nhap toa do diem can tinh khoang cach: ');readln(A1,a2,a3);
{tinh vecto MA}
x:= a1-m1;
y:=a2-m2;
z:=a3-m3;
Writeln('Vecto MA = (',x:10:5,'; ',y:10:5,'; ',z:10:5,')');
{tinh tich co huong [u,MA]}
x1:=u2*z-u3*y;
y1:=u3*x-u1*z;
z1:=u1*y-u2*x;
Writeln('Tich co huong [u,MA] = (',x1:10:5,'; ',y1:10:5,'; ',z1:10:5,')');


{tinh khoang cach = |[u,MA]|/|u|}
Writeln(' d(A,d) = ',sqrt(x1*x1+y1*y1+z1*z1)/sqrt(u1*u1+u2*u2+u3*u3):10:5);
end;
2: begin
write('Vecto chi phuong cua duong thang d1 la: ');readln(u1,u2,u3);
write('Vecto chi phuong cua duong thang d2 la: ');readln(d1,d2,d3);
writeln;
write('Nhap toa do mot diem thuoc d1: ');readln(m1,m2,m3);
write('Nhap toa do mot diem thuoc d2: ');readln(a1,a2,a3);
{tinh tich co huong [u,d]}
x:=u2*d3-u3*d2;
y:=u3*d1-u1*d3;
z:=u1*d2-u2*d1;
Writeln('Vecto [u,d] = (',x:10:5,'; ',y:10:5,'; ',z:10:5,')');
{tinh tich [u,d].MA}
x1:=x*(a1-m1); y1:=y*(a2-m2); z1:= z*(a3-m3);
{tinh khoang cach d(d1,d2) = |[u,d].MA|/|[u,d]|}
writeln(' d[d1,d2] = ',sqrt(x1*x1+y1*y1+z1*z1)/sqrt(x*x+y*y+z*z):10:5);
end;end;
readln
end.
Nhập đầy đủ các dữ kiện, Chương trình sẽ tính khoảng cách và xuất kết
quả dạng số thập phân.
10:5 điểm chính tả, điểm chữ viết.

×