Representação da formula de Bhaskara em Python

Bem pessoal, essa dica não é algo fantástico  e muito menos  difícil de se encontrar por aí, mas mesmo assim resolvi postar para aquele que estão iniciando com a linguagem Python.

Sem dúvida alguma, um dos primeiros algoritmos ensinados em um curso de computação quando se está aprendendo uma linguagem de programação, é o calculo da formula de bhaskara. Esse calculo é um dos mais famosos métodos de resolução de uma equação. Pode-se dizer que é um modelo matemático que fornece, quase que instantaneamente, as raízes de uma equação do 2º grau.

Um exemplo que demonstra isso é:

x2 + 3x – 4 = 0

Para resolvermos essa equação basta aplicar a formula de Bhaskara e pronto, obteremos dois resultados que serão os valores possíveis para as duas raízes. Segundo Bhaskara (nome do indiano criador da formula tão conhecida e usada) a formula é escrita dessa maneira:

Levando em conta a equação acima o calculo utilizando a formula seria:

Muito fácil não? Claro que sim… Mas e se eu quisesse expressar isso em um programa na linguagem C, como ficaria? Bem, verificando rapidamente os cálculos que são feitos em todo o processo de desenvolvimento da equação temos:

1 – Elevar b ao expoente 2  (obtém-se 9).
2 – Fazer a multiplicação de 4(a)(c) (obtém-se 16).
3 – Fazer a soma entre os valores dos passos 1° e 2° (obtem-se raiz de 25).
4 – Extrair a raiz obtida no 3° passo (obtem-se 5).
5 – Agora vamos obter o valor para a primeira raiz que é chamada de x’ para isso se faz 3 + 5 = 2 que entao é dividido por 2 (obtem-se x’ = 1)
6 – Agora vamos obter o valor para a segunda raiz que é chamada de x” para isso se faz  -3 – 5 = -8 que então é divido por 2 (obtem-se x” = -4)

Todos esses passos do calculo feito acima pode ser resumido para a linguagem Python dessa forma:

x=(b**2)-(4*a*c)
x=math.sqrt(x)
x1=(-b+x)/(2*a)
x2=(-b-x)/(2*a)

Um código completo para o calculo:

# Autor: Fernando Krein Pinheiro
# Data: 28/04/2012
# Linguagem: Python

# ========= IMPORTANTE ===========
# O codigo esta livre para usar,
# citar e compartilhar desde que
# mantida sua fonte e seu autor.
# Obrigado.

#! /usr/bin/env python

import math
a= int(raw_input("Digite a:"))
b= int(raw_input("Digite b:"))
c= int(raw_input("Digite c:"))

x=(b**2)-(4*a*c)

if x<0 :
        print ("Raiz negativa nao pode ser extraida.")
        exit()

else :
	x=math.sqrt(x)
	x1=(-b+x)/(2*a)
	x2=(-b-x)/(2*a)
print "\n\nX' = %s \nX'' = " % x1, x2

Anúncios
por ferpinheiro Postado em Python

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s