Форум программистов, компьютерный форум, киберфорум
Pascal ABC
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/8: Рейтинг темы: голосов - 8, средняя оценка - 4.63
0 / 0 / 0
Регистрация: 18.12.2024
Сообщений: 2

Определение попадания точки с заданными координатами X и Y в закрашенную область

18.12.2024, 21:42. Показов 2306. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте, помогите решить задачу на Паскаль.

Разработать алгоритм и программу, которая в ответ на вводимую с клавиатуры пару вещественных чисел, представляющих собой координаты X, Y точки М на плоскости, выдает сообщение о принадлежности этой точки заданной закрашенной области согласно варианта (номер варианта – номер по журналу).

Например:
- «Точка принадлежит закрашенной области А»,
- «Точка принадлежит закрашенной области В»,
- «Точка не принадлежит закрашенной области».

Область:



Примерное решение:
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
CONST R=100; AA=170; BB=80;
VAR p1p2,p2p3,p3p1,p4p5,p5p6,p6p7,p7p4:BOOLEAN;
   X,Y,X0ok,Y0ok,X0el,Y0el:REAL;
BEGIN
   {Здесь должны быть вычислены все необходимые
   параметры используемых далее выражений:
   X0ok,Y0ok,X0el,Y0el и т.д.}
p1p2:=((X-X0el)*(X-X0el))/(AA*AA)+((Y-Y0el)*(Y-Y0el))/(BB*BB) > 1;
p2p3:=X>0;
p3p1:=(X0ok)*(X0ok)+(Y-Y0ok)*(Y-Y0ok) < R*R;
p4p5:=((X-X0el)*(X-X0el))/(AA*AA)+((Y-Y0el) *(Y-Y0el))/(BB*BB) < 1;
p5p6:=X>0;
p6p7:=(X-X0ok)*(X-X0ok)+(Y-Y0ok)*(Y-Y0ok) > R*R;
p7p4:=Y<0;
IF (p1p2 AND p2p3 AND p3p1) OR (p4p5 AND p5p6 AND p6p7 AND p7p4)
THEN
WRITELN ('Точка принадлежит эакрашенной области')
ELSE
WRITELN ('Точка не принадлежит закрашенной области');
END.
Здесь представлен один из множества возможных вариантов.
Цель выбранного варианта - яснее показать механизм решения задачи. Зная основы математической логики, можно существенно упростить логические выражения, используемые в операюрах условия (ветвления), за счёт устранения многочисленных повторений некоторых конструкций.
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2024, 21:42
Ответы с готовыми решениями:

Определение факта попадания точки в закрашенную область
помогите написать программу определения факта попадания точки в закрашенную область

Определение факта попадания точки в закрашенную область
Разработать программу для определения факта попадания точки в закрашенную область. Это естественно не работает, хелп program prim_8;...

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

11
Заблокирован
19.12.2024, 13:27
FLEKS1102, а хоть какие-то свои потуги есть?
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
20.12.2024, 00:05
FLEKS1102, cначала определяете уравнения окружности, эллипса и прямой, затем, исходя из них, пишете условия попадания точки в заданные области. Затем пишете программу. Voila!

Не по теме:

Да, и вот ещё что... Скажите, для чего Вы приложили к Вашему вопросу нерабочую программу на Pascal, написанную в стиле FORTRAN? Ничего, что эта программа древняя, как гуано мамонта, и к Вашему вопросу относится не более, чем опосредованно? Надо было выложить тогда всю методичку, чего уж там.

0
Заблокирован
23.12.2024, 00:33
FLEKS1102, должно получиться как-то так:
Миниатюры
Определение попадания точки с заданными координатами X и Y в закрашенную область  
0
0 / 0 / 0
Регистрация: 18.12.2024
Сообщений: 2
25.12.2024, 14:44  [ТС]
да, можете код показать?
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
25.12.2024, 16:50
FLEKS1102, до кода здесь как от Москвы до Владивостока на лыжах. Да и код-то в этом задании не главное, поскольку код в этом задании - это самое простое.

Вот Вам, чтобы оценить масштаб бедствия:

Пишем уравнения.

Окружность:

Если провести вертикальную касательную к правой части окружности, вроде бы она должна пересекать ось абсцисс в точке x=25. Следовательно, абсцисса центра окружности будет x0=25-R=1. Окружность пересекает ось ординат в точке y=-31. Тогда ордината центра окружности будет

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y_0=\sqrt{R^2-x_0^2}-31=\sqrt{24^2-1^2}-31<br />

Тогда уравнение окружности будет

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{(x-1)^2+\left( y-\sqrt{24^2-1^2}+31\right)^2=24^2}<br />

Эллипс:

Вертикальная касательная x=-28, эллипс пересекает ось ординат в точке y=6. Вывод формулы приводить не буду, многа букав. У меня получилось вот такое уравнение эллипса:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\boxed{\frac{(x-7)^2}{35^2}+\frac{\left( y+6-17\sqrt{\frac{24}{25}}\right)^2}{17^2}=1}<br />

Прямая:

Прямая проходит через две точки: точку пересечения окружности с осью абсцисс и одну из точек пересечения окружности и эллипса.

Точка пересечения прямой с окружностью будет

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
(x_1;\,y_1)=\left( \sqrt{24^2-\left(-\sqrt{24^2-1^2}+31\right)^2}+1;\,0\right)<br />

А точку пересечения окружности, эллипса и прямой можно найти, решив систему уравнений

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}(x-1)^2+\left( y-\sqrt{24^2-1^2}+31\right)^2=24^2\\ \frac{(x-7)^2}{35^2}+\frac{\left( y+6-17\sqrt{\frac{24}{25}}\right)^2}{17^2}=1 \end{cases}<br />

Я устал от чисел. Дальше сами. Решением системы уравнений будут четыре точки (x; y), из них нужно выбрать ту, которая расположена в третьем квадранте.

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

Дальше дело техники: записать условия принадлежности к областям, и написать программу.

Писал на скорую руку, может быть, где-то и ошибся.

Проверяйте мои формулы. Решайте систему уравнений.

Есть ещё один путь. Можно определить все эти формулы и точки с нужной точностью численными методами.
0
200 / 151 / 63
Регистрация: 14.06.2024
Сообщений: 411
26.12.2024, 09:48
FLEKS1102, что у эллипса, что у окружности(частного случая эллипса) уравнение:
(x-x0)2/a2+(y-y0)2/b2=1
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
26.12.2024, 11:04
udmurt2024, чтобы было совсем похоже, общепринятое уравнение окружности нужно немного переписать:
(x-x0)2/R2+(y-y0)2/R2=1
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
06.01.2025, 14:54
Задачка, на самом деле, не так уж и простая.

Нарисуем ключевые точки:



Абсциссы точек P3 и P4 и ординаты точек P5 и P6 известны, другие их координаты не требуются.

Уравнение окружности

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\left( x-x_{0C}^{\,}\right)^2+\left( y-y_{0C}^{\,}\right)^2=R^2<br />

Определим центр окружности P0C=(x0C, y0C).

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_{0C}=x_3-R\\ y_{0C}=\sqrt{R^2-x_{0C}^2}+x_5<br />

Запишем уравнение эллипса вот в таком виде:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
b^2\left( x-x_{0E}^{\,}\right)^2+a^2\left( y-y_{0E}^{\,}\right)^2=a^2b^2<br />

Определим центр эллипса P0E=(x0E, y0E).

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_{0E}=x_4+a\\y_{OE}=y_6-b\sqrt{1-\frac{(x_6-x_{0E})^2}{a^2}<br />

Уравнение прямой по двум точкам

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{y-y_1}{y_2-y_1}=\frac{x-x_1}{x_2-x_1}<br />

Определим координаты точек P1=(x1, y1) и P2=(x2, y2)

P2 - точка пересечения окружности с осью абсцисс. Подставляем точку в окружность (y2 равна нулю)

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\left( x_2-x_{0C}^{\,}\right)^2+\left( 0-y_{0C}^{\,}\right)^2=R^2<br />

И вычисляем координату x2:

https://www.cyberforum.ru/cgi-bin/latex.cgi?x_2=\sqrt{R^2-y_{0C}^2}+x_{0C}

Теперь о сложном.

Точка P1 - это точка пересечения окружности и эллипса. Нужно найти её координаты.

Напишем систему уравнений для определения точки P1.

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}\left( x_1-x_{0C}^{\,}\right)^2+\left( y_1-y_{0C}^{\,}\right)^2=R^2 \\b^2\left( x_1-x_{0E}^{\,}\right)^2+a^2\left( y_1-y_{0E}^{\,}\right)^2=a^2b^2\end{cases}<br />

Обычно интернеты советуют подходить к этому делу строго: в одном уравнении что-то там выражается, и подставляется во второе уравнение. В результате этих деяний придётся искать корни полинома четвёртой степени каким-нибудь методом Феррари. Нет, всё, конечно, просто, но до ужаса муторно. Умумукаешься всякие там радикалы раскрывать.

Вообще, нужно найти только одно пересечение, а на все четыре, поэтому составлять и решать уравнение четвёртой степени, затем вычислять и сопоставлять координаты точек пересечения, затем выбирать из четырёх точек одну как бы и ни к чему. Проще вычислить только одну точку пересечения, поэтому выразим в системе уравнений коордиату y1 для окружности и эллипса через x1 для соответствующего чертежу квадранта

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}y_1=y_{0C}-\sqrt{R^2-\left( x_1-x_{0C}^{\,}\right)^2} \\y_{1E}=y_{0E}-b\sqrt{1-\frac{\left( x_1-x_{0E}^{\,}\right)^2}{a^2}}\end{cases}<br />

и применим какой-нибудь численный метод, скажем, метод дихотомии. Интервал поиска пересечения по x пусть будет [x0C-R; 0]. Получим координаты P1 с какой-то точностью. Пусть будет точность ε=10-14.

Теперь уравнение прямой определено.

Так как границы областей нарисованы сплошными линиями, то границы областей входят в области.

Пишем программу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
const
  R = 24; //радиус окружности
  a = 35; //полуоси эллипса
  b = 17;
  X3 = 25; //координаты соответствующих точек
  X4 = -28;
  Y5 = -31;
  Y6 = 6;
  eps = 1E-14; //точность для метода дихотомии 10^(-14)
var
  X0C, Y0C, X0E, Y0E, X1, Y1, Y1E, X2, Y2, X, Y, XL, XR: real;
  in_c, in_e, out_e, u_l, left, right, in_a, in_b: boolean;
begin
  //центр окружности
  X0C := X3 - R;
  Y0C := sqrt(sqr(R) - sqr(X0C)) + Y5;
  //центр эллипса
  X0E := X4 + a;
  Y0E := Y6 - b * sqrt(1 - sqr(X0E / a));
  //пересечения прямой:
  //пересечение с осью абсцисс
  X2 := sqrt(sqr(R) - sqr(Y0C)) + X0C;
  Y2 := 0;
  //пересечение с осью ординат
  XL := X0C - R; //начальная левая граница интервала поиска корня
  XR := 0; //начальная правая граница интервала поиска корня
  repeat //цикл определения координаты точки пресечения окружности и эллипса
    X1 := (XL + XR) / 2; //центр интервала
    Y1 := Y0C - sqrt(sqr(R) - sqr(X1 - X0C)); //ордината точки на окружности
    Y1E := Y0E - b * sqrt(1 - sqr((X1 - X0E) / a)); //ордината точки на эллипсе
    if Y1 < Y1E then XR := X1 else XL := X1; //определение новых границ интервала
  until (abs(Y1 - Y1E) < eps) and (XR - XL < eps); //выход из цикла при достижении заданной точности
  //ввод координат точки M
  writeln('Введите координаты точки:');
  write('x = ');
  readln(X);
  write('y = ');
  readln(Y);
  //вычисление логических переменных
  in_c := sqr(X - X0C) + sqr(Y - Y0C) <= R * R; //внутри окружности
  in_e := sqr(b * (X - X0E)) + sqr(a * (Y - Y0E)) <= sqr(a * b); //внутри эллипса
  out_e := sqr(b * (X - X0E)) + sqr(a * (Y - Y0E)) >= sqr(a * b); //снаружи эллипса
  u_l := (Y - Y1) / (Y2 - Y1) <= (X - X1) / (X2 - X1); //под прямой
  left := X <= 0; //слева от оси ординат
  right := X >= 0; //справа от оси ординат
  in_a := in_c and out_e and left; //в области A
  in_b := in_c and in_e and u_l and right; //в области B
  //печать результатов
  if in_a then writeln('Точка принадлежит области A')
  else writeln('Точка не принадлежит области A');
  if in_b then writeln('Точка принадлежит области B')
  else writeln('Точка не принадлежит области B');
  readln
end.
Блок-схема:

1
0 / 0 / 0
Регистрация: 12.02.2025
Сообщений: 10
12.02.2025, 20:45
Cyborg Drone, подскажите пожалуйста непонимающему. у меня такая же внезапная задача, только рисунок другой и значения.
R = 24; //радиус окружности
a = 35; //полуоси эллипса
b = 17;
R, a, b понятно, что с рисунка
не понимаю, откуда вы взяли значения, можете помочь?
X3 = 25 не понятно; //координаты соответствующих точек
X4 = -28 не понятно;
Y5 = -31 не понятно;
Y6 = 6 не понятно;

то есть при моих цифрах, которые я вбил следуя вашему примеру:
const
R = 32; // Радиус окружности
a = 21; // Большая полуось эллипса
b = 35; // Малая полуось эллипса
X3 = 35; // Координата X3
X4 = -23; // Координата X4
Y5 = 29; // Координата Y5
Y6 = 35; // Координата Y6

у меня ошибка в расчетах и программа не запускается
Подскажите пожалуйста, где ошибка и что исправить
P.S.
чуть разобравшись по формулам, понял, что под корнем вылезает отрицательное число и дальше логика ломается))) либо числа в варианте некорректны, либо что еще... С вашими числами все идеально считает Скорее всего я туплю где-то. Буду очень благодарен за помощь
Миниатюры
Определение попадания точки с заданными координатами X и Y в закрашенную область  
0
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
13.02.2025, 02:27
Лучший ответ Сообщение было отмечено Volga_ как решение

Решение

Цитата Сообщение от leshamasha Посмотреть сообщение
не понимаю, откуда вы взяли значения
Посмотрите на рисунок в сообщении #1. Там все эти значения изображены, оттуда я их и взял.
Цитата Сообщение от leshamasha Посмотреть сообщение
при моих цифрах, которые я вбил следуя вашему примеру
Куда вбили? В мою программу? Если так, то я не понимаю Ваших действий. Программа всего лишь описывает формулы, которые есть до неё, и к Вашей картинке эти формулы имеют весьма опосредованное отношение. Моя программа без существенной переделки не может быть использована для расчётов по Вашей картинке. Программа - вторична, математика - первична.

Ну да ладно.

Для решения задания нужно выяснить только точку пересечения окружности, эллипса и прямой, и центр окружности. Остальные точки пересечения и какие-либо прочие точки либо вычисляются очевидным образом, либо для решения задачи не требуются. После того, как всё нужное будет выяснено, можно будет записать уравнения для окружности, эллипса и прямой, и на основании этих уравнений можно будет записать условия принадлежности любой точки закрашенным областям.

Дорисуем Ваш рисунок для ясности.



Что уже известно:
  • Радиус окружности R = 32.
  • Малая полуось эллипса a = 21.
  • Большая полуось эллипса b = 35.
  • Ордината точки пересечения прямой с осью абсцисс P2 есть y2 = 0.
  • Точка пересечения эллипса с осью абсцисс P3 = (35; 0).
  • Точка пересечения окружности с осью абсцисс P4 = (-23; 0).
  • Ордината самой верхней точки окружности P5 есть y5 = 29.
  • Ордината самой верхней точки эллипса P6 есть y6 = 35.
Разберёмся с окружностью.

Уравнение окружности:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
(x-x_{0C})^2+(y-y_{0C})^2=R^2<br />

Ордината центра окружности P0C меньше ординаты точки P5 на радиус окружности

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y_{0C}=y_5-R<br />

Получится -3, так что, картинка Ваша коряво нарисована. По картинке получается, что эта ордината должна быть положительной.

Найдём абсциссу центра окружности. Для этого чисто умозрительно построим прямоугольный треугольник, гипотенуза которого P0CP4 = R, один из катетов - ордината y0C, а оставшийся катет найдём по теореме Пифагора. Далее к абсциссе x4 добавим длину этого катета, и получим абсциссу центра окружности x0C.

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_{0C}=x_4+\sqrt{R^2-y_{0C}^2}<br />

Разберёмся с эллипсом. С ним у Вас всё просто.

Запишем уравнение эллипса вот в таком виде:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
b^2(x-x_{0E})^2+a^2(y-y_{0E})^2=a^2b^2<br />

Ордината центра эллипса

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
y_{0E}=y_6-b<br />

Получается 0, то есть, центр эллипса лежит на оси абсцисс. Тогда абсцисса центра эллипса будет

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_{0E}=x_3-a<br />

Разберёмся с прямой.

Уравнение прямой

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\frac{y-y_2}{y_1-y_2}=\frac{x-x_2}{x_1-x_2}<br />

Точка P2 есть точка пересечения прямой, элипса и оси абсцисс. Так как центр эллипса лежит на оси абсцисс, то абсцисса x2 меньше абсциссы центра эллипса на малую полуось эллипса:

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
x_2=x_{0E}-a<br />

Точка P1 - это точка пересечения окружности, эллипса и прямой.

Напишем систему уравнений для определения координат точки P1.

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}(x_1-x_{0C})^2+(y_1-y_{0C})^2=R^2 \\ b^2(x_1-x_{0E})^2+a^2(y_1-y_{0E})^2=a^2b^2 \end{cases}<br />

Выразим в системе уравнений коордиату y1 для окружности и эллипса через x1 для первого квадранта

https://www.cyberforum.ru/cgi-bin/latex.cgi?<br />
\begin{cases}y_1=y_{0C}+\sqrt{R^2-(x_1-x_{0C})^2}\\ y_{1E}=y_{0E}+b\sqrt{1-\frac{(x_1-x_{0E})^2}{a^2}}\end{cases}<br />

Во втором уравнении y1E - это тот же y1, переименован для удобства написания программы. В программе координаты точки P1 будут рассчитываться численно методом дихотомии. Интервал поиска пересечения по x пусть будет [x0E; x3]. Пусть будет точность вычислений ε=10-13.

Пишем программу.
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
const
  R = 32; //радиус окружности
  a = 21; //полуоси эллипса
  b = 35;
  y2 = 0; //координаты соответствующих точек
  x3 = 35;
  //y3 = 0;
  x4 = -23;
  //y4 = 0;
  y5 = 29;
  y6 = 35;
  eps = 1E-13; //точность для метода дихотомии 10^(-13)
var
  x0C, y0C, x0E, y0E, x1, y1, x2, y1E, x, y, xL, xR: real;
  in_c, in_e, out_e, a_l, u_l, left, right, in_a, in_b: boolean;
begin
  //центр окружности
  y0C := y5 - R;
  x0C := x4 + sqrt(sqr(R) - sqr(y0C));
  //центр эллипса
  y0E := y6 - b;
  x0E := x3 - a;
  //пересечения прямой:
  //пересечение с осью абсцисс
  x2 := x0E - a;
  //пересечение с окружностью и эллипсом
  xL := x0E; //начальная левая граница интервала поиска корня
  xR := x3; //начальная правая граница интервала поиска корня
  repeat //цикл определения координаты точки пресечения окружности и эллипса
    x1 := (xL + xR) / 2; //центр интервала
    y1 := y0C + sqrt(sqr(R) - sqr(x1 - x0C)); //ордината точки на окружности
    y1E := y0E + b * sqrt(1 - sqr((x1 - x0E) / a)); //ордината точки на эллипсе
    if y1 < y1E then xL := x1 else xR := x1; //определение новых границ интервала
  until (abs(y1 - y1E) < eps) and (xR - xL < eps); //выход из цикла при достижении заданной точности
  //ввод координат точки M
  writeln('Введите координаты точки:');
  write('x = ');
  readln(x);
  write('y = ');
  readln(y);
  //вычисление логических переменных
  in_c := sqr(x - x0C) + sqr(y - y0C) <= R * R; //внутри окружности
  in_e := sqr(b * (x - x0E)) + sqr(a * (y - y0E)) <= sqr(a * b); //внутри эллипса
  out_e := sqr(b * (x - x0E)) + sqr(a * (y - y0E)) >= sqr(a * b); //снаружи эллипса
  a_l := (y - y2) / (y1 - y2) >= (x - x2) / (x1 - x2); //над прямой
  u_l := (y - y2) / (y1 - y2) <= (x - x2) / (x1 - x2); //под прямой
  left := x <= 0; //слева от оси ординат
  right := x >= 0; //справа от оси ординат
  in_a := in_c and out_e and u_l and left; //в области A
  in_b := in_c and in_e and a_l and right; //в области B
  //печать результатов
  if in_a then writeln('Точка принадлежит области A')
  else writeln('Точка не принадлежит области A');
  if in_b then writeln('Точка принадлежит области B')
  else writeln('Точка не принадлежит области B');
  readln
end.
Блок-схема:

1
0 / 0 / 0
Регистрация: 12.02.2025
Сообщений: 10
13.02.2025, 07:11
Спасибо большое, добрый человек! В следующем году уже двум людям повезет найти готовое решение в интернетах для своих вариантов=)
Cyborg Drone, Могу вежливо попросить посмотреть еще здесь, если не затруднит и будет время?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
13.02.2025, 07:11
Помогаю со студенческими работами здесь

Проверка попадания точки на закрашенную область
Как написать на C (СИ) проверку попадания точки на закрашенную область (на картинке) написать типо такого. if (x&lt;=0 &amp;&amp;...

Попадает ли точка с заданными координатами x, y закрашенную в область
Помогите написать две программы пожалуйста :-Первое задание 2. Написать программу, которая определяет, попадает ли точка с заданными...

Попадает ли точка с заданными координатами в закрашенную область
Нужна помощь с решением! Надо написать программу, которая определяет,попадает ли точка с заданными координатами в область,закрашенную на...

Попадает ли точка с заданными координатами в закрашенную область
Помогите пожалуйста! Написать программу, которая определяет, попадает ли точка с заданными координатами в область, закрашенную на рисунке...

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Размещения без повторений
VistaSV30 31.05.2025
Код возвращает список вариантов размещений A^{k}_{n}=\frac{n!}{(n-k)!} from itertools import permutations def pwr(k, n): # Размещение без повторений (Placement without repetition) if k. . .
Redis и Node.js с TypeScript - решения для высоконагруженных систем
Reangularity 31.05.2025
Redis (Remote Dictionary Server) — сверхбыстрое хранилище данных в памяти, способное обрабатывать операции за микросекунды. И что особенно важно для нас — с удивительно простым API. А теперь. . .
Unit-тестирование с моками в Go
golander 31.05.2025
Большинство разработчиков предпочитают тестировать код без использования моков. Например, при интеграции с Elasticsearch логичнее запустить контейнер локально и тестировать Go-код непосредственно с. . .
Как работать с PDF в C#
stackOverflow 31.05.2025
Нам приходится сталкиваться с PDF по разным причинам. Генерация счетов, создание отчетов, извлечение данных из загруженных пользователем документов, автоматизация рабочих процесов - это лишь верхушка. . .
Двухбуквенные коды стран в шифровании.
russiannick 31.05.2025
Человечество издревле манила возможность замены сочетаний букв вымышленными символами, делающие сообщение понятным только для посвещенных. Настала пора внести в это свой вклад. Двухбуквенные коды. . .
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона.
Programma_Boinc 31.05.2025
Мой опыт в исправлении ошибки приложения Boinc в части заряда батареи смартфона. Хотел бы поделиться опытом в исправлении ошибки приложения в части заряда батареи смартфона. Сразу скажу, что. . .
Добро пожаловать на конкурс PrimeGrid, посвященный 20-летию PrimeGrid
Programma_Boinc 31.05.2025
Добро пожаловать на конкурс PrimeGrid, посвященный 20-летию PrimeGrid: 5-дневный обобщенный поиск простых чисел Ферма n = 20 с 12 июня 20:20 UTC по 17 июня 20:20 UTC. 12 июня 2005 года. . .
Вероятность в шансы / Шансы в вероятность
VistaSV30 31.05.2025
# Шансы -> Вероятность def Chance_to_Probability(ch): def gcd(a, b): # НОД - нужен для упрощения значений шансов while b != 0: a, b = b, a % b return a. . .
FastAPI и Flask: Отличия, производительность и примеры использования
py-thonny 30.05.2025
Если вы разрабатываете веб-приложения на Python, вы наверняка слышали о Flask и FastAPI. Эти два фреймворка часто становятся предметом жарких дискуссий в сообществе разработчиков. И не без основания. . .
ML.NET и TensorFlow.NET: Умные приложения на C# с машинным обучением
stackOverflow 30.05.2025
Еще совсем недавно, когда речь заходила о машинном обучении, C# разработчики обреченно вздыхали и тянулись к Python. Мир искуственного интеллекта словно был огражден невидимым забором с табличкой. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru
OSZAR »