Форум программистов, компьютерный форум, киберфорум
Lazarus
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.52/21: Рейтинг темы: голосов - 21, средняя оценка - 4.52
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
1

Попадает ли точка в область пересечения 2х графиков (задача)

20.04.2013, 18:07. Показов 4255. Ответов 15
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Задали задачу на программировании. Дали график y=x^2 и y=x^(1/2). Требуется ввести координаты x и y, и программа должна оповестить пользователя "принадлежит" или "не принадлежит" области пересечения 2х графиков. В общем я не могу составить формулу этой области пересечения и следовательно не могу понять какое условие нужно задать.
Я прошу только помочь составить формулу и задать условие.
Код программы выглядит примерно так:
Delphi
1
2
3
4
5
6
7
8
9
var
x,y:real;
Begin 
x:=strtofloat(edit1.text);
y:=strtofloat(edit1.text);
Z:=(тут формула области, которую я не могу составить)
If (условие которое мне не ясно) then label3.caption:='принадлежит'
Else label3.caption:='не принадлежит';
End;
Если что-то неправильно, поправьте меня, т.к писал я с телефона, а это не очень то и удобно.
Миниатюры
Попадает ли точка в область пересечения 2х графиков (задача)  
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
20.04.2013, 18:07
Ответы с готовыми решениями:

Попадает ли точка в область пересечения кругов
Добрый день, задачка такая Два круга заданы координатами центра и радиусом и дана произвольная...

В какую область попадает точка, или задача для первокурсника
На координатной плоскости нарисован четырёхугольник с вершинами (40;y), (-40;y), (-40;-y),...

Не могу понять как сделать Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую, попадает ли точка в область
Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую,...

Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую, попадает ли точка в область
Дана заштрихованная область и точка с координатами (х, у). Написать программу, определяющую,...

15
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
20.04.2013, 20:33 2
формулы тут нету-все намного проще: нужно решить уравнение (формулы-это из области выведения теорем и законов). а именно, нужно решить такое уравнение x^2=x^(1/2). найти икс. это для любых функций, вроде бы. почему так, ..., лучше догадаться самому, чем читать мои объяснения. ну, в принципе: иксы тут всегда равны, то есть график строится прибавлением икса на одинаковую величину для обеих функций. значит нужно найти где будут одинаковые игрики. а для этого нужно решить уравнение. уравнение можно не решать, можно тупо заставить программу, выполняя цикл увеличения значения х проверять не равна ли одна функция второй. а быстрее решить уравнение, но это сложная прога, наверное, проще на бумаге карандашем. просто я давно решал такие уравнения и не хочу вспоминать, буду вспоминать, но когда это надо будет мне . а мне тоже надо будет, ближе к зиме...

Добавлено через 26 минут
вот дополнение к пояснению: иксы равны по условию задачи-ищется точка пересечения, а значит иксы равны для обоих функций. как-то так.

Не по теме:

я не думал-я ел

2
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
20.04.2013, 21:13 3
Rofl92, искомая область находится ВЫШЕ кривой y = x2 (соответственно, там y > x2), но НИЖЕ кривой y = x1/2 (т.е., y < x1/2). Следовательно, достаточно проверить, что x2 < y < x1/2 при 0 <= x <= 1, и если эти условия выполняются, то точка лежит между графиками.
1
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
20.04.2013, 23:45 4
тогда задача должна, была, выглядеть несколько иначе: принадлежит ли точка общей области множеств графиков функций. и материал соответственно, по ходу обучения, что за пересечение такое и что такое пересечение множеств. а так, я лично понял что имеется некая зона, типа радиуса, вокруг точки пересечения графика. не всякий график описывает площадь.

Не по теме:

кто ясно мыслит-ясно излагает. графики всегда описывают площадя? ну я как обычно дурак, я знаю, этому меня долго учили



Добавлено через 40 минут
проясню свю мысль: берем график ускорения движения. является ,ли, мгновенная скорость, на определенном отрезке времени, множеством скоростей? много здравомыслящих станут утверждать, что да? все?

Не по теме:

и тут меня осенило, как готовят ...

1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
21.04.2013, 01:01 5
Hretgir, тебе мало того, что в твоих темах ты сам с собой разговариваешь, поскольку изъясняешься понятным только тебе образом, ты еще и в чужих темах так же будешь изъясняться? Иди лучше со своими задачами разбирайся... Сам...
Цитата Сообщение от Hretgir Посмотреть сообщение
проясню свю мысль:
Ну да, прямо гениальное "прояснение"... Иди, у тебя еще твоя супер-задача, которая перевернет всё в программировании, не решена... Решай, не отвлекайся на мелочи...
1
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
21.04.2013, 02:36  [ТС] 6
Hretgir, т.е. согласно первому вашу ответу нужно проверить в каких точках y равны? Скорее всего они равны в x=1 и x=0 но это только 2 точки пересечения этого графика.
Судя по ответу UI, условие должно быть таким:
Delphi
1
2
3
4
5
6
if x>=0 and x<=1 then
 begin 
 if y>x^2 and y<x^(1/2) then label3.caption:='принадлежит'
 Else  label3.caption:='не принадлежит'
 End;
Else label3.caption:='не принадлежит';
Я прав?
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
21.04.2013, 09:40 7
Цитата Сообщение от Rofl92 Посмотреть сообщение
Hretgir, т.е. согласно первому вашу ответу нужно проверить в каких точках y равны?
да. я думал что имеется ввиду некоторая область вокруг точки пересечения графиков. ответ UI скорее всего правильнее, согласно правилам системы образования, прсто тот кто придумывал задание к задаче, вряд ли думал что ему зададут вопрос такой:
Цитата Сообщение от Hretgir Посмотреть сообщение
берем график ускорения движения. является ,ли, мгновенная скорость, на определенном отрезке времени, множеством скоростей? много здравомыслящих станут утверждать, что да?
насчет того что я-дурак, я привык уже но ответ на вопрос меня интересует правда. насколько далека наука от практики у нас ярко выражено в системе образования. UI,я - дурак, главное не нервничайте, ваши советы многим еще помогут.

Добавлено через 14 минут
Цитата Сообщение от Rofl92 Посмотреть сообщение
Скорее всего они равны в x=1 и x=0 но это только 2 точки пересечения этого графика.
нет, посмотрите внимательнее на график, они равны в координатах 1, 1. иксы одинаковые по условию задачи. но это все равно теперь неправильно. вбейте в википедию пересечение множеств. вот что имелось ввиду в задаче. условия задачи не совсем хорошо расписаны. поскольку если взять график ускорения движения, то кто возьмется утверждать, что мгновенная скорость-множество скоростей? условия задачи оторваны от действительности и удовлетворяют только потребности ее составителя. а игрики равны в точе у=1, х=1. условие задачи-пересечение. так что 1,1. хотел помочь, но не смог, не ожидал что так далеко от реальности.
1
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
21.04.2013, 11:40  [ТС] 8
Просто препод хотел дать мне задание посложнее и дала два графика не подумав. В общем как я понял нужно вставить условие которое предложилUI

Добавлено через 41 минуту
Стоп, а где тогда вводить y=x^2 и y=x^(1/2)? Что-то не до конца понял :/
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
21.04.2013, 15:06 9
фишка в том, что я не уверен до конца, что именно UI прав, потому что людей, утверждающих что мгновенная скорость является множеством скоростей, найдется очень немного, и их психическое здоровье будет являться сомнительным. но учитывая, что у нас обычно круглое носят, а квадратное катают, то я допускаю, что UI скорее всего знает прибабахи преподов побольше меня. вобщем, если красная точка на рисунке-область пересечения, то нужно решить уравнение, как я и говорил, затем вбить некий радиус и прога должна вычислить принадлежит ли точка этой окружности. но скорее всего UI прав, поэтому рисунок не полонн, там должна быть заштрихована искомая область множест, перекрываемая обоими графиками. времени нет, позже чуть. сорь.

Добавлено через 2 часа 52 минуты
если речь идет о пересечении множеств, то искомая область, до точки пересечения лежит ниже синей кривой, а после пересечения ниже фиолетовой, если икс-ширина, игрик-высота. это если препод имел ввиду , под областью и пересечением графиков, пересечение множеств. посмотрите в википедии о пересечении множеств, где оно применимо, в каких задачах. если он это имел ввиду, то того, что сказал UI не достаточно.
1
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
21.04.2013, 15:06  [ТС] 10
Да, тут должна быть заштрихована область от 0 до красной точки, ограниченная синей и красной линиями - это и есть область пересечения. Тк я пишу с телефона, я смог найти только такой график и этим ввел вас в заблуждение, за что глубочайше извиняюсь. В общем исходя из этой темы я понимаю решение этой задачи так:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
var
x,y:real;
Begin 
x:=strtofloat(edit1.text);
y:=strtofloat(edit1.text);
if x>=0 and x<=1 then
 begin 
 if y>x^2 and y<x^(1/2) then label3.caption:='принадлежит'
 Else  label3.caption:='не принадлежит'
 End;
Else label3.caption:='не принадлежит';
End
Поправьте меня если это неправильное решение. Опробовать его могу только завтра на паре, тк сейчас компьютер с лазарусом на борту для меня не доступен
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
21.04.2013, 15:10 11
значит так должно быть правильно.
1
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
21.04.2013, 15:12 12
Это неправильное решение. Синтаксисом Паскаля здесь и не пахнет.

Pascal
1
2
3
Uses ..., Math; // <--- Добавить этот модуль
if InRange(x, 0, 1) and (y > Sqr(x)) and (y < Sqrt(x)) then label3.caption:='принадлежит'
else label3.caption:='не принадлежит'
1
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
22.04.2013, 05:50  [ТС] 13
Спасибо вам за помощь, завтра отпишу как сдам эту задачу

Добавлено через 14 часов 33 минуты
В общем с inrage(x,0,1) в условии, программа не компилировалась. Я сделал так и все получилось
Pascal
1
2
3
4
5
6
if (x>=0) and (x<=1) then
 begin 
 if (y>sqr(x)) and (y<sqrt(x) then label3.caption:='принадлежит'
 Else  label3.caption:='не принадлежит';
 End
Else label3.caption:='не принадлежит';
Спасибо вам

Еще, если не сложно, можете подсказать как вывести координаты курсора куда-либо(например в label) и как задать нулевую координату?
0
356 / 124 / 3
Регистрация: 25.01.2012
Сообщений: 5,464
Записей в блоге: 118
22.04.2013, 12:29 14

Не по теме:

Цитата Сообщение от UI Посмотреть сообщение
Иди, у тебя еще твоя супер-задача, которая перевернет всё в программировании
история прогресса существует не потому, что кто-то хотел что-то перевернуть, а потому, что кто-то очень разумно направлял свой потенциал. у меня нету цели кого-то или что-то переворачитивать, я всегда делаю то, что нужно мне, так-же, как и все остальные. то что в парадигме ООП ничего нового нет-не только мои слова, и то что создатели ООП считают стандартные приемы программирования своими изобретениями-их трудности. мне надо было- я вывернул интерпретацию парадигмы ООП, для себя, так, чтобы мне было проще понимать (и даже не вывернул, а описал основные ее объекты языком прграммирования, естественно, не привлекая понятий из вне программирования). кто перевернется, а кто нет-мне глубоко фиолетово, я решаю свои задачи-не более.



Добавлено через 4 минуты
Цитата Сообщение от Rofl92 Посмотреть сообщение
можете подсказать как вывести координаты курсора куда-либо(например в label) и как задать нулевую координату?
TEdit, наверное, задать координаты, лучше всего. С графикой Lazarus работать не собираюсь, поэтому ничего подсказать не могу, судя по всему буду использовать библиотеку GLUT.
0
0 / 0 / 0
Регистрация: 15.04.2013
Сообщений: 30
22.04.2013, 12:36  [ТС] 15
Уже разрбрался, есть событие onmousemove. А оттуда уже можно вывести координату нахождения курсора
0
Супер-модератор
Эксперт Pascal/DelphiАвтор FAQ
32835 / 21172 / 8148
Регистрация: 22.10.2011
Сообщений: 36,431
Записей в блоге: 8
22.04.2013, 12:43 16
Цитата Сообщение от Rofl92 Посмотреть сообщение
В общем с inrage(x,0,1) в условии, программа не компилировалась.
И не должна. InRange, это во-первых, во-вторых я написал, какой модуль надо подключить. А то, что после подключения этого модуля приведенный мной код компилируется - это точно, я никогда не выкладываю (в отличие от некоторых, я надеюсь, этим "некоторым" понятно, о ком речь?) непроверенные коды. Просто не выкладываю, и всё. Не приучен.

Не по теме:

Цитата Сообщение от Hretgir Посмотреть сообщение
я всегда делаю то, что нужно мне, так-же, как и все остальные
Сначала надо научиться хоть что-то делать, а потом уже делать то, что нужно. С твоим знанием синтаксиса языка и теории программирования даже к компьютеру подходить нельзя, я уж не говорю, что включать его. Ан нет, ты еще и программы пишешь. Вот она, разница между временами. У каждого дома стоит компьютер, казалось бы - такой простор, учись, выучил теорию - подкрепляй практически. Так нет же, будут писать всякую лабуду, а потом еще и говорить, что тут, оказывается, везде ошибки вокруг. Прям вот везде, только не у них в программах и в ... ну ладно, не буду говорить еще где...

Тебе бы поучиться вот так: на весь факультет - 2 персоналки, одна в кабинете декана, вторая - у зав. кафедрой. А на "Примусы" - очередь на неделю вперед, занятия - по 45 минут, а тебе надо сдать 3-4 работы. Пришел, набрал текст - задание ушло в очередь на выполнение. Через 10-20 минут тебе принесли результаты. А в результатах - или ответ (хоть какой-то, может и неправильный), или сообщение об ошибке. А исправлять-то некогда, угу. "Ваше время закончилось, до следующей недели". И чего делать, если работы сдавать надо? Вот и сидели, вылизывали/проверяли/перепроверяли программу на листе бумаги так, чтобы даже никаких намеков на ошибку не было, только после этого программа набиралась на компьютере.



Всё, оффтоп закончен.
0
22.04.2013, 12:43
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.04.2013, 12:43
Помогаю со студенческими работами здесь

Задача на определение, попадает ли точка с заданными координатами x, y в область, закрашенную на рисунке серым цветом
Здравствуйте! Извините за беспокойство, проблема конечно пустяковая, но я никак не могу разобраться...

Попадает или не попадает точка с заданными координатами в указанную область?
Необходимо решить задачу, которая при введение &quot;х&quot;, &quot;у&quot; и &quot;r&quot; говорила попадает ли точка с...

Определить, попадает ли заданная точка в заштрихованную область (границы не входят в область)
Условие: Напишите программу, которая определяет, попадает ли заданная точка в заштрихованную...

Напишите программу, которая определяет, попадает ли заданная точка в заштрихованную область. Границы не входят в область
Всем доброго времени суток. Не могу решить задачу Напишите программу, которая определяет,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru