Exercício 1: Crie três funções:

1) Uma função chamada VerificaTriangulo() que recebe como parâmetro o comprimento dos três lados de um possível triângulo. Essa função deve retornar True caso esses comprimentos podem formar um triângulo e False caso contrário.

Para 3 segmentos com comprimento x, y e z, respectivamente, formarem um triângulo, eles devem obdecer a TODAS as seguintes condições:

  • x + y > z
  • x + z > y
  • y + z > x

2) Uma função chamada TipoTriangulo() que recebe os mesmos parâmetros e retorna o tipo de triângulo que os segmentos formariam:

  • "equilátero" se os três lados forem iguais
  • "isóceles" se dois dos três lados forem iguais
  • "escaleno" se os três lados forem diferentes

3) Uma função chamada Triangulo() que também receberá os mesmos parâmetros e retornará o tipo de triângulo, caso os segmentos formem um, ou a string "não é triângulo", caso contrário.


In [1]:
print (Triangulo(5,5,5)) # equilatero
print (Triangulo(5,5,7)) # isóceles
print (Triangulo(3,4,5)) # escaleno
print (Triangulo(5,5,11)) # não é triângulo


equilátero
isóceles
escaleno
não é triângulo

Exercício 2: Crie uma função para determinar se um ano é bissexto.

O ano é bissexto se for múltiplo de 400 ou múltiplo de 4 e não múltiplo de 100. Utilize o operador de resto da divisão (%) para determinar se um número é múltiplo de outro.


In [72]:
print (Bissexto(2000)) # True
print (Bissexto(2004)) # True
print (Bissexto(1900)) # False


True
True
False

Exercício 3: Crie uma função que receba três valores x, y, z como parâmetros e retorne-os em ordem crescente.

O Python permite que você faça comparações relacionais entre as 3 variáveis em uma única instrução:

x < y < z

In [13]:
print (Crescente(1,2,3))
print (Crescente(1,3,2))
print (Crescente(2,1,3))
print (Crescente(2,3,1))
print (Crescente(3,1,2))
print (Crescente(3,2,1))
print (Crescente(1,2,2))


(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
(1, 2, 3)
(1, 2, 2)

Exercício 4: O peso ideial de uma pessoa segue a seguinte tabela:

Altura Peso Homem Peso Mulher
1,5 m 50 kg 48 kg
1,7 m 74 kg 68 kg
1,9 m 98 kg 88 kg
2,1 m 122 kg 108 kg

Faça uma função que receba como parâmetro o gênero, altura e peso da pessoa e retorne True se ela está com o peso ideal.


In [75]:
print (PesoIdeal("masculino", 1.87, 75)) # True
print (PesoIdeal("masculino", 1.92, 200)) # False
print (PesoIdeal("feminino", 1.87, 90)) # False
print (PesoIdeal("feminino", 1.6, 40)) # True


True
False
False
True

Exercício 5: Crie uma função que receba as coordenadas cx, cy, o raio r correspondentes ao centro e raio de uma circunferência e receba também coordenadas x, y de um ponto.

A função deve retornar True se o ponto está dentro da circunferência e False, caso contrário.


In [80]:
print (Circunferencia(0,0,10,5,5) ) # True
print (Circunferencia(0,0,10,15,5))  # False


True
False

Exercício 5b: Crie uma função chamada Circunferencia que recebe como entrada as coordenadas do centro cx e cy e o raio r da circunferência. Essa função deve criar uma outra função chamada VerificaPonto que recebe como entrada as coordenadas x e y de um ponto e retorna True caso o ponto esteja dentro da circunferência, ou False caso contrário.

A função Circunferencia deve retornar a função Verifica.


In [4]:
Verifica = Circunferencia(0,0,10)
print (Verifica(5,5))
print (Verifica(15,5))


True
False

Exercício 6:

A Estrela da Morte é uma arma desenvolvida pelo império para dominar o universo.

Um telescópio digital foi desenvolvido pelas forças rebeldes para detectar o local dela.

Mas tal telescópio só consegue mostrar o contorno das circunferências encontradas indicando o centro e o raio delas.

Sabendo que uma Estrela da Morte é definida por:

  • O raio de uma circunferência for 10 vezes maior que o raio da outra
  • A circunferência menor se encontrar totalmente dentro da maior
  • O contorno da circunferência menor está a pelo menos 2 unidades de distância do contorno da maior

Faça uma função (utilizando os exercícios anteriores), para detectar se duas circunferências definidas por (cx1,cy1,r1) e (cx2,cy2,r2) podem formar uma Estrela da Morte.

Bônus: plote as circunferências utilizando a biblioteca gráfica.


In [95]:
import math











print (EstrelaMorte(0,0,20,3,3,10))
print (EstrelaMorte(0,0,200,3,3,10))
print (EstrelaMorte(0,0,200,195,3,10))


False
True
False

Exercício 7: Crie uma função para determinar as raízes reais da equação do segundo grau:

$$ a.x^{2} + b.x + c = 0 $$

Faça com que a função retorne:

  • Uma raíz quando $b^2 = 4*a*c$
  • Raízes complexas quando $b^2 < 4*a*c$
  • Raízes reais, caso contrário

Utilize a biblioteca cmath para calcular a raíz quadrada para números complexos.


In [112]:
import math, cmath









print (RaizSegundoGrau(2,4,2) ) # -1.0
print (RaizSegundoGrau(2,2,2))  # -0.5 - 0.9j, -0.5+0.9j
print (RaizSegundoGrau(2,6,2))  # -2.6, -0.38


-1.0
((-0.5-0.8660254037844386j), (-0.5+0.8660254037844386j))
(-2.618033988749895, -0.3819660112501051)

In [ ]: