Xác định vị trí tương đối giữa điểm M và đường tròn tâm O bán kính R
Đề bài: Viết chương trình nhập vào tọa độ điểm O(xO; yO) là tâm của một đường tròn, và bán kính R. Nhập vào tọa độ điểm M(xM; yM). Hãy xác định điểm M nằm trong, trên hay nằm ngoài đường tròn.
Yêu cầu kiến thức:
- Xác định chính xác yêu cầu bài toán
- Xác định đúng kiểu dữ liệu của các biến trong chương trình
- Vận dụng các xác định vị trí tương đối giữa một điểm và một đường tròn trong toán học
Từ 2 điểm C (tâm hình tròn) và điểm M, ta tính được khoảng cách d giữa 2 điểm trên (Xem cách tính). Rồi đem so sánh với bán kính R.
- Nếu d < R hay (R – d) > 0 thì M nằm trong đường tròn.
- Nếu d > R hay (R – d) < 0 thì M nằm ngoài đường tròn.
- Nếu d = R hay (R – d) = 0 thì M nằm trên đường tròn.
Code tham khảo dưới được lưu với phần mở rộng là “.cpp”:
// Ho ten: Hoang Van Tuan
// Website: timoday.edu.vn
// De bai:
/* Bai 2: Xac dinh vi tri tuong doi giua diem M va duong tron tam C ban kinh R */
#include<iostream>
#include<stdio.h>
#include<math.h>
using namespace std;
//===chuong trinh chinh===
int main()
{
// Khai bao bien
float xC, yC, R, xM, yM, d;
// Nhap du lieu
cout<<"Nhap vao hoanh do diem C: "; cin>>xC;
cout<<"Nhap vao tung do diem C: "; cin>>yC;
cout<<"Nhap vao ban kinh: "; cin>>R;
cout<<"Nhap vao hoanh do diem M: "; cin>>xM;
cout<<"Nhap vao tung do diem M: "; cin>>yM;
// Tinh vi tri tung doi
d = R - sqrt((xM-xC)*(xM-xC) + (yM-yC)*(yM-yC));
// So sanh vi tri tuong doi
if(d>0)
{
cout<<"M nam trong duong tron!";
}
else if(d<0)
{
cout<<"M nam ngoai duong tron!";
}
else
{
cout<<"M nam tren duong tron";
}
cout<<endl;
return 0;
}
//===dinh nghia ham===
Kết luận:
- Bạn có thể tham khảo thêm khóa học lập trình C từ cơ bản đến nâng cao. Xem tại đây
- Bạn có thể tham khảo thêm khóa học Thành thạo lập trình C#. Xem tại đây