Solução 3 do Exercício 4 sobre reais¶
Nota: Questão 1 da Prova 1 de 2014.
Na figura, no plano cartesiano, a região sombreada não inclui as
linhas de bordo. Note que o eixo y
cai bem no meio da figura,
e usamos o lado do quadrado para indicar as ordenadas
correspondentes.
Escreva na página do desenho um programa que lê as coordenadas
cartesianas (x, y)
de um ponto, ambas do tipo float
e imprime dentro
se esse ponto está na região, e fora
caso contrário.

Solução 3: explora a simetria da figura em relação ao eixo y. A variável x_pos pode ser trocada por x. A variável dentro e um indicador de passagem bool.
xxxxxxxxxx
1
x_pos = x = float(input("Digite x: "))
2
y = float(input("Digite y: "))
3
4
if x < 0: # simetria ;-)
5
x_pos = -x
6
7
# suponha que (x,y) que esta dentro
8
dentro = True
9
10
if x_pos >= 5 or y >= 8 or y <= 0:
11
# aqui sabemos que (x,y) esta fora da face
12
dentro = False
13
elif 0 <= x_pos <= 3 and 1 <= y <= 2:
14
# aqui sabemos que (x,y) esta na boca
15
dentro = False
16
elif 1 <= x_pos <= 4 and 4 <= y <= 7:
17
# aqui sabemos que (x,y) esta em um olho
18
if not (2 < x < 3 or 5 < y < 6):
19
# aqui sabemos que (x,y) esta fora da iris
20
dentro = False
21
22
if dentro:
23
print("dentro")
24
else:
25
print("fora")
26
ActiveCode (aula08_ex81c)
- Clique