Já faz um tempo em que foi feito um experimento de física em uma escola da cidade para determinar a aceleração da gravidade. O experimento consistia em deixar cair uma bola, a partir do repouso, do alto de vários edifícios da cidade e medir o tempo até a bola atingir o solo. Foram realizadas 5 medições, conforme a tabela a seguir:
Altura
lançamento
bola
do
da
69
Tempo gasto para
atingir o solo
114
3.74
216
4.84
129
6.64
48
5.13
3.11
Faça um programa em Python para calcular a aceleração gravitacional g a partir da leitura dos dados da tabela e utilizando a fórmula:
onde y representa a distância percorrida pela bola e t o tempo gasto. Cada uma das 5 medições produzirá um
. O valor g deve ser a média aritmética dos valores g calculados para cada experimento.
|
|
|||||
| 69 |
|
|||||
| 114 | 3.74 | |||||
| 216 | 4.84 | |||||
| 129 | 6.64 | |||||
| 48 | 5.13 | |||||
| 3.11 |
Passo 1
O enunciado pede para escrever um programa em Python que calcule a aceleração gravitacional
a partir de 5 medições de altura
(em metros) e tempo
(em segundos), usando a fórmula
Cada medição gera um valor de
; o valor final pedido é a média aritmética dos cinco
calculados.
Eu peguei os dados da tabela enviada: os pares que extraí da tabela são, na ordem em que aparecem visualmente (expliquei a associação porque a tabela tem uma linha de cabeçalho no meio):
Eu peguei os dados da tabela enviada: os pares
Eu explico abaixo como transformar a fórmula e como implementar o cálculo no programa.
Passo 2
Isolar
na fórmula. A fórmula dada é
Para encontrar
a partir de
e
isolamos
. Multiplicando ambos os lados por
e dividindo por
temos
Aqui:
é a altura em metros,
é o tempo em segundos, e o resultado
fica em metros por segundo ao quadrado (
).
Passo 3
Explicação passo a passo do cálculo numérico para UMA medição (para você entender como fazer no papel):
- Escolhemos um par
. Por exemplo, o primeiro par que eu extraí é . - Calcule
: - Calcule
: - Calcule
:
Esse procedimento é o mesmo para cada par: calcular
, calcular
, dividir.
Passo 4
Cálculo dos cinco valores de
(apresento os resultados aproximados para cada par, usando a mesma fórmula):
- Para
: - Para
: - Para
: - Para
: - Para
:
Passo 5
Calcular a média aritmética dos cinco
. Se chamarmos os cinco valores de
, a média
é
Com os valores aproximados acima:
Repare que o valor experimental ficou diferente do valor teórico ~
; isso é normal em experimentos amadores por causa de erros de medição, resistência do ar, tempo de reação, etc.
Passo 6
Agora o programa em Python. Estratégia do código:
- Guardar as alturas e tempos em duas listas (mesma ordem).
- Para cada par usar a expressão
. - Calcular a lista de
e a média aritmética. - Imprimir os
individuais e a média com formatação.
Eu explico as partes do código:
- zip(heights, times): percorre simultaneamente as duas listas, retornando pares
. - List comprehension: cria lista de
s de forma compacta. - sum(gs)/len(gs): média aritmética.
- f-strings para imprimir com casas decimais (p.ex. {:.4f}).
Resposta
# Programa para calcular g a partir de 5 medições (y em m, t em s)
heights = [114, 216, 129, 48, 69] # alturas em metros (peguei esses valores da tabela)
times = [3.74, 4.84, 6.64, 5.13, 3.11] # tempos em segundos (peguei esses valores da tabela)
# calcula cada g pela fórmula g = 2*y / t^2
gs = [2*y / (t**2) for y, t in zip(heights, times)]
# média aritmética dos g
mean_g = sum(gs) / len(gs)
# imprime resultados
for i, (y, t, g) in enumerate(zip(heights, times, gs), start=1):
print(f"Medição {i}: y = {y} m, t = {t} s -> g = {g:.4f} m/s^2")
print(f"Média de g (aritmética) = {mean_g:.4f} m/s^2")