IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

 
 Ответить  Открыть новую тему 
> Тригонометрия.
сообщение
Сообщение #1





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Помогите, пожалуйста решить задачу.
Вводится положительное число A<1. Программа находит все положительные корни уравнения
AX=sin(X), записывает их в файл в порядке возрастания.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(S 13 @ 22.12.2009 23:41) *
Программа находит все положительные корни уравнения
AX=sin(X),
Каким методом предполагаешь решать?


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Не знаю каким методом. Дело в том, что этой темы мы не проходили, следовательно, не известно как решать.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Тогда на выбор два варианта:
1. Дождаться, когда вы эту тему пройдете и только потом приступать к решению.
2. Разобраться по учебникам самостоятельно
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


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

Сообщение отредактировано: S 13 -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Тогда более реалистичным выглядит второй вариант.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


Точно не знаю, но выскажу свои предположения. Область значений синуса от -1 до 1, можно просто перебирать значения X, подставлять и проверять на равенство. Вопрос в том, с какой точностью, т.е. количеством знаков после запятой это делать.

Добавлено через 17 мин.
Или, получается, что X=arcsin(AX), может из этого можно что-то вытянуть, хотя встроенной функции для вычисления арксинуса в паскале нет, так что наверное перебором легче.


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8





Группа: Пользователи
Сообщений: 5
Пол: Мужской

Репутация: -  0  +


Благодарю за предложения, высказанные по поводу решения данной задачи. Хотел только уточнить как это написать в Паскале?(Метод перебора значений).
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


mea culpa
*****

Группа: Пользователи
Сообщений: 1 372
Пол: Мужской
Реальное имя: Николай

Репутация: -  24  +


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


--------------------
"Знаешь, стыдно - когда не видно, что услышал всё, что слушал.."
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Злостный любитель
*****

Группа: Пользователи
Сообщений: 1 755
Пол: Мужской

Репутация: -  62  +


Алгебраического решения задача не имеет, решение только численное, а значит, задача на методы вычислений.
Известных алгоритмов нахождения нулей функции с точностью до епсилон существует масса.
Собсна, вот и всё, а какое отношение эта задача имеет к олимпиадам, я не понял.


--------------------
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


Уникум
*******

Группа: Пользователи
Сообщений: 6 823
Пол: Мужской
Реальное имя: Лопáрь (Андрей)

Репутация: -  159  +


Цитата(Unconnected @ 23.12.2009 20:19) *
Точно не знаю, но выскажу свои предположения. Область значений синуса от -1 до 1, можно просто перебирать значения X, подставлять и проверять на равенство. Вопрос в том, с какой точностью, т.е. количеством знаков после запятой это делать.
Забавный метод )). Типа, если тебе надо доехать до места, и ты не знаешь, каким автобусом - сначала дойди пешком до нужной остановки и там прочитай на табличке, какие автобусы туда идут smile.gif. Реально, но.. топать долго.. ))

Цитата(Unconnected @ 23.12.2009 22:22) *
Думаю, целесообразнее всего было бы использовать цикл, оператор ветвления и операторы отношений, а также операторы ввода и вывода.
Это мне понравилось! good.gif Но, мне кажется, без оператора присваивания обойтись будет трудненько.. ))

Сначала целесообоазно ограничить область по Х, где могут быть корни. Для этого решаем уравнение:
|Ax| <= 1
- это как раз исходя из того, что модуль синуса не превосходит 1. А потом привлекаем соображение, что корни располанаются не полее, чем по два на положительную полуволну: один на подъеме, один на спуске. Значит, в цикле проходим по всем таким четвертьволнам и на каждом таком интервале ищем корень - например, дихотомией, если не хочется вычислять производные. Все пишется за 15 мин с отладкой. Тем более, что поиск корня делением пополам был на форуме тысячи раз.


--------------------
я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 16.04.2024 11:50
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name