Fie A si B doua puncte situate intr-un reper cartezian XOY. Punctul A are coordonatele x1 si y1 , iar B are coordonatele x2 ,y2 .
Distanta dintre doua puncte din plan:
AB = √(x2 -x1)2+(y2-y1 )2
Coordonatele (x,y) ale mijlocului segmentului AB:
x=(x1 +x2/2
y=(y1 +y2)/2
Enuntul problemei Clasa a X -a :
Se citesc coordonatele x,y numere intregi ale unui punct P din plan;un numar natural n si coordonatele a n puncte din plan.Se cere sa se scrie un algoritm pentru a determina coordonatele celui mai departat punct, dintre cele n, fata de punctul P, precum si distanta dintre aceste doua puncte.
Exemplu :
pentru P(1,-2) si n= 5
coordonatele celor 5 puncte (2,4) ,(-1,5),(-5,-7) ,(8,2),(6,-3)
se vor afisa (8,2) si dmax=8.06226
Rezolvarea problemei in C++:
#include< iostream.h >
#include< conio.h >
#include< math.h >
// x, y coordonatele lui P
//n nr de puncte din plan
//xf,yf coordonatele primului punct
//a,b coordonatele celorlalte puncte
//distanta dintre puncte =d, dd;
int x,y,n,xf,yf,a,b,i;
float d,dd;
void main (){
cout<<„Introduceti coordonata x a punctului P.”<<endl;
cout<<„x= „;
cin>>x;
cout<<„Introduceti coordonata y a punctului P”<<endl;
cout<<„y= „;
cin>>y;
cout<<„Introduceti numarul de puncte din plan. n= „;
cin>>n;
cout<<„coordonatele primului punc”<<endl;
cin>>xf;
cout<<endl;
cin>>yf;
cout<<„coordonatele punctelor”<<endl;
d=sqrt((x-xf)*(x-xf)+(y-yf)*(y-yf));
for(i=2;i<=n;i++){
cin>>a;
cin>>b;
dd=sqrt((x-a)*(x-a)+(y-b)*(y-b));
if(d<dd){
d=dd;
xf=a;
yf=b;
}
}
cout<<„punctul cel mai indepartat de punctul P are coordonatele („<<xf<<„, „<<yf<<„)”<<endl;
cout<<„distanta dintre puncte este „<<d;
getch();
}
Notiunile teoretice si formulele de la geometrie analitica pe webmateinfo
Pentru cei ce doresc varianta/variantele Pascal la problemele rezolvate sa dea un semn si vor aparea si aceste rezolvari
si in pascal?
nu cred