Над найти расстояние от точки до центра окружности. Прще использовать квадрат расстояния. Если он равен квадрату радиуса, то точка на окружности. Если меньше, то внутри круга. Больше, то вне круга.
var xm,ym,xc,yc,r:real; begin writeln('Введите координаты точки Xm, Ym'); readln(xm,ym); writeln('Введите координаты центра окружности Xc, Yc'); readln(xc,yc); writeln('Введите радиус окружности R'); readln(r); if sqr(r)=sqr(xm-xc)+sqr(ym-yc) then writeln ('На окружности') else if sqr(r)>sqr(xm-xc)+sqr(ym-yc) then writeln ('Внутри круга') else writeln('Снаружи круга'); end.
Тест №1 Введите координаты точки Xm, Ym 4 2 Введите координаты центра окружности Xc, Yc 2 2 Введите радиус окружности R 2 На окружности
Тест №2 Введите координаты точки Xm, Ym 3 1 Введите координаты центра окружности Xc, Yc 2 2 Введите радиус окружности R 2 Внутри круга
Тест №3 Введите координаты точки Xm, Ym -1 -3 Введите координаты центра окружности Xc, Yc 2 2 Введите радиус окружности R 2 Снаружи круга
function linelength(x1, y1, x2, y2: integer): real; begin linelength := sqrt(sqr(x2 - x1) + sqr(y2 - y1)); end;
procedure ger(a, b, c: real); var p: real; begin p := (a + b + c) / 2; sc := sqrt(p * (p - a) * (p - b) * (p - c)); end;
begin write('1:');readln(x1, y1); write('2:');readln(x2, y2); write('3:');readln(x3, y3); write('4:');readln(x4, y4); ger(linelength(x1, y1, x2, y2), linelength(x2, y2, x3, y3), linelength(x1, y1, x3, y3)); s := s + sc; ger(linelength(x1, y1, x4, y4), linelength(x4, y4, x3, y3), linelength(x1, y1, x3, y3)); s := s + sc; writeln(s); end. //3) var a, b, c: integer;
function sce(var a: integer): integer; var sc, c: integer; begin while a <> 0 do begin c := a mod 10; a := a div 10; sc := sc + c; end; sce := sc; end;
begin read(a, b, c); if (sce(a) > sce(b)) and (sce(a) > sce(c)) then writeln(a) else if (sce(b) > sce(a)) and (sce(b) > sce(c)) then writeln(b) else if (sce(c) > sce(a)) and (sce(c) > sce(b)) then writeln(c) else if (sce(c) = sce(a)) and (sce(a) = sce(b)) then writeln('Равны'); end.
var xm,ym,xc,yc,r:real;
begin
writeln('Введите координаты точки Xm, Ym');
readln(xm,ym);
writeln('Введите координаты центра окружности Xc, Yc');
readln(xc,yc);
writeln('Введите радиус окружности R');
readln(r);
if sqr(r)=sqr(xm-xc)+sqr(ym-yc) then writeln ('На окружности') else
if sqr(r)>sqr(xm-xc)+sqr(ym-yc) then writeln ('Внутри круга') else
writeln('Снаружи круга');
end.
Тест №1
Введите координаты точки Xm, Ym
4 2
Введите координаты центра окружности Xc, Yc
2 2
Введите радиус окружности R
2
На окружности
Тест №2
Введите координаты точки Xm, Ym
3 1
Введите координаты центра окружности Xc, Yc
2 2
Введите радиус окружности R
2
Внутри круга
Тест №3
Введите координаты точки Xm, Ym
-1 -3
Введите координаты центра окружности Xc, Yc
2 2
Введите радиус окружности R
2
Снаружи круга
var
x1, y1, x2, y2, x3, y3, x4, y4: integer;
s, sc: real;
function linelength(x1, y1, x2, y2: integer): real;
begin
linelength := sqrt(sqr(x2 - x1) + sqr(y2 - y1));
end;
procedure ger(a, b, c: real);
var
p: real;
begin
p := (a + b + c) / 2;
sc := sqrt(p * (p - a) * (p - b) * (p - c));
end;
begin
write('1:');readln(x1, y1);
write('2:');readln(x2, y2);
write('3:');readln(x3, y3);
write('4:');readln(x4, y4);
ger(linelength(x1, y1, x2, y2), linelength(x2, y2, x3, y3), linelength(x1, y1, x3, y3));
s := s + sc;
ger(linelength(x1, y1, x4, y4), linelength(x4, y4, x3, y3), linelength(x1, y1, x3, y3));
s := s + sc;
writeln(s);
end.
//3)
var
a, b, c: integer;
function sce(var a: integer): integer;
var
sc, c: integer;
begin
while a <> 0 do
begin
c := a mod 10;
a := a div 10;
sc := sc + c;
end;
sce := sc;
end;
begin
read(a, b, c);
if (sce(a) > sce(b)) and (sce(a) > sce(c)) then writeln(a) else
if (sce(b) > sce(a)) and (sce(b) > sce(c)) then writeln(b) else
if (sce(c) > sce(a)) and (sce(c) > sce(b)) then writeln(c) else
if (sce(c) = sce(a)) and (sce(a) = sce(b)) then writeln('Равны');
end.