| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Вычисление функции |
| Автор: Anonymous 2.5.2006, 14:28 | ||
| Ещё раз здравствуйте, профессионалы, любители и новички. У меня возник ещё один вопрос, что собственно не удивительно. Итак, есть функция - прикрепленна в виде картинки, так как написать не смог. Надо вычислить S. Вот что у меня получилось:
Вот такая программка. Только не хочет она запускаться. Пишет "Invalid qualifier" Кто может, направьте в нужное русло. Заранее благодарен. |
| Автор: Anonymous 2.5.2006, 14:57 | ||
Ну, кроме того, что тут забыл написать readln (n); readln (a); Что не так ещё? Насколько я понял, вся проблема в ^ , я написал небольшой примерчик, типа S=a^i. Так там такая же ерунда. Если поставить вместо ^ знак + или *, то всё получается, а с ^ не работает. |
| Автор: e-moe 2.5.2006, 17:26 |
| a в степени b можно вычислять так: exp(b*ln(a)) хотя осторожно... |
| Автор: volvo877 2.5.2006, 18:07 | ||
Anonymous, подумай, а нужно ли вообще тебе возводить A в степень? Не проще сделать так:
? Кстати, рекурсии я в твоей программке не увидел... |
| Автор: Anonymous 3.5.2006, 09:48 | ||||
| Да, volvo, ты прав... Вот, исправился, только снова не хочет.
Проблема в том, что запускается, но постоянно просит ввести "n". В чём загвоздка? Если сможете, объясните наглядно.
|
| Автор: volvo877 3.5.2006, 10:39 | ||
Ну, ты же сам просишь вводить N внутри рекурсивной функции... Перепиши Fact вот так:
и будет тебе счастье. А с вещественными значениями a программа точно не должна работать? Только с целыми? |
| Автор: Anonymous 3.5.2006, 11:39 |
| а может быть любым числом. Это я так написал, чтобы жизнь себе упростить. Ещё такой вопрос: а где мне вводить тогда n? Добавлено @ 11:42 Ещё одно. Я исправил, как ты сказал, но ничего не получилось снова. Программа просит ввести а и n , я ввожу и всё... Дальше возвращаюсь в программу нажатием Alt F5 , там ничего кроме введённых мной а и n больше нет. |
| Автор: Romikgy 3.5.2006, 12:01 | ||
|
| Автор: Anonymous 3.5.2006, 12:20 |
| volvo, второй раз спасаешь мне жизнь. Благодарю. Теперь такой вопрос (знаю, что надоел уже) : как покрасивее округлить, потому как выдаёт нечто такое : 2.00000000000000Е+0000, а хотелось бы покрасивее |
| Автор: e-moe 3.5.2006, 13:45 | ||||
Например так
Подробнее читай в хелпе ;) |
| Автор: Anonymous 3.5.2006, 13:57 |
| e-moe, Спасибо. |