Advertisement
danrleydaniel

pylagrange.py

Jan 24th, 2020
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 2.67 KB | None | 0 0
  1. from math import*
  2.  
  3.  
  4. VERDE = "\033[1;32m"
  5. NORMAL = "\033[0;0m"
  6.  
  7.  
  8. xo = 1
  9.  
  10. def mostraformula():
  11.   print()
  12.   print("""
  13.  f(Xo + h) - f(Xo)
  14.  __________________
  15.           h
  16.           """)
  17.  
  18. def mostraformula2():
  19.   print()
  20.   print("""
  21.         f(b) - f(a)
  22.  f(φ) = ___________
  23.            b - a
  24.            """)
  25.  
  26.  
  27.  
  28. def ajuda():
  29.   print()
  30.   print("Este programa verifica se o valor de uma derivada no ponto Xo, dado pela fórmula: ")
  31.   mostraformula()
  32.   print("é igual ao valor da função no teorema de Lagrange, dado pela fórmula: ")
  33.   mostraformula2()
  34.   print("O programa calcula as duas fórmulas, onde 'h', na fórmula da derivada recebe um valor de 0,0001 até -0,1099. Se o valor de ambas as equações forem iguais ou aproximados, o programa mostrará o resultado em",VERDE,"verde",NORMAL, "e em seguida, estará pronto para testar outra função.")
  35.   print()
  36.   print("Vale lembrar que o programa lê as funções de acordo com a semântica no Python, ou seja, se sua função é algo como: 'f(X) = 2X', você deve escrevê-la como '2*x',","\033[4m","sem escrever o 'f(x)'",NORMAL)
  37.   print()
  38.   print("Lembre-se, toda função que você escrever deverá conter um 'x' na fórmula")
  39.   print()
  40.   print("Se precisar escrever alguma função que envolva raiz quadrada, trigonometria, etc., use a semântica das funções da biblioteca math.")
  41.   print()
  42.   print("Escrever '-ajuda' mostra essa mensagem novamente.")
  43.   print()
  44.  
  45. def validaExpressao(x):
  46.   cont = 0
  47.   for i in x:
  48.     if i == "x":
  49.       cont += 1
  50.   if cont == 0:
  51.     return False
  52.   else:
  53.     return True
  54.  
  55.  
  56. def verifLagrange(f, a, b):
  57.   x = a
  58.   valorA =
  59.   x = b
  60.   valorB =
  61.  
  62.   fl = ((valorB - valorA) / (b - a))
  63.   print("Valor encontrado pela fórmula da derivada: ")
  64.   print(fl)
  65.   input("Aperte ENTER para continuar")
  66.   h = 0.0001
  67.   while(h < -0,1099):
  68.     print()
  69.     print("h = ",h)
  70.     print()
  71.     aux = xo + h
  72.     x = aux
  73.     f1 =
  74.     x = xo
  75.     f2 =
  76.     derivada = ((f1 - f2) / h)
  77.     derivadaAux = (str(derivada))
  78.     derivada = derivadaAux[0:3]
  79.     fl = str(fl)
  80.     fl = fl[0:3]
  81.     if(derivada == fl):
  82.       print(VERDE)
  83.       print(derivada)
  84.       print(NORMAL)
  85.       input("ENCONTRADO!")
  86.       break
  87.     else:
  88.       print(derivada)
  89.     h -= 0.01
  90.  
  91. print("=================")
  92. print("PROGRAMA LAGRANGE")
  93. print("=================")
  94. print("Se precisar de alguma instrução, escreva '-ajuda' no lugar de uma função.")
  95.  
  96.  
  97. while True:
  98.  
  99.  
  100.   f = input("Digite uma função: ")
  101.  
  102.   if f == "-ajuda":
  103.     ajuda()
  104.   elif not validaExpressao(f):
  105.     print()
  106.     print("Função inválida. Valor X não encontrado.")
  107.     print()
  108.   else:
  109.     verifLagrange(f, 1, 2)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement