Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Закрытая тема
Ваша тема закрыта, почему это могло произойти? Возможно,
Нет наработок или кода, если нужно готовое решение - создайте тему в разделе Фриланс и оплатите работу.
Название темы включает слова - "Помогите", "Нужна помощь", "Срочно", "Пожалуйста".
Название темы слишком короткое или не отражает сути вашего вопроса.
Тема исчерпала себя, помните, один вопрос - одна тема
Прочитайте правила и заново правильно создайте тему.
 
Опции темы Поиск в этой теме
Старый 07.09.2011, 22:24   #1
homk
Новичок
Джуниор
 
Регистрация: 07.09.2011
Сообщений: 3
По умолчанию Проверить принадлежит ли точка закрашенной области, границе или находится вне области (код на Pascal)

Всем привет.
Задачулька такая...Посмотрите(проверьте на ошибки) принадлежит ли точка закр.обл,границе или наход в не обл.Соответственно выдать нужный результат.
рис.см.ниже

Код:
program sus;
uses crt;
var h : integer;
    x,y,r:real;

begin
clrscr;
h:=1;
while h=1 do
begin
write('x=');Readln(x);
write('y=');readln(y);
write('r=');readln(r);
if(x>0) and (x<r) and ((sqr(x)+sqr(y))>sqr(r)) and (y>0) then writeln('da')
                                                         else if (x>=0) and (x<=r) and(((x*x+y*y)>=(r*r))) and (y>=0)
                                                         then writeln('granica')
                                                         else if r=0 then writeln('error')
                                                         else writeln ('net');


writeln('novie dannie?esli da to vvedite 1,net-lubuiu cifru');read(h);
end;
readln;
end.
______________
Название темы по правилам форума должно адекватно отражать суть решаемой задачи/проблемы.
я исправил название темы.
Впредь будьте, пожалуйста, внимательней.

Модератор.
Изображения
Тип файла: jpg 070920112539.jpg (189.1 Кб, 163 просмотров)

Последний раз редактировалось Serge_Bliznykov; 07.09.2011 в 22:34.
homk вне форума
Старый 07.09.2011, 22:43   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) проверку на неправильный ввод r нужно вынести до проверки принадлежности точки.
Лучше всего, сразу после ввода r и сделать такую проверку. И не только на равенство нулю, но и на отрицательную величину..

2) не ошибка, но как-то немного непоследовательно.
в одном месте вы проверяете (sqr(x)+sqr(y)) ??? sqr(r)
в другом: x*x+y*y) ?? (r*r)
вы уж выберите один подход..

ну а сама проверка, имхо, правильно написана.
я не нашёл в ней косяков..
Serge_Bliznykov вне форума
Старый 07.09.2011, 22:51   #3
homk
Новичок
Джуниор
 
Регистрация: 07.09.2011
Сообщений: 3
По умолчанию

1)
Код:
write('r=');readln(r);
if r=0 then writeln('error');
Если так сделать,то произойдет ошибка.
Программа выдаст 2 сообщения 1-error
2-net
Поэтому возник вопрос?почему нужно выносить проверку радиуса после ввода его сразу?может.я не совсем понимаю что-то.
2) оформление должно быть одинаковое?

Последний раз редактировалось homk; 07.09.2011 в 23:08.
homk вне форума
Старый 07.09.2011, 23:16   #4
homk
Новичок
Джуниор
 
Регистрация: 07.09.2011
Сообщений: 3
По умолчанию

все)понял)
homk вне форума
Закрытая тема


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Определить принадлежит ли заданная точка с координатами (x,y) закрашенной области. Visual C Visual C++ 7 17.12.2011 19:49
Выяснить, принадлежит ли точка с координатами Х, Y замкнутой области, заданной уравнениями. в паскале Bjac@ Помощь студентам 3 09.01.2011 22:27
Принадлежит ли точка области? (Pascal) Volk_xD Помощь студентам 3 22.12.2010 13:54
Принадлежит ли точка с координатами следующей области TOMMY666 Помощь студентам 3 29.04.2010 16:44