Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Языки программирования > Haskell
Перезагрузить страницу Как вычеслить значения вырожения
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
hazardhz hazardhz вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.09.2009
По умолчанию Как вычеслить значения вырожения - 06.03.2010, 13:12

Столкнулся с такой вот проблемкой. К примеру мне нужно просто вычислить значение выражения: 2^n + 2/n

Код:
val :: Int->Float
val n = (2)^n + 2/n
Код не работает, потому что для выполнения 2/n тип операндов должен быть вещественным. Но если в объявлении функции поставить float, то тогда не выполнится часть (2)^n, т.к. тут n должен быть целым :upset: . В си там бы автоматически тип инт привелся к флоат, где это нужно, и все.
Как обойти эту ситуацию в хаскеле?
Ответить с цитированием
  (#2 (permalink)) Старый
Vladimir the Red Sunny Vladimir the Red Sunny вне форума
Member
 
Сообщений: 4,232
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 15.05.2003
По умолчанию 06.03.2010, 14:45

Код:
val :: Int->Float
val n = 2^n + 2/(fromIntegral n)
?
Ответить с цитированием
  (#3 (permalink)) Старый
hazardhz hazardhz вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.09.2009
По умолчанию 06.03.2010, 21:26

да, вроде бы, именно то что нужно. спасибо.
Ответить с цитированием
  (#4 (permalink)) Старый
calabi-yau calabi-yau вне форума
Member
 
Сообщений: 338
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 10 сообщениях
Регистрация: 28.09.2009
По умолчанию 06.03.2010, 21:28

Код:
val :: Float->Float
val n = (2)**n + 2/n
Ответить с цитированием
  (#5 (permalink)) Старый
hazardhz hazardhz вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.09.2009
По умолчанию 06.03.2010, 22:32

2calabi-yau
Тоже вариант. Но мне просто надо там посчитать сумму ряда от 1 до n, так что n должен быть Int.

попутно вопрос, есть что-нибудь для перевода из Float->Integer
Ответить с цитированием
Ads.
  (#6 (permalink)) Старый
calabi-yau calabi-yau вне форума
Member
 
Сообщений: 338
Сказал(а) спасибо: 0
Поблагодарили 10 раз(а) в 10 сообщениях
Регистрация: 28.09.2009
По умолчанию 07.03.2010, 09:32

Цитата:
2calabi-yau
Тоже вариант. Но мне просто надо там посчитать сумму ряда от 1 до n, так что n должен быть Int.

попутно вопрос, есть что-нибудь для перевода из Float->Integer
Первые четыре функции - то что нужно.
Ответить с цитированием
  (#7 (permalink)) Старый
hazardhz hazardhz вне форума
Member
 
Сообщений: 13
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 16.09.2009
По умолчанию 07.03.2010, 13:43

Точно. И все оказывется в прелюде :shock: Будем изучать прелюд).
calabi-yau, Vladimir the Red Sunny еще раз спасибо.
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат значения из DLL freestyler Visual C++ 2 18.10.2011 08:20
Приведение логического вырожения к сокращённой ДНФ next_time Lisp 1 15.05.2011 14:08
Вычеслить сумму первых n чисел Stasmotion Задания за деньги 0 07.04.2011 21:21
Как правильно вычеслить значения Pomogite mne Visual Basic 1 25.03.2011 00:24
Требуется вычеслить значения из уравнения Pomogite mne Visual Basic 0 12.03.2011 00:44
Как правильно вычеслить ряд чисел Zdrega Lisp 0 21.04.2010 07:26
Как из натурального числа вычеслить сумму serzhi Lisp 6 22.09.2009 00:29
Как вычеслить местонахождение обезьяны Ol'gA Lisp 0 03.12.2008 16:52
Как написать программу обрабатывающию арифметические вырожения truel С/С++ 9 28.05.2008 14:49
Вычисление значения формулы Nancy Prolog 6 21.10.2007 22:02
Просмотр значения переменной top в С++ zim Visual C++ 7 18.09.2007 10:14
Создание регулярного вырожения feedbee C++ Builder 9 28.09.2005 01:35



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов