0 / 0 / 0
Регистрация: 18.12.2024
Сообщений: 2
|
||||||
Определение попадания точки с заданными координатами X и Y в закрашенную область18.12.2024, 21:42. Показов 2306. Ответов 11
Метки нет Все метки)
(
Здравствуйте, помогите решить задачу на Паскаль.
Разработать алгоритм и программу, которая в ответ на вводимую с клавиатуры пару вещественных чисел, представляющих собой координаты X, Y точки М на плоскости, выдает сообщение о принадлежности этой точки заданной закрашенной области согласно варианта (номер варианта – номер по журналу). Например: - «Точка принадлежит закрашенной области А», - «Точка принадлежит закрашенной области В», - «Точка не принадлежит закрашенной области». Область: Примерное решение:
Цель выбранного варианта - яснее показать механизм решения задачи. Зная основы математической логики, можно существенно упростить логические выражения, используемые в операюрах условия (ветвления), за счёт устранения многочисленных повторений некоторых конструкций.
0
|
18.12.2024, 21:42 | |
Ответы с готовыми решениями:
11
Определение факта попадания точки в закрашенную область Задача на определение, попадает ли точка с заданными координатами x, y в область, закрашенную на рисунке серым цветом |
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
|
|
20.12.2024, 00:05 | |
FLEKS1102, cначала определяете уравнения окружности, эллипса и прямой, затем, исходя из них, пишете условия попадания точки в заданные области. Затем пишете программу. Voila!
Не по теме: Да, и вот ещё что... Скажите, для чего Вы приложили к Вашему вопросу нерабочую программу на Pascal, написанную в стиле FORTRAN? Ничего, что эта программа древняя, как гуано мамонта, и к Вашему вопросу относится не более, чем опосредованно? Надо было выложить тогда всю методичку, чего уж там.
0
|
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
|
|
25.12.2024, 16:50 | |
FLEKS1102, до кода здесь как от Москвы до Владивостока на лыжах. Да и код-то в этом задании не главное, поскольку код в этом задании - это самое простое.
Вот Вам, чтобы оценить масштаб бедствия: Пишем уравнения. Окружность: Если провести вертикальную касательную к правой части окружности, вроде бы она должна пересекать ось абсцисс в точке x=25. Следовательно, абсцисса центра окружности будет x0=25-R=1. Окружность пересекает ось ординат в точке y=-31. Тогда ордината центра окружности будет Тогда уравнение окружности будет Эллипс: Вертикальная касательная x=-28, эллипс пересекает ось ординат в точке y=6. Вывод формулы приводить не буду, многа букав. У меня получилось вот такое уравнение эллипса: Прямая: Прямая проходит через две точки: точку пересечения окружности с осью абсцисс и одну из точек пересечения окружности и эллипса. Точка пересечения прямой с окружностью будет А точку пересечения окружности, эллипса и прямой можно найти, решив систему уравнений Я устал от чисел. Дальше сами. Решением системы уравнений будут четыре точки (x; y), из них нужно выбрать ту, которая расположена в третьем квадранте. После этого можно будет записать уравнение прямой по двум точкам. Дальше дело техники: записать условия принадлежности к областям, и написать программу. Писал на скорую руку, может быть, где-то и ошибся. Проверяйте мои формулы. Решайте систему уравнений. Есть ещё один путь. Можно определить все эти формулы и точки с нужной точностью численными методами.
0
|
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
|
||||||
06.01.2025, 14:54 | ||||||
Задачка, на самом деле, не так уж и простая.
Нарисуем ключевые точки: Абсциссы точек P3 и P4 и ординаты точек P5 и P6 известны, другие их координаты не требуются. Уравнение окружности Определим центр окружности P0C=(x0C, y0C). Запишем уравнение эллипса вот в таком виде: Определим центр эллипса P0E=(x0E, y0E). Уравнение прямой по двум точкам Определим координаты точек P1=(x1, y1) и P2=(x2, y2) P2 - точка пересечения окружности с осью абсцисс. Подставляем точку в окружность (y2 равна нулю) И вычисляем координату x2: Теперь о сложном. Точка P1 - это точка пересечения окружности и эллипса. Нужно найти её координаты. Напишем систему уравнений для определения точки P1. Обычно интернеты советуют подходить к этому делу строго: в одном уравнении что-то там выражается, и подставляется во второе уравнение. В результате этих деяний придётся искать корни полинома четвёртой степени каким-нибудь методом Феррари. Нет, всё, конечно, просто, но до ужаса муторно. Умумукаешься всякие там радикалы раскрывать. Вообще, нужно найти только одно пересечение, а на все четыре, поэтому составлять и решать уравнение четвёртой степени, затем вычислять и сопоставлять координаты точек пересечения, затем выбирать из четырёх точек одну как бы и ни к чему. Проще вычислить только одну точку пересечения, поэтому выразим в системе уравнений коордиату y1 для окружности и эллипса через x1 для соответствующего чертежу квадранта и применим какой-нибудь численный метод, скажем, метод дихотомии. Интервал поиска пересечения по x пусть будет [x0C-R; 0]. Получим координаты P1 с какой-то точностью. Пусть будет точность ε=10-14. Теперь уравнение прямой определено. Так как границы областей нарисованы сплошными линиями, то границы областей входят в области. Пишем программу.
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. чуть разобравшись по формулам, понял, что под корнем вылезает отрицательное число и дальше логика ломается))) либо числа в варианте некорректны, либо что еще... С вашими числами все идеально считает ![]()
0
|
Модератор
10228 / 5516 / 3372
Регистрация: 17.08.2012
Сообщений: 16,864
|
||||||||
13.02.2025, 02:27 | ||||||||
![]() Решение![]() ![]() Ну да ладно. Для решения задания нужно выяснить только точку пересечения окружности, эллипса и прямой, и центр окружности. Остальные точки пересечения и какие-либо прочие точки либо вычисляются очевидным образом, либо для решения задачи не требуются. После того, как всё нужное будет выяснено, можно будет записать уравнения для окружности, эллипса и прямой, и на основании этих уравнений можно будет записать условия принадлежности любой точки закрашенным областям. Дорисуем Ваш рисунок для ясности. Что уже известно:
Уравнение окружности: Ордината центра окружности P0C меньше ординаты точки P5 на радиус окружности Получится -3, так что, картинка Ваша коряво нарисована. По картинке получается, что эта ордината должна быть положительной. Найдём абсциссу центра окружности. Для этого чисто умозрительно построим прямоугольный треугольник, гипотенуза которого P0CP4 = R, один из катетов - ордината y0C, а оставшийся катет найдём по теореме Пифагора. Далее к абсциссе x4 добавим длину этого катета, и получим абсциссу центра окружности x0C. Разберёмся с эллипсом. С ним у Вас всё просто. Запишем уравнение эллипса вот в таком виде: Ордината центра эллипса Получается 0, то есть, центр эллипса лежит на оси абсцисс. Тогда абсцисса центра эллипса будет Разберёмся с прямой. Уравнение прямой Точка P2 есть точка пересечения прямой, элипса и оси абсцисс. Так как центр эллипса лежит на оси абсцисс, то абсцисса x2 меньше абсциссы центра эллипса на малую полуось эллипса: Точка P1 - это точка пересечения окружности, эллипса и прямой. Напишем систему уравнений для определения координат точки P1. Выразим в системе уравнений коордиату y1 для окружности и эллипса через x1 для первого квадранта Во втором уравнении y1E - это тот же y1, переименован для удобства написания программы. В программе координаты точки P1 будут рассчитываться численно методом дихотомии. Интервал поиска пересечения по x пусть будет [x0E; x3]. Пусть будет точность вычислений ε=10-13. Пишем программу.
1
|
0 / 0 / 0
Регистрация: 12.02.2025
Сообщений: 10
|
|
13.02.2025, 07:11 | |
Спасибо большое, добрый человек! В следующем году уже двум людям повезет найти готовое решение в интернетах для своих вариантов=)
Cyborg Drone, Могу вежливо попросить посмотреть еще здесь, если не затруднит и будет время?
0
|
13.02.2025, 07:11 | |
Помогаю со студенческими работами здесь
12
Попадает ли точка с заданными координатами x, y закрашенную в область
Попадает ли точка с заданными координатами в закрашенную область Попадает ли точка с заданными координатами в закрашенную область? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
![]() |
||||
Размещения без повторений
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. Мир искуственного интеллекта словно был огражден невидимым забором с табличкой. . .
|