Faça um programa que forneça o comprimento e a área de uma circunferência para qualquer valor de raio. Faça que o programa plote o gráfico da circunferência de acordo com o raio fornecido.

Passo 1

Beleza, o exercício pede um programa que, dado um raio, calcule duas paradas de geometria de circuferência (o comprimento e a área) e ainda desenhe o círculo num gráfico.
Conteúdo:
  • Geometria básica (fórmulas de circunferência e área)
  • Programação em Python (entrada, cálculo, saída)
  • Plotagem com Matplotlib (biblioteca de gráficos)
    Vamos precisar das fórmulas:
  • Comprimento: x(theta) = rcos(theta), y(theta) = rsin(theta)
  • Área:
    E pra plotar, usar a forma paramétrica de um círculo:

Passo 2

Primeiro passo no código: importar as bibliotecas e pedir ao usuário o raio.
  1. import math (pra usar o π)
  2. import matplotlib.pyplot as plt (pra plotar)
  3. r = float(input("Digite o raio da circunferência: "))

Passo 3

Agora, aplicar as fórmulas da teoria:
  • Comprimento: C = 2 times pi times r no código: C = 2 * math.pi * r
  • Área: A = pi times r^2 no código: A = math.pi * r**2

Passo 4

Pra desenhar a circunferência, a gente gera vários ângulos de 0 a e calcula os pares com a forma paramétrica:
import numpy as np
theta = np.linspace(0, 2*math.pi, 200)   # 200 pontos
x = r * np.cos(theta)
y = r * np.sin(theta)
plt.plot(x, y)
plt.gca().set_aspect('equal', 'box')      # manter proporção certinha
plt.title(f"Círculo de raio {r}")
plt.show()

Resposta

import math
import numpy as np
import matplotlib.pyplot as plt

# Entrada do usuário
r = float(input("Digite o raio da circunferência: "))

# Cálculos
C = 2 * math.pi * r      # Comprimento: C = 2·π·r
A = math.pi * r**2       # Área: A = π·r²

# Saída dos resultados
print(f"Comprimento: {C:.4f}")
print(f"Área: {A:.4f}")

# Plotagem do círculo
theta = np.linspace(0, 2*math.pi, 200)
x = r * np.cos(theta)
y = r * np.sin(theta)

plt.plot(x, y, 'b-')
plt.gca().set_aspect('equal', 'box')
plt.title(f"Círculo de raio {r}")
plt.xlabel("x")
plt.ylabel("y")
plt.grid(True)
plt.show()

Exercícios relacionados