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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 14.01.2015, 16:23   #1
glow_deitu
Новичок
Джуниор
 
Регистрация: 14.01.2015
Сообщений: 1
По умолчанию TurboPascal задание с фигурой

Всем ддобрый день. Вообщем не могу решить задачу, звучит так: "Определить принадлежит ли точка М(x,y) заданной фигуре: " фигуру добавил. Снимок.PNG Заранее спасибо.
glow_deitu вне форума Ответить с цитированием
Старый 14.01.2015, 17:06   #2
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,828
По умолчанию

вводим Mx=
вводим My=
//первая четверть 0-3 часа
если (X>=0) и (Y>0) то
начало
если (X<20)и(10<X)и(Y<20)и(10<Y) то принадлежит
конец
//вторая четверть 3-6 часов
если (X>=0)и(Y<0) то
начало
если(((Mx*Mx+My*My)^0.5)<=20)и(10<= ((Mx*Mx+My*My)^0.5)) то принадлежит
конец
//третья четверть 6-9 часов
если (X<=0)и(Y<0) то
начало
если((Mx*Mx+My*My)^0.5)<=20) то принадлежит
конец
//четвёртая четверть 9-12 часов
если(X<=0)и(0<Y) то
начало
если (-20<=X)и(Y<=20) то принадлежит
конец
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.
NetSpace вне форума Ответить с цитированием
Старый 14.01.2015, 17:48   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
//первая четверть 0-3 часа
если (X>=0) и (Y>0) то
начало
если (X<20)и(10<X)и(Y<20)и(10<Y) то принадлежит
конец
Не правильно:
Код:
(x<=20) and (y<=20) and not ((x<10) and (y<10))
Дальше не смотрел
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.01.2015, 18:22   #4
NetSpace
Участник клуба
 
Аватар для NetSpace
 
Регистрация: 03.06.2009
Сообщений: 1,828
По умолчанию

и почему это вдруг неправильно (X<20)и(10<X)и(Y<20)и(10<Y) ? у тебя просто исключаются точки оператором not, а у меня ограничиваются верхним и нижним пределом. я этот not вообще никогда не использовал и всё работало всегда...
Программирование - это единственный способ заставить компьютер делать то, что тебе хочется, а не то, что приходится.

Последний раз редактировалось NetSpace; 14.01.2015 в 18:37.
NetSpace вне форума Ответить с цитированием
Старый 14.01.2015, 19:08   #5
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Цитата:
и почему это вдруг неправильно
{5,15} принадлежит фигуре. А по твоей формуле? По другим четвертям после беглого просмотра вроде правильно

PS моя формула без NOT такая будет (но с NOT прозрачней, для меня по крайней мере)

Код:
(x<=20) and (y<=20) and ((x>=10) or (y>=10))
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.01.2015 в 20:28.
Аватар вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование циклом, управление фигурой. Whooles Visual C++ 1 05.01.2015 04:28
Рисование циклом, управление фигурой. Whooles Общие вопросы C/C++ 0 01.01.2015 14:52