Помощь - Поиск - Пользователи - Календарь
Полная версия: попадание точки
Форум «Всё о Паскале» > Pascal, Object Pascal > Задачи
Hunt666
задачка такая задана единичная окружность , прямая у=0.6
заданная область находится внутри окружности между прямыми у=0 и у=0.6
вот то что у меня получилось

program pop;
var n,y,x:real;
begin
writeln('vvedi x u y');
read(x,y);
if (sqrt(sqr(x) + sqr(y))<1) and (y>0) and (y<0.6)
then writeln('popadaet');
if (sqrt(sqr(x) + sqr(y))=1) or (y=0.6) or (y=0)
then writeln('na granice')
else writeln('ne popadaet');
readln;
End.


но проблема в том что в этом случае верхняя и нижняя дуги оказваютс "на границе"
у меня не получается сделать так что бы в случае скажем х=0 у=-1 результат был "не попадает" ,а не" на границе"
volvo
Hunt666, очень распространенная ошибка: нельзя сравнивать Real-значения на равенство, можно только на НЕравенство:
program pop;
var n,y,x:real;
begin
writeln('vvedi x u y');
read(x,y);
if (sqrt(sqr(x) + sqr(y))<1) and (y>0) and (y<0.6) then writeln('popadaet')
else
if (sqrt(sqr(x) + sqr(y))>1) or (y>0.6) or (y<0) then writeln('ne popadaet')
else writeln('na granice');

readln;
End.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.