Exemplo de aplicação 1

Exemplo de aplicação 1#

Calcular as reações de apoio, momento de flexão máxima e forças cortantes em uma viga bi-apoiada com carga distribuída retangular

image.png

Na imagem tem-se uma viga bi apoiada com uma carga q distribuída de forma retangular a uma distância l. Considere a carga q em kN/m e a distância l em metros. O apoio A é de fixo e o apoio B é deslizante.

Escreva um programa Python que solicita ao usuário que informe o valor da carga q e a distância l entre os apoios A e B. Em seguida mostre os valores das reações nos apoios A e B, o momento de flexão máxima da viga e o momento de flexão para uma determinada distância (que o usuário informará) a partir do apoio A. Mostre também as forças cortantes nos apoios A e B.

# Algoritmo que calcula reação de apoio, momento fletor
# e força cortante em uma viga bi-apoiada em Python
 
# vamos importar o módulo Math
import math
 
# função principal do programa
def main():
  # vamos pedir para o usuário informar o valor da carga
  carga = float(input("Valor da carga em kN/m: "))
   
  # vamos pedir para o usuário informar a distância entre os apoios
  distancia = float(input("Distancia em metros: "))
   
  # vamos calcular a reação no apoio A
  reacao_a = (1.0 / 2.0) * carga * distancia
   
  # vamos calcular a reação no apoio B
  reacao_b = reacao_a
   
  # vamos calcular o momento fletor máximo
  flexao_maxima = (1.0 / 8.0) * carga * math.pow(distancia, 2.0)
   
  # e mostramos o resultado
  print("\nA reação no apoio A é: {0} kN".format(reacao_a))
  print("A reação no apoio B é: {0} kN".format(reacao_b))
  print("O momento fletor máximo é: {0} kN".format(flexao_maxima))
   
  # vamos pedir para o usuário informar uma distância a
  # partir do apoio A
  distancia_temp = float(input("\nInforme uma distância a partir do apoio A: "))
  # vamos mostrar o momento fletor na distância informada
  if distancia_temp > distancia:
    print("\nDistância inválida.")
  else:
    flexao_distancia = (1.0 / 2.0) * carga * distancia_temp * \
      (distancia - distancia_temp)
    print("O momento fletor na distância informada é: {0} kN".format(
      flexao_distancia))  
    
  # vamos mostrar a força cortante no apoio A
  cortante_a = (1.0 / 2.0) * carga * distancia
  print("\nA força cortante no apoio A é: {0} kN".format(cortante_a))
   
  # vamos mostrar a força cortante no apoio B
  cortante_b = cortante_a * -1
  print("A força cortante no apoio B é: {0} kN".format(cortante_b))
   
if __name__== "__main__": # checagem de escopo de execução
  main()
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
Cell In[1], line 50
     47   print("A força cortante no apoio B é: {0} kN".format(cortante_b))
     49 if __name__== "__main__": # checagem de escopo de execução
---> 50   main()

Cell In[1], line 10, in main()
      8 def main():
      9   # vamos pedir para o usuário informar o valor da carga
---> 10   carga = float(input("Valor da carga em kN/m: "))
     12   # vamos pedir para o usuário informar a distância entre os apoios
     13   distancia = float(input("Distancia em metros: "))

ValueError: could not convert string to float: ''