Hectare em Código
Sobre a Matemática
Hectare é a unidade de área (símbolo: ha) equivalente a 10.000m2.
A multiplicação por 10.000 representa a transformação de hectares para metros quadrados. Já a divisão por 10.000 representa o caminho inverso, de metros quadrados para hectares.
Sobre o Código
Na linguagem de programação Python,
from...import... – é a forma de importação seletiva. Permite trazer apenas partes específicas (classes, funções ou objetos) de um módulo ou biblioteca, evitando importar tudo e deixando o código mais organizado e legível.
pint – é a biblioteca para trabalhar com unidades físicas, dimensões e conversões automáticas.
UnitRegistry – é a classe responsável por registrar, armazenar e gerenciar todas as unidades de medida disponíveis.
UnitRegistry() – é o construtor da classe UnitRegistry; cria um registro ativo de unidades para uso no programa.
float() – é a função nativa que converte um valor para número decimal (ponto flutuante). É usada quando se precisa trabalhar com valores que podem ter casas decimais, como medidas, médias ou resultados de divisões.
input() – é a função nativa que lê dados digitados pelo usuário através do teclado. O valor retornado por input() é sempre do tipo texto (str), exigindo conversão para outros tipos quando necessário.
ureg – objeto do tipo UnitRegistry, usado como acesso central às unidades e conversões.
ureg.hectare – unidade de área definida na biblioteca, equivalente a 10.000 metros quadrados.
ureg.mete – unidade base de comprimento do Sistema Internacional (SI).
ureg.meter ** 2 – é a definição de metro quadrado (m²) como unidade de área, usando potência aplicada à unidade base.
f"..." (f-string) – é a forma de string formatada. Permite inserir valores de variáveis e expressões diretamente dentro do texto, usando chaves {}. A avaliação ocorre em tempo de execução, tornando o código mais legível, conciso e expressivo.
.to() – é o método de conversão que transforma uma quantidade de uma unidade para outra compatível.
.magnitude – é o atributo que retorna apenas o valor numérico, sem a unidade associada.
# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.
Vamos ao código…
from pint import UnitRegistry
ureg = UnitRegistry()
# Hectares para metros quadrados
hectares = float(input("Digite a área em hectares: "))
area_ha = hectares * ureg.hectare
area_m2 = area_ha.to(ureg.meter ** 2)
print(f"{hectares} ha equivalem a {area_m2.magnitude} m²")
# Metros quadrados para hectares
metros_quadrados = float(input("Digite a área em metros quadrados: "))
area_m2 = metros_quadrados * ureg.meter ** 2
area_ha = area_m2.to(ureg.hectare)
print(f"{metros_quadrados} m² equivalem a {area_ha.magnitude} ha")| Código Python (.py) | O que faz |
| from pint import UnitRegistry | Importa a classe UnitRegistry, responsável por gerenciar unidades de medida e conversões. |
| ureg = UnitRegistry() | Cria um registro de unidades (ureg) que será usado para acessar hectares, metros, etc. |
| hectares = float(input(“Digite a área em hectares: “)) | Solicita ao usuário um valor em hectares e converte a entrada para número decimal (float). |
| area_ha = hectares * ureg.hectare | Associa o valor numérico à unidade física hectare, criando uma quantidade com unidade. |
| area_m2 = area_ha.to(ureg.meter ** 2) | Converte a área de hectares para metros quadrados, aplicando a regra matemática correta. |
| print(f”{hectares} ha equivalem a {area_m2.magnitude} m²”) | Exibe o resultado formatado; .magnitude extrai apenas o valor numérico, e m² é mostrado manualmente. |
| metros_quadrados = float(input(“Digite a área em metros quadrados: “)) | Solicita ao usuário um valor em metros quadrados e converte para float. |
| area_m2 = metros_quadrados * ureg.meter ** 2 | Associa o valor numérico à unidade metro quadrado. |
| area_ha = area_m2.to(ureg.hectare) | Converte a área de metros quadrados para hectares. |
| print(f”{metros_quadrados} m² equivalem a {area_ha.magnitude} ha”) | Mostra o valor convertido para hectares, formatado de forma matemática. |
Saída do código (valor de retorno)…
2.5 ha equivalem a 25000.0 m² 26000.0 m² equivalem a 2.6 ha
Fonte:
- Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
- Códigos e comentários gerados por ChatGPT com revisão nossa.
- https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]