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:
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 diferentes3) 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
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
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))
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
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
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))
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:
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))
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:
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
In [ ]: