паскаль и алгебра, помогите плиз привести в нужный язык |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
паскаль и алгебра, помогите плиз привести в нужный язык |
candy888 |
31.08.2011 20:20
Сообщение
#1
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Привет всем. Необходимо перевести формулу та что на картинке в язык паскаля. что то с алгеброй туго, ни как не могу сообразить как правильно разобраться с логарифмами в паскале.
вот что сам накидал, но вроде не правильно. Код Program chast1; var a,b,y:real; begin Write('Введите b='); Readln (b); a:=(ln(ln(b)+b))/ln(10); y:=(1/(Pi*(Sqr(a)+Sqr(b))))*((3*sin(Sqr(a)+Sqr(b)))*sin((Sqr(a)+Sqr(b))+2*((Sqr(a)+Sqr(b))))); Writeln('a=',a); Writeln ('y=',y); end. Эскизы прикрепленных изображений |
IUnknown |
31.08.2011 22:43
Сообщение
#2
|
a.k.a. volvo877 Группа: Пользователи Сообщений: 1 013 Пол: Мужской Репутация: 627 |
Цитата ((3*sin(Sqr(a)+Sqr(b)))*sin((Sqr(a)+Sqr(b)) Откуда взялось выделенное красным? Этого не было на картинке. А вот квадратный корень - был, а у тебя он отсутствует.Вообще, лучше бы упростить выражение: введи еще одну переменную, скажем Z = A2 + B2, и все сразу станет гораздо проще: a:=(ln(ln(b)+b))/ln(10); |
candy888 |
31.08.2011 23:36
Сообщение
#3
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
Тоесть правильная формул для sin^3 (a^2 + b^2) бужет такая sin(a^2+b^2)* (sin(a^2+b^2))^2 ???
так что ли?а то я сейчас запутался что с логарифмами сперва, скачл маткад уже там попробовал-по ходу с логарифмом разобрался. остался вопрос по формуле синус в кубе преобразовать. Спасибо за подсказку!!! как кстати а форуме плюсики людям ставить? Сообщение отредактировано: candy888 - 31.08.2011 23:39 |
Lapp |
31.08.2011 23:52
Сообщение
#4
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Я бы, наверное, предварительно присвоил бы значение синуса некоторой переменной, а потом уже возводил бы в куб как a*Sqr(a). Зачем заставлять машину два раза считать функцию?
как кстати а форуме плюсики людям ставить? Я поставил. Сам сможешь после набора 5 постов (зеленый плюсик под ником и аватаром, слева)-------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
candy888 |
1.09.2011 1:17
Сообщение
#5
|
Группа: Пользователи Сообщений: 3 Пол: Мужской Репутация: 0 |
СПАСИБО ТОВАРИЩИ!!!Очень помогли!!!
|
TarasBer |
1.09.2011 9:23
Сообщение
#6
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> Зачем заставлять машину два раза считать функцию?
Действительно, зачем компилятор заставляет машину два раза считать функцию, а человека - вручную кешировать результат функции? -------------------- |
Lapp |
2.09.2011 4:28
Сообщение
#7
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Действительно, зачем компилятор заставляет машину два раза считать функцию, а человека - вручную кешировать результат функции? Это неизбежные издержки. Была бы функция для куба или хотя бы для степени - этого делать было бы не нужно в данном случае. А так - приходится выбирать "меньшее из зол". Выделенные болдом слова являются ключевыми. Не в этом, так в другом случае придется что-то "кешировать". Сама по себе математическая запись тоже не идеальна. Все доказательства пестрят словами "обозначим это выражение через Q". И что это, по-твоему, как не "кеширование"? ))Сомневаюсь, что возможно сделать компилятор, который будет совершенно свободен от этого "недостатка". Оптимизация, конечно, может это учесть (то есть, минимизировать количество вычислений для данного конкретного случая) - но, мне кажется, ты, Тарас, первый взвоешь от такой оптимизации (извини за переход на личности)). -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
TarasBer |
2.09.2011 8:56
Сообщение
#8
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
> но, мне кажется, ты, Тарас, первый взвоешь от такой оптимизации (извини за переход на личности)).
Почему? Я всё равно оптимизированные версии для отладки не использую (только на асмовыхлоп смотрю, что там компилятор насочинял), а отключать оптимизации для отладки всегда можно. -------------------- |
Lapp |
3.09.2011 5:21
Сообщение
#9
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Почему? Я всё равно оптимизированные версии для отладки не использую (только на асмовыхлоп смотрю, что там компилятор насочинял), а отключать оптимизации для отладки всегда можно. Ладно, оставим личности (не очень удачная была шутка, но такое уж у меня сложилось мнение о тебе)). Отключить оптимизацию на отладке? Хорошо. Но если баг как раз в оптимизации? Допустим, мы делаем на заказ прогу для владельца машинописного цеха, считающую среднее время между нажатиями на клавишу (для оценки скорости работы машинисток)). В цикле вызываем функуцию Time и вычитаем старое (запомненное) значение из нового. На стадии отадки оптимизация отключена. Отладили, все считается правильно. Мы включаем оптимизацию, компилируем и передаем экзешник в эксплуатацию. А назавтра заказчик звонит и мы понимаем из 2% его слов (которые не мат), что результат всегда 0. Угадаешь, почему? Теперь ответь: как компилятор отличит функцию типа sin от функции типа time? То есть - как он разберет, какую можно кешировать, а какую нельзя? -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
-TarasBer- |
4.09.2011 15:44
Сообщение
#10
|
Гость |
> Теперь ответь: как компилятор отличит функцию типа sin от функции типа time? То есть - как он разберет, какую можно кешировать, а какую нельзя?
Чем отличаеться синус от функции времени? Ну понятно: синус чистый, и время - нет. Как определять чистоту функции? Ну можно вшить в компилятор список чистых функций. Можно разрешить составлять новые чистые функции (если они используют только локальные и входные данные и чистые внешние функции). |
TarasBer |
5.09.2011 11:54
Сообщение
#11
|
Злостный любитель Группа: Пользователи Сообщений: 1 755 Пол: Мужской Репутация: 62 |
Пипец, я вчера умудрился облажаться с мягким знаком.
Это просто эпидемия какая-то, читаю сообщения серьёзных людей, и там тоже повально. -------------------- |
Lapp |
5.09.2011 12:36
Сообщение
#12
|
Уникум Группа: Модераторы Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Пипец, я вчера умудрился облажаться с мягким знаком. Ну, тебе мы это спишем на то, что клавиши рядом - задел нечаянно )).Это просто эпидемия какая-то, читаю сообщения серьёзных людей, и там тоже повально. А "серьезных людей" тыкать мордой, как котят! Надеюсь, это не относится к посетителям этого форума.. чего тут серьезного?.. и люди тут как люди.. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
Текстовая версия | 4.06.2024 14:00 |