Explicarea problemei și algoritmul soluțiilor
Presupunem că punctul aparține unui cerc în cazul în care este în interiorul sau pe circumferința sa.
Din orice punct al planului de coordonate poate fi făcută la secțiunea de origine. În cazul în care lungimea acestui segment mai mare decât raza cercului, atunci punctul este în afara cercului și, prin urmare, nu îi aparține. Dacă segmentul care leagă punctul și originea este mai mică decât raza cercului centrat la originea sau egal cu, punctul va aparține unui cerc.
Segmentul dintre orice punct și punctul zero (originea) este ipotenuza unui triunghi dreptunghic, picioarele care sunt egale cu valorile coordonatele x și y ale punctului.
Astfel, problema se reduce în esență la două etape:
- Găsirea lungimea segmentului între punctul de origine și teorema lui Pitagora (pătratul ipotenuzei este egal cu suma pătratelor lungimilor picioarelor).
- Comparativ cu valoarea obținută cu raza cercului.
Codul sursă în limbajul de programare Pascal
var x. y. r. h. reale;
începe
scrie # 40; „Coordonatele punctului“ # 41; ;
readln # 40; x. y # 41; ;
scrie # 40; „Raza cercului:“ # 41; ;
readln # 40; r # 41; ;
h. = sqrt # 40; x * x + y * y # 41; ;
dacă h> r apoi writeln # 40; „Ideea nu aparține cercului“ # 41;
writeln altceva # 40; „Punctul aparține cercului“ # 41; ;
end.
Exemplu (e) al programului în limba Pascal
coordonatele: -1 -2
Raza cercului: 5
Punctul aparține unui cerc
Codul sursă în limbajul de programare C
#include
#include
principal # 40; # 41; # 123;
float x. y. r. h;
printf # 40; „Coordonatele punctului“ # 41; ;
scanf # 40; "% F% f". x, y # 41; ;
printf # 40; „Raza cercului“ # 41; ;
scanf # 40; "% F". r # 41; ;
h = sqrt # 40; x * x + y * y # 41; ;
printf # 40; "Ipotenuză este egal cu% .2f.". h # 41; ;
dacă # 40; h> r # 41; printf # 40; „Ideea nu aparține cercului. \ N“ # 41; ;
printf altceva # 40; „Punctul apartine discului. \ N“ # 41; ;
# 125;
Exemplu (e) al programului în limbajul C
Coordonatele punctului: 04 mai
raza cercului 10
Ipotenuzei este egal cu 6,40. Punctul aparține unui cerc.
soluții în special în limbajul de programare C
Pentru gcc pentru a compila cu cheia -lm.
Codul sursă în limbajul de programare Python
de la matematică sqrt de import
x = float # 40; intrare # 40; "X =" # 41; # 41;
y = float # 40; intrare # 40; "= Y" # 41; # 41;
r = float # 40; intrare # 40; "R =" # 41; # 41;
h = sqrt # 40; x ** 2 + y ** 2 # 41;
imprimare # 40; „Distanța până la punctul de origine este egală cu% .2f“% h # 41;
dacă h> r:
imprimare # 40; „Ideea este în afara cercului“ # 41;
altceva:
imprimare # 40; „Punctul apartine cercului de“ # 41;
Exemplu (e) al programului în limbajul Python
x = 10
y = - 3
r = 5
Distanța până la punctul de origine egală cu 10.44
punctul se află în afara cercului
Codul sursă în idoli de programare
SAL tochka_krug
devreme
vesch x. y. r. h
a concluzionat „Coordonatele punctului“
x intrare. y
ieșire „raza cercului“
intrare r
h: = sqrt # 40; x ** 2 + y ** 2 # 41;
dacă h> r concluzia „nu face parte“
în caz contrar producția „aparține“
toate
joc
Exemplu (e) a programului într-un idol limbă
Coordonatele punctului: 1,6 - 2,1
raza cercului: 4
aparține