コード例 #1
0
 def test_sequencia_maiorzinha_continua(self):
     entrada = range(1, 121)
     saida_esperada = '[1-120]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #2
0
 def test_sequencia_grande_continua(self):
     entrada = range(1, 10001)
     saida_esperada = '[1-10000]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #3
0
 def test_um_numero(self):
     self.assertEqual(intervalos([100]), [(100,)])
コード例 #4
0
 def test_tres_numeros_consecutivos(self):
     self.assertEqual(intervalos([100, 101, 102]), [(100, 102)])
コード例 #5
0
 def test_lista_do_exemplo(self):
     entrada = [100, 101, 102, 103, 104, 105, 110, 111, 113, 114, 115, 150]
     saida_esperada = '[100-105], [110-111], [113-115], [150]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #6
0
 def test_dois_numeros_consecutivos(self):
     self.assertEqual(intervalos([100, 101]), [(100, 101)])
コード例 #7
0
 def test_sequencia_curta_descontinua(self):
     entrada = [1, 2, 4, 5]
     saida_esperada = '[1-2], [4-5]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #8
0
 def test_sequencia_duplamente_descontinua(self):
     entrada = [1, 2, 4, 5, 6, 7, 10, 11, 12, 150]
     saida_esperada = '[1-2], [4-7], [10-12], [150]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #9
0
 def test_sequencia_grande_continua(self):
     entrada = range(1, 10001)
     saida_esperada = '[1-10000]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #10
0
 def test_sequencia_5_100(self):
     entrada = range(5, 101)
     saida_esperada = '[5-100]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #11
0
 def test_sequencia_maiorzinha_continua(self):
     entrada = range(1, 121)
     saida_esperada = '[1-120]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #12
0
 def test_dois_numeros_avulsos(self):
     self.assertEqual(intervalos([100, 110]), [(100, ), (110, )])
コード例 #13
0
 def test_um_numero(self):
     self.assertEqual(intervalos([100]), [(100, )])
コード例 #14
0
 def test_sequencia_5_100(self):
     entrada = range(5, 101)
     saida_esperada = '[5-100]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #15
0
 def test_sequencia_duplamente_descontinua(self):
     entrada = [1, 2, 4, 5, 6, 7, 10, 11, 12, 150]
     saida_esperada = '[1-2], [4-7], [10-12], [150]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #16
0
 def test_sequencia_curta_descontinua(self):
     entrada = [1, 2, 4, 5]
     saida_esperada = '[1-2], [4-5]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #17
0
 def test_um_unico_elemento(self):
     entrada = [45]
     saida_esperada = '[45]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #18
0
 def test_um_unico_elemento(self):
     entrada = [45]
     saida_esperada = '[45]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #19
0
 def test_lista_do_exemplo(self):
     entrada = [100, 101, 102, 103, 104, 105, 110, 111, 113, 114, 115, 150]
     saida_esperada = '[100-105], [110-111], [113-115], [150]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #20
0
 def test_sequencia_curta_continua(self):
     entrada = [1, 2, 3]
     saida_esperada = '[1-3]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #21
0
 def test_sequencia_curta_continua(self):
     entrada = [1, 2, 3]
     saida_esperada = '[1-3]'
     saida = intervalos(entrada)
     self.assertEqual(saida, saida_esperada)
コード例 #22
0
 def test_tres_numeros_consecutivos(self):
     self.assertEqual(intervalos([100, 101, 102]), 
                                [(100, 102)])
コード例 #23
0
raices_polinomio = bairstow(coeficientes, r1, s1, tolerancia)
raices_primera_derivada = bairstow(primera_derivada, r2, s2, tolerancia)
raices_segunda_derivada = bairstow(segunda_derivada, r3, s3, tolerancia)

# Raíces reales de la función derivada
raices_reales_primera_derivada = [
    x for x in raices_primera_derivada if type(x) is not complex
]
raices_reales_primera_derivada.sort()
raices_reales_segunda_derivada = [
    x for x in raices_segunda_derivada if type(x) is not complex
]
raices_reales_segunda_derivada.sort()

# Los intervalos en que la función es creciente y en que es decreciente.
intervalos_crecimiento = intervalos(primera_derivada, raices_primera_derivada,
                                    cifras_significativas)

# Las coordenadas de los extremos locales y su tipo (máximo o mínimo).
maximos = []
minimos = []

dict_positivos = dict(intervalos_crecimiento["positivo"])

# Si -inf está en los intervalos positivos, quiere decir que el
# que le sigue está en los negativos, entonces el primer punto
# crítico tiene una relación + -> -, por lo tanto es un máximo
# y el siguiente punto crítico es un mínimo y el siguiente un
# máximo y así sucesivamente.
if -inf in dict_positivos:
    for i in range(len(raices_reales_primera_derivada)):
        x = raices_reales_primera_derivada[i]
コード例 #24
0
 def test_dois_numeros_avulsos(self):
     self.assertEqual(intervalos([100, 110]), 
                                [(100,), (110,)])
コード例 #25
0
 def test_dois_numeros_consecutivos(self):
     self.assertEqual(intervalos([100, 101]), [(100, 101)])