Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
75 changes: 75 additions & 0 deletions exercicios/para-casa/atividade-casa-segunda-feira.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
def soma(a, b):
return a + b

def sub(c, d):
return c - d

def mult(a, b):
return a * b

def div(a, b):
if b != 0:
return a / b
else:
return f"Não é possível dividir um número por zero."




import unittest

class TestSoma(unittest.TestCase):
def test_soma_positivos(self):
self.assertEqual(soma(3, 4), 7)

def test_soma_negativos(self):
self.assertEqual(soma(-3, -3), -6)

def soma_zero(self):
self.assertEqual(soma(0,0), 0)

def test_soma_negativos_positivos(self):
self.assertEqual(soma(-6, 4), -2)

class TestSubtracao(unittest.TestCase):
def test_subtracao_positivos(self):
self.assertEqual(sub(4, 2), 2)

def test_subtracao_negativos(self):
self.assertEqual(sub(-2, -4), 2)

def test_subtracao_zero(self):
self.assertEqual(sub(0, 0), 0)

def test_subtracao_negativos_positivos(self):
self.assertEqual(sub(2, -4), 6)

class TestMultiplicacao(unittest.TestCase):
def test_multiplicacao_positivos(self):
self.assertEqual(mult(4, 2), 8)

def test_multiplicacao_negativos(self):
self.assertEqual(mult(-2, -4), 8)

def test_multiplicacao_zero(self):
self.assertEqual(mult(0, 0), 0)

def test_multiplicacao_negativos_positivos(self):
self.assertEqual(mult(2, -4), -8)

class TestDivisao(unittest.TestCase):
def test_divisao_positivos(self):
self.assertEqual(div(4, 2), 2)

def test_divisao_negativos(self):
self.assertEqual(div(-4, -2), 2)

def test_divisao_zero(self):
self.assertEqual(div(0, 0), 0)

def test_divisao_negativos_positivos(self):
self.assertEqual(div(2, -4), -0.5)


if __name__ == '__main__':
unittest.main()
64 changes: 64 additions & 0 deletions exercicios/para-casa/calculo_media_quarta-feira.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
# Possibilidades de teste:
# 1- Verificar o cálculo da média com números positivos floats (o resultado será float)
# 2- Verificar o cálculo da média com números positivos floats e ints (o resultado será float)
# 3- Verificar a soma entre numeros positivos e a divisão por um número positivo
# 4- Verificar se o divisor é sempre positivo
# 5- Verificar a soma de termos iguais a 0 e a divisão pelo número de termos (o resultado será 0)
# 6- Verificar se o divisor realmente corresponde ao número de termos do dividendo
# 7- Verificar a obtenção de um float com no máximo 2 casas decimais no resultado ao trabalharmos com floats no dividendo
# 8- Verificar a obtenção de um float com no máximo 2 casas decimais no resultado ao trabalharmos com floats e inteiros no dividendo
# 9- Calcular a média usando floats no dividendo e arredondando para cima
# 10- Calcular a média usando floats no dividendo e arredondando para baixo
# 11- Calcular a média usando floats e inteiros no dividendo e arredondando para cima
# 12- Calcular a média usando floats e inteiros no dividendo e arredondando para baixo
# 13 - Calcular a média usando floats no dividendo e arredondando o resultado para cima ou para baixo seguindo a regra da matemática

import unittest
from media_aritmedica import calcular_media


class TestCalcularMedia(unittest.TestCase):
def test_media_lista_vazia(self):
resultado = calcular_media([])
self.assertEqual(resultado, 0) #se a lista estiver vazia, obrigatoriamente o resultado será 0

#1- Verificar o cálculo da média com números positivos floats (o resultado será float)
class TestCalcularMediaComFloats(unittest.TestCase):
def test_media_com_floats(self):
resultado = calcular_media([8.0, 8.0, 9.0])
self.assertAlmostEqual(resultado, 8.3, places=1)

# 2- Verificar o cálculo da média com números positivos floats e ints (o resultado será float)
class TestCalcularMediaComFloatsEInts(unittest.TestCase):
def test_media_com_floats_e_ints(self):
resultado = calcular_media([7, 9.8, 8.5, 6])
self.assertAlmostEqual(resultado, 7.8, places=1)

# 9- Calcular a média usando floats no dividendo e arredondando para cima
class TestCalcularMedia_Floats_ResultadoArredondadoParaCima(unittest.TestCase):
def test_media_floats_resultado_arredondado_para_cima(self):
resultado = calcular_media([8.0, 3.0, 12.0, 5.5])
self.assertEqual(round(resultado + 0.5), 8)

# 12- Calcular a média usando floats e inteiros no dividendo e arredondando para baixo
class TestCalcularMedia_FloatsEInts_ResultadoArredondadoParaBaixo(unittest.TestCase):
def test_media_floatseints_resultado_arredondado_para_baixo(self):
resultado = calcular_media([7, 9, -5.5])
self.assertEqual(round(resultado - 0.5), 3)

# 13 - Calcular a média usando floats no dividendo e arredondando o resultado para cima ou para baixo seguindo a regra da matemática
class TestCalcularMedia_Floats_ResultadoArredondadoParaCima_MatematicamenteCorreto(unittest.TestCase):
def test_media_floats_arredondando_corretamente(self):
resultado = calcular_media([4.5, 4])
c = round(resultado - 0.5)
if resultado - c >= 0.5:
print(round(resultado + 0.5))
elif resultado - c < 0.5:
print(round(resultado - 0.5))

if __name__ == '__main__':
unittest.main()




5 changes: 5 additions & 0 deletions exercicios/para-casa/media_aritmedica.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
def calcular_media(numeros):
if not numeros:
return 0

return sum(numeros) / len(numeros)