Технический форум

Технический форум (http://www.tehnari.ru/)
-   Помощь студентам (http://www.tehnari.ru/f41/)
-   -   Принадлежность точки заштрихованной области. Турбо Паскаль 7.0 (http://www.tehnari.ru/f41/t98733/)

neio 08.10.2014 01:48

Принадлежность точки заштрихованной области. Турбо Паскаль 7.0
 
Вложений: 1
Необходима программа, которая будет получать введенную координату (x и y ) и сравнивать эту координату с координатами заштрихованной области фигуры и на основании этого делать вывод о принадлежности/не принадлежности точки к заштрихованной области. Написал, программа корректно работает в пределах рисунка, но если, к примеру ввести x=100 и y=1000, она выдаст, что точка принадлежит :( Как задать приделы границ квадрата? Скажем, чтобы программа считала все координаты больше 3 по y и по x как невходящие. Помогите, уже идей совсем нет, похоже,что перемудрил с условиями :kapitul:

Код:

Program example1;
Uses crt;
Var x,y: real;
Begin
Clrscr;
Writeln('vvedite x,y');
Readln (x,y);
If ((sqr(x)+sqr(y))<=4) and (x>=-3) and (x<=3) and (y>=0) and (y<=3) then
writeln('ne vxodit')
else
writeln('vxodit');
readln;
end.

Фото фигуры:

Vladimir_S 08.10.2014 10:22

Цитата:

Сообщение от neio (Сообщение 1067804)
Помогите, уже идей совсем нет, похоже,что перемудрил с условиями

Разумеется, перемудрил! Условие сформулировано абсолютно неверно. Надо так:
Код:

If ((sqr(x)+sqr(y))<=4) or (x<=-3) or (x>=3) or (y<=-3) or (y>=3) then
writeln('ne vxodit')
else
writeln('vxodit');


neio 08.10.2014 16:48

Цитата:

Сообщение от Vladimir_S (Сообщение 1067823)
Разумеется, перемудрил! Условие сформулировано абсолютно неверно. Надо так:
Код:

If ((sqr(x)+sqr(y))<=4) or (x<=-3) or (x>=3) or (y<=-3) or (y>=3) then
writeln('ne vxodit')
else
writeln('vxodit');


Огромное спасибо!


Часовой пояс GMT +4, время: 20:16.

Powered by vBulletin® Version 4.5.3
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.