Distância e Números Complexos
Leia quatro valores correspondentes aos eixos x e y de dois pontos quaisquer no plano: ( x 1 , y 1 ) e (x 2 , y 2)
e calcule a distância entre eles, mostrando 4 casas decimais após a vírgula, segundo a fórmula:
Leia também um número complexo
e calcule seu módulo
(distância até a origem), mostrando 4 casas decimais após a vírgula, usando a fórmula:
Note que Python possui complex como tipo de dados. Um número complexo tem um componente real e um componente imaginário, ambos representados pelo tipo float em Python (é possível acessá-los separadamente).
Entrada:
A entrada contém três linhas de dados. A primeira linha contém dois valores de ponto flutuante x1 e y1, a segunda também contém dois valores de ponto flutuante x2 e y2 e a terceira contém um número complexo no formato
.
Saída:
Calcule e imprima o valor da distância e do módulo segundo as fórmulas fornecidas, com 4 casas decimais.
Comentários:
Para ler vários valores em uma mesma linha, use input().split(). Se o argumento de split for vazio, o separador das variáveis é um espaço em branco. Porém, lembre-se que input lê apenas strings do teclado, portanto você deverá converter as strings em floats.
No exemplo a seguir, o usuário digita valores separados por um espaço em branco e aperta enter para enviá-los, então, o programa lê esses valores separados por espaços como strings (na ordem em que aparecem), guardados nas variáveis correspondentes. Em seguida, o programa os converte para floats:
A, B, C = input().split()
A, B, C = [float(A), float(B), float(C)]
Números complexos podem ser manipulados facilmente com o método complex(). Exemplo:
D = complex(’
‘)
print(’%.2f % D.real)
print(’%.2f’ % D.imag)
Dica:
O módulo math pode ser usado para calcular a raiz quadrada com a função math.sqrt(A). Neste caso, a biblioteca precisa ser importada antes: import math.
Existe um operador “**” em Python que faz a exponenciação. Exemplo: A ** B = AB
Por exemplo:
Input
Resultado
1.07 .0
4.4721
5.09 .0
2.0000
2 j
-2.50 .4
16.1484
12.17 .3
2.2361
e calcule a distância entre eles, mostrando 4 casas decimais após a vírgula, segundo a fórmula:
Note que Python possui complex como tipo de dados. Um número complexo tem um componente real e um componente imaginário, ambos representados pelo tipo float em Python (é possível acessá-los separadamente).
Calcule e imprima o valor da distância e do módulo segundo as fórmulas fornecidas, com 4 casas decimais.
Para ler vários valores em uma mesma linha, use input().split(). Se o argumento de split for vazio, o separador das variáveis é um espaço em branco. Porém, lembre-se que input lê apenas strings do teclado, portanto você deverá converter as strings em floats.
No exemplo a seguir, o usuário digita valores separados por um espaço em branco e aperta enter para enviá-los, então, o programa lê esses valores separados por espaços como strings (na ordem em que aparecem), guardados nas variáveis correspondentes. Em seguida, o programa os converte para floats:
A, B, C = input().split()
A, B, C = [float(A), float(B), float(C)]
Números complexos podem ser manipulados facilmente com o método complex(). Exemplo:
D = complex(’
print(’%.2f % D.real)
print(’%.2f’ % D.imag)
Dica:
O módulo math pode ser usado para calcular a raiz quadrada com a função math.sqrt(A). Neste caso, a biblioteca precisa ser importada antes: import math.
Por exemplo:
| Input | Resultado |
| 1.07 .0 | 4.4721 |
| 5.09 .0 | 2.0000 |
| 2 j | |
| -2.50 .4 | 16.1484 |
| 12.17 .3 | 2.2361 |
|
|
Passo 1
O enunciado pede duas coisas a partir de uma entrada com três linhas:
- Ler dois pontos no plano: o primeiro ponto com coordenadas
e (primeira linha) e o segundo ponto com coordenadas e (segunda linha). - Ler um número complexo
no formato (terceira linha).
As saídas pedidas são:
- A distância entre os pontos
e , calculada e impressa com 4 casas decimais. - O módulo do número complexo
, ou seja, , calculado e impresso com 4 casas decimais.
Informações relevantes dadas pelo enunciado:
- A fórmula da distância é
. - A fórmula do módulo do complexo é
. - A entrada vem em três linhas: primeira com
e , segunda com e , terceira com o complexo (ex.: ou ). - A saída deve mostrar os dois valores com 4 casas decimais, cada um em sua linha.
Passo 2
Entendendo a fórmula da distância: ela vem do Teorema de Pitágoras. Se você desloca do ponto
ao ponto
, os deslocamentos nas direções
e
são
A distância é a hipotenusa do triângulo retângulo formado por esses deslocamentos, portanto
No Python isso pode ser calculado com
ou usando
. Aqui:
-
e são variáveis do tipo float, - o operador
faz potência (por exemplo, é ).
Passo 3
Entendendo o módulo do número complexo: um número complexo
escrito como
tem parte real
e parte imaginária
. O módulo é a distância de
até a origem no plano complexo, dada por
No Python existe o tipo
. Se você faz
, então
é
e
é
. Assim, o módulo pode ser calculado como
. Observação: Python também permite
diretamente para o módulo, que já retorna um float com
.
Passo 4
Como ler a entrada em Python (detalhado e sem pular etapas):
- Primeira linha: use
para separar os dois valores e converta para float: ou mais compacto: . - Segunda linha: igual para
. - Terceira linha: leia a string do complexo e use
, por exemplo: aceita formatos como , , , etc. A função remove espaços em branco no início/fim, caso existam.
Passo 5
Como formatar a saída com 4 casas decimais:
- Em Python têm-se várias opções. Duas comuns:
-
- Cada valor pedido deve aparecer em sua própria linha, no formato com exatamente 4 casas decimais.
Passo 6
Exemplo numérico pequeno e verificável (para fixar a ideia). Suponha:
- Primeira linha:
(ou seja, , ), - Segunda linha:
(ou seja, , ), - Terceira linha:
(ou seja, , ).
Cálculo passo a passo:
-
, -
, -
. - Para o complexo:
.
Saída esperada para esse exemplo:
- Primeira linha:
- Segunda linha:
Passo 7
Resumo do algoritmo final (em palavras, pronto para implementar):
- Ler
como floats da primeira linha. - Ler
como floats da segunda linha. - Ler o complexo
com da terceira linha. - Calcular
e . - Calcular
. - Calcular
(ou usar ). - Imprimir
e com 4 casas decimais, uma por linha.
Resposta
# Programa que lê dois pontos e um número complexo, calcula a distância e o módulo
import sys
# Leitura e conversão das duas primeiras linhas
x1, y1 = map(float, input().split())
x2, y2 = map(float, input().split())
# Leitura do número complexo (ex.: "1+2j" ou "2j")
z = complex(input().strip())
# Cálculo da distância entre (x1,y1) e (x2,y2)
dx = x2 - x1
dy = y2 - y1
dist = (dx**2 + dy**2)**0.5
# Cálculo do módulo do complexo z
mod_z = abs(z)
# Impressão com 4 casas decimais
print("{:.4f}".format(dist))
print("{:.4f}".format(mod_z))