
Другие языки программирования и технологии
turbo pascal 7.0 Определить принадлежность к области точек с заданными координатами!!!
Определить, принадлежит ли точка с координатами (х,у) заданному множеству точек на координатной плоскости (включая границы). 

1 программа
var
X0, Y0, R0, R1 : Real;
R, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра окружности кольца (смещение от точки (0,0) )');
WriteLn('R - внешний радиус кольца');
WriteLn('r - внутренний радиус кольца');
Write('Введите X0, Y0, R и r через пробел : '); ReadLn(X0, Y0, R1, R0);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
R := X*X + Y*Y;
if R > R1*R1 then WriteLn('Не принадлежит. ')
else if R < R0*R0 then WriteLn('Не принадлежит. ')
else WriteLn('Принадлежит. ')
until (X0 = -100) and (Y0 = -100);
end.
2 программа
var
X0, Y0, H0, H1 : Real;
H, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра фигуры (смещение от точки (0,0) )');
WriteLn('H - расстояние от центра фигуры до внешнего угла');
WriteLn('h - расстояние от центра фигуры до внутреннего угла');
Write('Введите X0, Y0, H и h через пробел : '); ReadLn(X0, Y0, H1, H0);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
H := Abs(X) + Abs(Y);
if (H < H1) and (H > H0) then WriteLn('Принадлежит. ')
else WriteLn('Не принадлежит. ');
until (X0 = -100) and (Y0 = -100);
end.
3 программа
var
X0, Y0, H, R : Real;
Hx, Rxy, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра фигуры (смещение от точки (0,0) )');
WriteLn('H - вся ширина области');
WriteLn('R - радиус описанной окружности');
Write('Введите X0, Y0, H и R через пробел : '); ReadLn(X0, Y0, H, R);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
Hx := Abs(X);
Rxy := X*X + Y*Y;
if Hx > H/2 then WriteLn('Не принадлежит. ')
else if Rxy > R*R then WriteLn('Не принадлежит. ')
else WriteLn('Принадлежит. ');
until (X0 = -100) and (Y0 = -100);
end.
4 программа не влезла в 4000 символов!
var
X0, Y0, R0, R1 : Real;
R, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра окружности кольца (смещение от точки (0,0) )');
WriteLn('R - внешний радиус кольца');
WriteLn('r - внутренний радиус кольца');
Write('Введите X0, Y0, R и r через пробел : '); ReadLn(X0, Y0, R1, R0);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
R := X*X + Y*Y;
if R > R1*R1 then WriteLn('Не принадлежит. ')
else if R < R0*R0 then WriteLn('Не принадлежит. ')
else WriteLn('Принадлежит. ')
until (X0 = -100) and (Y0 = -100);
end.
2 программа
var
X0, Y0, H0, H1 : Real;
H, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра фигуры (смещение от точки (0,0) )');
WriteLn('H - расстояние от центра фигуры до внешнего угла');
WriteLn('h - расстояние от центра фигуры до внутреннего угла');
Write('Введите X0, Y0, H и h через пробел : '); ReadLn(X0, Y0, H1, H0);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
H := Abs(X) + Abs(Y);
if (H < H1) and (H > H0) then WriteLn('Принадлежит. ')
else WriteLn('Не принадлежит. ');
until (X0 = -100) and (Y0 = -100);
end.
3 программа
var
X0, Y0, H, R : Real;
Hx, Rxy, X, Y : Real;
begin
WriteLn('X0, Y0 - координаты центра фигуры (смещение от точки (0,0) )');
WriteLn('H - вся ширина области');
WriteLn('R - радиус описанной окружности');
Write('Введите X0, Y0, H и R через пробел : '); ReadLn(X0, Y0, H, R);
WriteLn('Вводите через пробел координаты X, Y (-100 -100 для выхода) :');
repeat
Write('X Y : '); ReadLn(X, Y);
X := X - X0; Y := Y - Y0; { совместим центр фигуры с центром координат }
Hx := Abs(X);
Rxy := X*X + Y*Y;
if Hx > H/2 then WriteLn('Не принадлежит. ')
else if Rxy > R*R then WriteLn('Не принадлежит. ')
else WriteLn('Принадлежит. ');
until (X0 = -100) and (Y0 = -100);
end.
4 программа не влезла в 4000 символов!
Похожие вопросы
- turbo pascal 7.0!
- Для тех кто разбирается в Turbo Pascal 7.0 помогите плиз))))
- Turbo Pascal 7.0 помогите пожалуйста!!!
- Turbo pascal 7.0,задача
- В чём разница С++,С#,Turbo Pascal 7.0!И что лучше и легче?
- Для чего в школах преподают Turbo Pascal 7.0?
- Какой язык програмирования выбрать? Уже заканчиваю изучение Turbo pascal 7.0, какой изучать потом? Напишите поконкретнее
- Как вставить текст в Turbo Pascal 7.1???
- Помогите с Pascal 7.0!Кто чем может!
- С/C++ программисту изучить turbo pascal 7 в короткие сроки (вынужденная необходимость)