Você está aqui: Python ::: Dicas & Truques ::: Matemática e Estatística

Como resolver uma equação do segundo grau em Python - Como calcular Bhaskara em Python

Quantidade de visualizações: 2338 vezes
Como resolver uma equação do 2º grau usando Python

Nesta dica mostrarei como encontrar as raízes de uma equação quadrática, ou seja, uma equação do 2º usando a linguagem Python.

Definimos como equação do 2º grau ou equações quadráticas qualquer equação do tipo ax² + bx + c = 0 em que a, b e c são números reais e a ≠ 0. Ela recebe esse nome porque, no primeiro membro da igualdade, há um polinômio de grau dois com uma única incógnita.

Note que, dos coeficientes a, b e c, somente o a é diferente de zero, pois, caso ele fosse igual a zero, o termo ax² seria igual a zero, logo a equação se tornaria uma equação do primeiro grau: bx + c = 0.

Independentemente da ordem da equação, o coeficiente a sempre acompanha o termo x², o coeficiente b sempre acompanha o termo x, e o coeficiente c é sempre o termo independente.

Como resolver uma equação do 2º grau

Conhecemos como soluções ou raízes da equação ax² + bx + c = 0 os valores de x que fazem com que essa equação seja verdadeira. Uma equação do 2º grau pode ter no máximo dois números reais que sejam raízes dela. Para resolver equações do 2º grau completas, existem dois métodos mais comuns:

a) Fórmula de Bhaskara;
b) Soma e produto.

O primeiro método é bastante mecânico, o que faz com que muitos o prefiram. Já para utilizar o segundo, é necessário o conhecimento de múltiplos e divisores. Além disso, quando as soluções da equação são números quebrados, soma e produto não é uma alternativa boa.

Como resolver uma equação do 2º grau usando Bhaskara

Como nosso código Python vai resolver a equação quadrática usando a Fórmula de Bhaskara, o primeiro passo é encontrar o determinante. Veja:

\[\Delta =b^2-4ac\]

Nem sempre a equação possui solução real. O valor do determinante é que nos indica isso, existindo três possibilidades:

a) Se determinante > 0, então a equação possui duas soluções reais.
b) Se determinante = 0, então a equação possui uma única solução real.
c) Se determinante < 0, então a equação não possui solução real.

Encontrado o determinante, só precisamos substituir os valores, incluindo o determinante, na Fórmula de Bhaskara:

\[x = \dfrac{- b\pm\sqrt{b^2- 4ac}}{2a}\]

Vamos agora ao código Python. Nossa aplicação vai pedir para o usuário informar os valores dos três coeficientes a, b e c e, em seguida, vai apresentar as raizes da equação:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca Math
import math

def main():
  # vamos pedir para o usuário informar os valores dos coeficientes
  a = float(input("Valor do coeficiente a: "))
  b = float(input("Valor do coeficiente b: "))
  c = float(input("Valor do coeficiente c: "))
  # vamos calcular o discriminante
  discriminante = (b * b) - (4 * a * c)
    
  # a equação possui duas soluções reais?
  if(discriminante > 0):
    raiz1 = (-b + math.sqrt(discriminante)) / (2 * a)
    raiz2 = (-b - math.sqrt(discriminante)) / (2 * a)
    print("Existem duas raizes: x1 = {0} e x2 = {1}".format(raiz1, raiz2))
  # a equação possui uma única solução real?
  elif(discriminante == 0):
    raiz1 = raiz2 = -b / (2 * a)
    print("Existem duas raizes iguais: x1 = {0} e x2 = {1}".format(raiz1, raiz2))  	
  # a equação não possui solução real?
  elif(discriminante < 0):
    raiz1 = raiz2 = -b / (2 * a)
    imaginaria = math.sqrt(-discriminante) / (2 * a)
    print("Existem duas raízes complexas: x1 = {0} + {1} e x2 = {2} - {3}".format( 
      raiz1, imaginaria, raiz2, imaginaria))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Valor do coeficiente a: 1
Valor do coeficiente b: 2
Valor do coeficiente c: -3
Existem duas raizes: x1 = 1.0 e x2 = -3.0

Link para compartilhar na Internet ou com seus amigos:

Python ::: NumPy Python Library (Biblioteca Python NumPy) ::: Passos Iniciais

Machine Learning para iniciantes - Como usar a biblioteca NumPy em seus programas Python

Quantidade de visualizações: 2146 vezes
Criada em 2005 por Travis Oliphant, a biblioteca NumPy é uma biblioteca Python que, embora escrita parcialmente em código Python, possui trechos de código C ou C++, principalmente as partes que requerem processamento ou computação mais veloz.

Estudiosos, entusiastas e desenvolvedores de soluções envolvendo Data Science, Deep Learning, Machine Learning e Inteligência Artificial (IA) em geral, encontram nessa biblioteca muitas funções úteis para a criação e manipulação de vetores e matrizes, além de funções para trabalhar no domínio de algebra linear e transformação fourier.

A biblioteca NumPy (Numerical Python) é um projeto open source e pode ser usada livremente em qualquer programa Python. Uma das razões para a sua adoção é a substituição das listas Python pelos vetores e matrizes NumPy, já que estes últimos são 50 vezes mais rápidas que as listas Python, que muitas vezes fazem o papel de arrays.

Minha instalação do Python já possui a biblioteca NumPy?

A melhor forma de descobrir se a NumPy já está disponível para os seus códigos Python é rodando o seguinte trecho de código:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# importamos a bibliteca NumPy
import numpy as np
 
def main():
  # construimos um vetor de cinco elementos
  vetor = np.array([20, 3, 87, 4, 120])
  # imprimimos seu conteúdo
  print(vetor)

if __name__== "__main__":
  main()

Se você vir o resultado abaixo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

[ 20   3  87   4 120]

então sua instalação do Python já contém a biblioteca NumPy e você está pronto(a) para experimentar as demais dicas e truques dessa seção.

Porém, se você ainda não tiver a NumPy, a seguinte mensagem de erro será exibida:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

Exception has occurred: ModuleNotFoundError
No module named 'numpy'
  File "C:\estudos_python\estudos.py", line 2, in <module>
    import numpy as np

Não se desespere. Basta abrir uma janela de prompt e disparar o comando abaixo:

pip install numpy

Aguarde alguns minutos para que o Pip baixe e instale a biblioteca. Em seguida tente executar o código acima novamente.

Agora é só aproveitar tudo que a biblioteca NumPy tem a nos oferecer.


Python ::: Dicas & Truques ::: Data e Hora

Como obter o nome do mês da data atual no formato curto usando os métodos today() e strftime() da classe datetime do Python

Quantidade de visualizações: 10256 vezes
Nesta dica mostrarei como podemos combinar os métodos today() e strftime() da classe datetime do Python para retornar o nome do mês da data atual no formato curto, ou seja, se o mês for setembro, o valor retornado será "set".

Veja o código completo para o exemplo:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

from datetime import datetime
import locale

def main():
  # Configurações do usuário
  locale.setlocale(locale.LC_ALL, '')
 
  # Obtém um datatime da data e hora atual
  hoje = datetime.today()
 
  # Exibe o nome do mês no formato curto
  print(hoje.strftime("O mês é: %b"))  
 
if __name__== "__main__":
  main()

Ao executarmos este código nós teremos o seguinte resultado:

O mês é: mar


Python ::: Python para Engenharia ::: Engenharia Civil - Cálculo Estrutural

Como calcular os esforços solicitantes majorados em pilares usando Python - Python para Engenharia Civil

Quantidade de visualizações: 189 vezes


Quando estamos dimensionando pilares em concreto armado em geral, a primeira coisa que devemos fazer é calcular os esforços solicitantes, ou seja, as cargas que estão chegando ao pilar.

No caso dos pilares intermediários, ou seja, pilares que residem fora dos cantos e extremidades da estrutura e que, por isso, recebem a carga em seu centro geométrico, considera-se a compressão centrada. Dessa forma, chamamos de Nk o somatório de todas as cargas verticais atuantes na estrutura e podemos desprezar as excentricidades de 1ª ordem.

De acordo com a NBR 6118 (ABNT, 2014), para a situação de projeto, essa força normal Nk deve ser majorada pelos coeficientes &#947;n e &#947;f, resultando em uma força normal de projeto chamada Nd.

O coeficiente &#947;n deve majorar os esforços solicitantes finais de cálculo de acordo com a menor dimensão do pilar. A norma diz que a menor dimensão que um pilar pode ter é 19cm, mas, em alguns casos, podemos ter a menor dimensão de até 14cm, precisando, para isso, majorar os esforços solicitantes. Nos comentários do código Python eu mostro como esse cálculo é feito, de acordo com a NBR 6118 (ABNT, 2014), é claro.

O coeficiente &#947;f, na maioria dos casos, possui o valor 1,4 e entra no cálculo para converter a força normal Nk em força normal de projeto Nd.

A fórmula para o cálculo dos esforços solicitantes majorados em pilares intermediários é:

\[ Nd = \gamma n \cdot \gamma f \cdot Nk \]

Onde:

&#947;n majora os esforços de acordo com a menor dimensão do pilar de acordo com a NBR 6118 (ABNT, 2014).

&#947;f em geral possui o valor 1.4 para majorar os esforços em estruturas de concreto armado.

Nk é a força normal característica aplicada ao pilar, em kN.

Nd é a força normal de projeto, em kN.

Vamos então ao código Python, que solicitará ao usuário os valores de suas dimensões hx e hy (em centímetros) e a carga, ou seja, a força normal característica chegando no pilar em kN e vamos mostrar a força normal de projeto Nd:

----------------------------------------------------------------------
Se precisar de ajuda com o código abaixo, pode me chamar
no WhatsApp +55 (62) 98553-6711 (Osmar)
----------------------------------------------------------------------

# método principal
def main():
  # vamos pedir as dimensões do pilar
  hx = float(input("Informe a dimensão do pilar na direção x (em cm): "))
  hy = float(input("Informe a dimensão do pilar na direção y (em cm): "))

  # vamos pedir a carga total no pilar em kN
  Nk = float(input("Informe a carga total no pilar (em kN): "))

  # vamos obter o menor lado do pilar (menor dimensão da seção transversal)
  if (hx < hy):
    b = hx
  else:
    b = hy
  
  # agora vamos calcular a área do pilar em centímetros quadrados
  area = hx * hy

  # a área está de acordo com a norma NBR 6118 (ABNT, 2014)
  if (area < 360):
    print("A área do pilar não pode ser inferior a 360cm2")
    return

  # vamos calcular a força normal de projeto Nd
  yn = 1.95 - (0.05 * b) # de acordo com a norma NBR 6118 (ABNT, 2014) Tabela 13.1
  yf = 1.4 # regra geral para concreto armado
  Nd = yn * yf * Nk

  # e mostramos os resultados
  print("\nA área do pilar é: {0} cm2".format(round(area, 2)))
  print("A menor dimensão do pilar é: {0} cm".format(round(b, 2)))
  print("O valor do coeficiente yn é: {0}".format(round(yn, 2)))
  print("A força normal de projeto Nd é: {0} kN".format(round(Nd, 2)))

if __name__== "__main__":
  main()

Ao executar este código Python nós teremos o seguinte resultado:

Informe a dimensão do pilar na direção x (em cm): 40
Informe a dimensão do pilar na direção y (em cm): 19
Informe a carga total no pilar (em kN): 841.35

A área do pilar é: 760.0 cm2
A menor dimensão do pilar é: 19.0 cm
O valor do coeficiente yn é: 1.0
A força normal de projeto Nd é: 1177.89 kN


Desafios, Exercícios e Algoritmos Resolvidos de Python

Veja mais Dicas e truques de Python

Dicas e truques de outras linguagens

Códigos Fonte

Programa de Gestão Financeira Controle de Contas a Pagar e a Receber com Cadastro de Clientes e FornecedoresSoftware de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento
Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidadesControle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades
Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais

Linguagens Mais Populares

1º lugar: Java
2º lugar: Python
3º lugar: C#
4º lugar: PHP
5º lugar: Delphi
6º lugar: C
7º lugar: JavaScript
8º lugar: C++
9º lugar: VB.NET
10º lugar: Ruby



© 2025 Arquivo de Códigos - Todos os direitos reservados
Neste momento há 37 usuários muito felizes estudando em nosso site.