15 June, 2012 0 Comments AUTHOR: elemarjr CATEGORIES: Sem categoria Tags: , ,

SNIPPET: Bhaskara in Haskell

Tempo de leitura: Less than a minute

Olá pessoal. Tudo certo?!

Esse é mais um post “snippet”. Vamos implementar a famosa fórmula de Bhaskara em Haskell.

Versão simples:

bhaskara a b c = (
	((-b) + sqrt(b^2 - 4 * a * c)) / (2 * a),
	((-b) - sqrt(b^2 - 4 * a * c)) / (2 * a)
	)

Bitch, please! DRY!

bhaskara a b c = (
	(minusb + sqRootOfDelta) / twoTimesA,
	(minusb - sqRootOfDelta) / twoTimesA
	)
	where
		sqRootOfDelta = sqrt(b^2 - 4 * a * c)
		twoTimesA = 2 * a
		minusb = (-b)

Como você deve ter entendido, a clásula where serve para que possamos criar “simplificadores”. Parecem variáveis comuns, não?!

image

Era isso.

Submit a comment