А59ж

Задача

Даны действительны числа [latex]x[/latex] , [latex]y[/latex]  . Определить , принадлежит ли точка с координатами  [latex]x[/latex] , [latex]y[/latex] заштрихованной части плоскости .

Безымянный

Тесты:

x y результат комментарий
-1.5 1 outside пройден
-0.5 0.5 inside пройден
0.5 0.5 inside пройден
1.5 1.5 outside пройден
-0.5 -0.5 inside пройден
-1 -1.5 outside пройден
1 -1.5 outside пройден
 

Ссылка на код C++ : http://ideone.com/JKdLjg

Ссылка на код Java : http://ideone.com/kWAdw2

Решение :

Решение задачи сводится к поиску условия, при котором точка будет принадлежать данной части плоскости. Далее вводим оператор условия «if» и ставим ограничения на [latex]x[/latex] и [latex]y[/latex].

Анализируем условие , при каких значениях [latex]x[/latex] и [latex]y[/latex] точка будет принадлежать условию , а при каких нет.Если вошла точка по координатам во все области -> точка принадлежит треугольнику или же наоборот .

 

Related Images:

Ю3.3

Точки внутри эллипса. Для заданных [latex]a[/latex] и [latex]b[/latex] найти все точки с целочисленными координатами, находящиеся внутри эллипса [latex]\frac{x^2}{a^2}+\frac{y^2}{b^2}\leq 1[/latex]. Полезно, используя процедуру GoToXY в Паскале,  вывести найденные координаты точек в форме эллипса.

a b Результат:
1 1 (-1,0);(0,-1);(0,0);
(0,1);(1,0)
2 1 (-2,0);(-1,0);(0,-1);(0,0)
(0,1);(1,0);(2,0)
3 2 (-3,0);(-2,-1);(-2,0);(-2,1);
(-1,-1);(-1,0)(-1,1);(0,-2);
(0,-1);(0,0);(0,1);(0,2);
(1,-1);(1,0);(1,1);
(2,-1);(2,0);(2,1);(3,0)

Код программы:

По условию задачи нужно для заданных [latex]a[/latex] и [latex]b[/latex] найти все точки с целочисленными координатами, находящиеся внутри эллипса.

Вводим переменные [latex]a[/latex] и [latex]b[/latex] с типом данных «float», а [latex]x[/latex] и [latex]y[/latex] с типом «int», так как нам нужны точки с целочисленными координатами.

Пусть [latex](x,y)\in Z^2[/latex] ,[latex] a>0[/latex], [latex] b>0[/latex] и [latex]\frac{x^2}{a^2}+\frac{y^2}{b^2}\leq 1[/latex] .

Тогда [latex]\frac{x^2}{a^2}+y\leq 1\rightarrow[/latex] [latex]0\leq \frac{y^2}{b^2}[/latex][latex]\leq 1-\frac{x^2}{a^2}\rightarrow[/latex][latex]0\leq 1-\frac{x^2}{a^2}\Leftrightarrow[/latex][latex]\frac{x^2}{a^2}\leq 1\Leftrightarrow [/latex][latex]x^2\leq a^2 \Leftrightarrow[/latex] [latex]-a\leq x\leq a\Leftrightarrow[/latex] [latex][-a]\leq x\leq [a][/latex].
Аналогичным образом получаем, что обязано выполняться двойное неравенство [latex][-b]\leq x\leq [b].[/latex]

С геометрической точки зрения, полученные результат означает, что все точки эллипса, имеющие целочисленные координаты, лежат внутри прямоугольника [latex]\left \{ \right.(x,y)\in R^2|[-a]\leq x\leq [a]; [-b]\leq x\leq [b]\left. \right \}[/latex] .
Перебрав все целочисленные точки этого прямоугольника и отобрав те из них, которые удовлетворяют неравенству эллипса, решим задачу.

Для проверки работы программы можно воспользоваться объектом.

 

Код программы на Java:

Related Images:

А53

Задача: Даны действительные числа [latex]a,b,c,d,e,f,g,h.[/latex] Известно, что точки [latex](e,f)[/latex] и [latex](g,h)[/latex] различны. Известно также, что точки [latex](a,b)[/latex] и [latex](c,d)[/latex] не лежат на прямой [latex]l[/latex], проходящей через точки [latex](e,f)[/latex] и [latex](g,h)[/latex]. Прямая [latex]l[/latex] разбивает координатную плоскость на две полуплоскости. Выяснить, верно ли, что точки [latex](a,b)[/latex] и [latex](c,d)[/latex] принадлежат одной и той же полуплоскости.

a b c d e f g h Комментарий:
1 1 1 1 1 1 1 1 (a,b) и (c,d) принадлежит
разным полуплоскостям
2 3 7 5 6 3 5 2 (a,b) и (c,d) принадлежат
одной полуплоскости
3 1545 3455 4 42 656,1 3445 1,56 (a,b) и (c,d) принадлежат
разным полуплоскостям

Код программы:

По условию задачи нужно выяснить, верно ли, что точки [latex](a,b)[/latex] и [latex](c,d)[/latex] принадлежат одной и той же полуплоскости. Вводим переменные с типом данных «float», так как координаты входят в множество действительных чисел.   Определяем  взаимное расположение точек с помощью  уравнения прямой:  [latex]f=(x-e)(h-f)-(y-f)(g-e)[/latex] .

Если точки лежат в одной полуплоскости, то [latex](a-e)*(h-f)-(b-f)*(g-e)[/latex] и
[latex](c-e)*(h-f)-(d-f)*(g-e)[/latex] – должны быть числами одного знака, если же их знаки противоположны, то точки лежат в разных полуплоскостях.

Для выполнения программы и проверки тестов можно воспользоваться следующим объектом.

 

Код программы на Java:

Related Images:

А59в

Задача. Даны действительные числа   [latex]x[/latex] и [latex]y[/latex]. Определить, принадлежит ли точка [latex]x[/latex] ,[latex]y[/latex]заштрихованной области.

VbnLavS7Azw

х у результат комментарий
0 0 принадлежит пройдено
0.5 1 принадлежит пройдено
-2 -5 не принадлежит пройден

Код программы на языке C++:

Код программы на языке Java:

Ccылка на программу на языке Java: http://ideone.com/QBb6dQ

Решение

Решение задачи сводится к поиску условия, при котором точка будет принадлежать данной части плоскости. Далее вводим  оператор  условия «if» и ставим  ограничения на [latex]x[/latex] и [latex]y[/latex].

Анализируем наше условие, при каких значениях  [latex]x[/latex] и [latex]y[/latex] точка будет принадлежать заштрихованной плоскости, а в  каких нет.

 

 

Related Images: