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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2009, 12:15   #1
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
Печаль Принадлежность точки к фигуре

Уважаемые программисты форума!У меня сложилась проблема - задали задачу по графике в паскале.Сам не могу решить, уже 2 день мучаюсь
Помогите пожалуйста написать программу к задаче
Задача: Определить принадлежность точки М (х,у) к заданной фигуре. (рисунок прилагается)
х и у должны вводяться с клавиатуры.
Изображения
Тип файла: jpg DSC00001.JPG (62.3 Кб, 84 просмотров)

Последний раз редактировалось SeeJay; 24.12.2009 в 12:18.
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 12:20   #2
Levsha100
Заблокирован
Старожил
 
Регистрация: 20.07.2008
Сообщений: 4,032
По умолчанию

Код:
if x>0 then
  if sqrt(sqr(x)+sqr(y))<=3 then 
     WriteLn('Prenadleshid');
  else
     WriteLn('Ne prenadleshid');
else
  if y<0 then
       if (x>=-3) and(y>=-3) then 
          WriteLn('Prenadleshid');
       else
          WriteLn('Ne prenadleshid');
  else 
       if Тут думайте сами then 
          WriteLn('Prenadleshid');
       else
          WriteLn('Ne prenadleshid');
Levsha100 вне форума Ответить с цитированием
Старый 24.12.2009, 12:27   #3
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию

else
if Тут думайте сами then
WriteLn('Prenadleshid');
else
WriteLn('Ne prenadleshid');

Где думайте сами там что должно быть то?
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 12:33   #4
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию

Написал все, программа не работает...

Последний раз редактировалось SeeJay; 24.12.2009 в 12:39.
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 12:48   #5
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию вот то что я составил до обращения сюда :)

program LR3;
var x,y:real;
f1,f2,f3,f4,f:boolean;
begin
writeln ('введите х и у');
readln (x,y);
f1:=(x<=3) and (x>=-2) and (y<=3) and (y>=-3);
f2:=(sqr(x)+sqr(y)=9) and (x>=0);
f3:=(((x+2)/(-2)))>0 and (x<=0) and (y>=0);
f4:=(x>=-2) and (y<=-3) and (y<=0);
f:=f2 or f3 or f4;
if f and not f1 then writeln ('Принадлежит') else
writeln ('не принадлежит');
end.
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 13:40   #6
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию

Люди, помогите пожалуйста!
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 14:17   #7
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Код:
if x>0 then
  if sqrt(sqr(x)+sqr(y))<=3 then
     WriteLn('Prenadleshid')
  else
     WriteLn('Ne prenadleshid')
else
  if y<0 then
       if (x>=-2) and(y>=-3) then
          WriteLn('Prenadleshid')
       else
          WriteLn('Ne prenadleshid')
  else
       if (x>=-2) and {ур-ие прямой: y=3/2 * x + 3}(y<=3/2*x+3) then
          WriteLn('Prenadleshid')
       else
          WriteLn('Ne prenadleshid');
eoln вне форума Ответить с цитированием
Старый 24.12.2009, 14:36   #8
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию

Перед этим требует точку с запятой, когда ставлю - пишет Error in Statement

else
if (x>=-2) and {ур-ие прямой: y=3/2 * x + 3}(y<=3/2*x+3) then
WriteLn('Prenadleshid')
else
WriteLn('Ne prenadleshid');
SeeJay вне форума Ответить с цитированием
Старый 24.12.2009, 14:41   #9
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от SeeJay Посмотреть сообщение
Перед этим требует точку с запятой, когда ставлю - пишет Error in Statement

else
if (x>=-2) and {ур-ие прямой: y=3/2 * x + 3}(y<=3/2*x+3) then
WriteLn('Prenadleshid')
else
WriteLn('Ne prenadleshid');
Зачем???? Не надо перед else ставить ничего
Код:
var x,y:real;
begin
readln(x,y);
if x>0 then
  if sqrt(sqr(x)+sqr(y))<=3 then
     WriteLn('Prenadleshid')
  else
     WriteLn('Ne prenadleshid')
else
  if y<0 then
       if (x>=-2) and(y>=-3) then
          WriteLn('Prenadleshid')
       else
          WriteLn('Ne prenadleshid')
  else
       if (x>=-2) and {ур-ие прямой: y=3/2 * x + 3}(y<=3/2*x+3) then
          WriteLn('Prenadleshid')
       else
          WriteLn('Ne prenadleshid');
  readln
end.
eoln вне форума Ответить с цитированием
Старый 24.12.2009, 14:53   #10
SeeJay
Пользователь
 
Аватар для SeeJay
 
Регистрация: 24.12.2009
Сообщений: 15
По умолчанию

Заработало!!!!Огромное человеческое спасибо вам!
SeeJay вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Паскаль Принадлежность точки заданной области Unikummm Помощь студентам 18 28.11.2010 16:04
принадлежность точки(pascal) KIRILLoff Помощь студентам 2 18.10.2009 15:02
Принадлежность точки Forro Помощь студентам 4 26.05.2008 14:33
Принадлежность точки UnFaithful Паскаль, Turbo Pascal, PascalABC.NET 1 08.01.2008 06:16
принадлежность точки многоугольнику LevioFUN Общие вопросы Delphi 14 08.12.2006 16:07