Ю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:

Зелінський Вячеслав Олександрович
Зелінський Вячеслав Олександрович

Latest posts by Зелінський Вячеслав Олександрович (see all)

5 thoughts on “Ю3.3

  1. Программа работает правильно. Молодец!
    Но есть недочёты в оформлении кода и отчёта.
    — поправьте отступы в отчёте и на ideone.
    — формулы в тексте должны оформляться как в математических текстах, а не как в программах. Например, дроби, степени, знаки неравенства и умножения . В задачнике формула выглядит так же?
    — Все математические упоминания переменных должны оформляться в laTeX. Хоть и всего один символ, а уже формула.