Bài tập Pascal: Kiểm tra một điểm A(x,y) bất kì có thuộc đường tròn

Đề bài : Nhập vào tâm và bán kính của một đường tròn. Sau đó nhập vào một điểm
A(x, y) bất kì và kiểm tra xem nó có thuộc đường tròn hay không?
Bài giải :
HTML:
Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;
Uses crt;
Var x0,y0,xa,ya,d,r : real;
BEGIN
Clrscr;
Writeln('KIEM TRA DIEM THUOC DUONG TRON: ');
Writeln('--------------------------------------------------------');
Write('Nhap ban kinh R= '); readln(r);
Write('Nhap hoanh do tam duong tron = '); readln(x0);
Write('Nhap tung do tam duong tron = '); readln(y0);
Write('Nhap hoanh do diem a = '); readln(xa);
Write('Nhap tung do diem a = '); readln(ya);
d:=SQRT(SQR(xa-x0)+SQR(ya-y0));
If r=d then Writeln('Diem A nam tren duong tron')
           Else
                If d>r then Writeln('Diem A nam ngoai duong tron')
               Else Writeln('Diem A nam trong duong tron');
      Readln;
END.

Hướng dẫn chi tiết :
Chắn chắn rồi, khai báo thông tin cơ bản là phần bắt buộc của mọi chương trình Pascal. Ta đặt các tọa độ là các biến x0, y0, xa, ya, d, r lần lượt là tọa độ điểm A và tâm đường tròn, r là bán kính.
Mã:
Program KIEM_TRA_DIEM_THUOC_DUONG_TRON;
Uses crt; 
Var x0,y0,xa,ya,d,r: real; (* Khai bao cac bien *)
Để biết được điểm A nằm trong, trên hay ngoài 1 đường tròn thì chúng ta sẽ tính khoảng cách từ điểm A tới tâm O ( A và O là hai điểm do người dung nhập vào ) của đường tròn. Sau đó xét 3 trường hợp sau đây:

  1. Nếu bình phương khoảng cách từ điểm A tới tâm O nhỏ hơn bình phương bán kính R thì điểm A nằm trong đường tròn.
  2. Nếu bình phương khoảng cách từ điểm A tới tâm O bằng bình phương bán kính R thì điểm M nằm trên đường tròn.
  3. Nếu bình phương khoảng cách từ điểm A tới tâm O lớn hơn bình phương bán kính R thì điểm A nằm ngoài đường tròn.
Mã:
BEGIN
Clrscr;
Writeln('KIEM TRA DIEM THUOC DUONG TRON: ');
Writeln('--------------------------------------------------------');
Write('Nhap ban kinh R= '); readln(r);
Write('Nhap hoanh do tam duong tron = '); readln(x0);
Write('Nhap tung do tam duong tron = '); readln(y0);
Write('Nhap hoanh do diem a = '); readln(xa);
Write('Nhap tung do diem a = '); readln(ya);
If r=d then Writeln('Diem A nam tren duong tron')
Else
If d>r then Writeln('Diem A nam ngoai duong tron')
Else Writeln('Diem A nam trong duong tron');
Readln;
END.
Trong bài mình có sử dụng 2 hàm SQRT và SQR. Hàm SQRT là hàm dùng để tính căn bậc 2 của một số, SQR là hàm tính bình phương của một số.

Chúc các bạn học tốt !
 
  • Chủ đề
    bai tap pascal bai tap pascal 11 pascal co ban
  • Top