Тригонометрия. |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Тригонометрия. |
S 13 |
Сообщение
#1
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Помогите, пожалуйста решить задачу.
Вводится положительное число A<1. Программа находит все положительные корни уравнения AX=sin(X), записывает их в файл в порядке возрастания. |
Lapp |
Сообщение
#2
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Программа находит все положительные корни уравнения Каким методом предполагаешь решать?AX=sin(X), -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
S 13 |
Сообщение
#3
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Не знаю каким методом. Дело в том, что этой темы мы не проходили, следовательно, не известно как решать.
|
andriano |
Сообщение
#4
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Тогда на выбор два варианта:
1. Дождаться, когда вы эту тему пройдете и только потом приступать к решению. 2. Разобраться по учебникам самостоятельно |
S 13 |
Сообщение
#5
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Просто дело в том, что сессию сдавать нужно. Это задача из разряда олимпиадных, как нам сказали, и, чтобы получить зачёт, нужно решить три подобные. С двумя разобрался, а с этой не смог. Какие есть варианты решений?
Сообщение отредактировано: S 13 - |
andriano |
Сообщение
#6
|
Гуру Группа: Пользователи Сообщений: 1 168 Пол: Мужской Реальное имя: Сергей Андрианов Репутация: 28 |
Тогда более реалистичным выглядит второй вариант.
|
Unconnected |
Сообщение
#7
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Точно не знаю, но выскажу свои предположения. Область значений синуса от -1 до 1, можно просто перебирать значения X, подставлять и проверять на равенство. Вопрос в том, с какой точностью, т.е. количеством знаков после запятой это делать.
Добавлено через 17 мин. Или, получается, что X=arcsin(AX), может из этого можно что-то вытянуть, хотя встроенной функции для вычисления арксинуса в паскале нет, так что наверное перебором легче. -------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
S 13 |
Сообщение
#8
|
Группа: Пользователи Сообщений: 5 Пол: Мужской Репутация: 0 |
Благодарю за предложения, высказанные по поводу решения данной задачи. Хотел только уточнить как это написать в Паскале?(Метод перебора значений).
|
Unconnected |
Сообщение
#9
|
mea culpa Группа: Пользователи Сообщений: 1 372 Пол: Мужской Реальное имя: Николай Репутация: 24 |
Думаю, целесообразнее всего было бы использовать цикл, оператор ветвления и операторы отношений, а также операторы ввода и вывода.
-------------------- "Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
|
TarasBer |
Сообщение
#10
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Алгебраического решения задача не имеет, решение только численное, а значит, задача на методы вычислений.
Известных алгоритмов нахождения нулей функции с точностью до епсилон существует масса. Собсна, вот и всё, а какое отношение эта задача имеет к олимпиадам, я не понял. -------------------- |
Lapp |
Сообщение
#11
|
Уникум Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Точно не знаю, но выскажу свои предположения. Область значений синуса от -1 до 1, можно просто перебирать значения X, подставлять и проверять на равенство. Вопрос в том, с какой точностью, т.е. количеством знаков после запятой это делать. Забавный метод )). Типа, если тебе надо доехать до места, и ты не знаешь, каким автобусом - сначала дойди пешком до нужной остановки и там прочитай на табличке, какие автобусы туда идут . Реально, но.. топать долго.. ))Думаю, целесообразнее всего было бы использовать цикл, оператор ветвления и операторы отношений, а также операторы ввода и вывода. Это мне понравилось! Но, мне кажется, без оператора присваивания обойтись будет трудненько.. ))Сначала целесообоазно ограничить область по Х, где могут быть корни. Для этого решаем уравнение: |Ax| <= 1 - это как раз исходя из того, что модуль синуса не превосходит 1. А потом привлекаем соображение, что корни располанаются не полее, чем по два на положительную полуволну: один на подъеме, один на спуске. Значит, в цикле проходим по всем таким четвертьволнам и на каждом таком интервале ищем корень - например, дихотомией, если не хочется вычислять производные. Все пишется за 15 мин с отладкой. Тем более, что поиск корня делением пополам был на форуме тысячи раз. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 13.06.2024 10:10 |