março 25, 2026

Medidas para Lenha em Código

Por admin

Sobre a Matemática

Na medição da lenha, usa-se o metro cúbico, com a designação de estéreo.

O estéreo é a unidade autorizada para o volume de lenha. O quadro seguinte encerra esta unidade com seus múltiplos e sunmúltiplos, mais usados e símbolos correspondentes.

NomeSímbolosValores
decastéreodast10 st ou 10 m3
estéreost1st ou 1 m3
decistéreodst0,1 st ou 0,1 m3

Sobre o Código

Na linguagem de programação Python,

from – é a palavra-chave usada para importar módulos ou partes específicas de um módulo.

dataclasses – é o módulo da biblioteca padrão que fornece o decorador @dataclass para simplificar a criação de classes de dados.

import – é a palavra-chave usada para trazer módulos ou funções externas para o código.

dataclass – é o decorador que transforma uma classe comum em uma dataclass, gerando automaticamente métodos como __init____repr__ e __eq__.

decorador – é a função especial que modifica o comportamento de outra função ou classe, aplicada com @.

classe – é a estrutura que define objetos, agrupando atributos (dados) e métodos (funções).

métodos – são funções definidas dentro de uma classe que descrevem comportamentos dos objetos.

dicionário – é a estrutura de dados que armazena pares chave-valor, como { “chave”: “valor” }.

str – é o tipo de dado que representa texto (string).

float – é o tipo de dado que representa números decimais (ponto flutuante).

def – é a palavra-chave usada para definir uma função.

docstring – é o texto entre aspas triplas dentro de funções ou classes que serve como documentação explicativa.

if: – é a estrutura condicional que executa código apenas se a condição for verdadeira.

not in – é o operador que verifica se um elemento não está presente em uma coleção (lista, dicionário, etc.).

or – é o operador lógico que retorna verdadeiro se pelo menos uma das condições for verdadeira.

raise – é a palavra-chave usada para lançar (gerar) uma exceção/erro.

ValueError() – é o tipo de exceção que indica que um valor fornecido é inválido ou incorreto.

return – é a palavra-chave usada em funções para devolver um resultado.

print() – é a função que exibe informações na saída padrão (normalmente no console).

# – é 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 dataclasses import dataclass

@dataclass
class UnidadeLenha:
    nome: str
    simbolo: str
    valor_em_m3: float

# Definição das unidades
unidades = {
    "dast": UnidadeLenha("decastéreo", "dast", 10.0),
    "st": UnidadeLenha("estéreo", "st", 1.0),
    "dst": UnidadeLenha("decistéreo", "dst", 0.1),
}

def converter(valor: float, de: str, para: str) -> float:
    """Converte entre unidades de lenha (estéreo e m³)."""
    if de not in unidades or para not in unidades:
        raise ValueError("Unidade inválida. Use: 'dast', 'st', 'dst'.")
    valor_m3 = valor * unidades[de].valor_em_m3
    return valor_m3 / unidades[para].valor_em_m3
Código Python (.py)O que faz
from dataclasses import dataclassImporta o decorador dataclass, que facilita a criação de classes simples para armazenar dados sem precisar escrever muito código repetitivo.
@dataclassIndica que a classe logo abaixo será uma dataclass, ou seja, o Python automaticamente cria métodos como __init____repr__, etc.
class UnidadeLenha:Define uma classe chamada UnidadeLenha que representará uma unidade de medida da lenha.
nome: strDeclara que o atributo nome da classe será uma string (ex.: “decastéreo”).
simbolo: strDeclara que o atributo simbolo da classe será uma string (ex.: “dast”).
valor_em_m3: floatDeclara que o atributo valor_em_m3 será um número decimal (float), representando o valor equivalente em metros cúbicos.
unidades = { … }Cria um dicionário chamado unidades que guarda as diferentes unidades de lenha, associando o símbolo (dast, st, dst) ao objeto UnidadeLenha correspondente.
“dast”: UnidadeLenha(“decastéreo”, “dast”, 10.0)Define que o símbolo dast corresponde a 10 metros cúbicos.
“st”: UnidadeLenha(“estéreo”, “st”, 1.0)Define que o símbolo st corresponde a 1 metro cúbico.
“dst”: UnidadeLenha(“decistéreo”, “dst”, 0.1)Define que o símbolo dst corresponde a 0,1 metro cúbico.
def converter(valor: float, de: str, para: str) -> float:Cria uma função chamada converter que recebe um valor numérico e converte de uma unidade para outra.
if de not in unidades or para not in unidades:Verifica se as unidades fornecidas existem no dicionário unidades.
raise ValueError(“Unidade inválida…”)Se a unidade não existir, lança um erro informando que a unidade é inválida.
valor_m3 = valor * unidades[de].valor_em_m3Converte o valor da unidade de origem para metros cúbicos.
return valor_m3 / unidades[para].valor_em_m3Converte o valor em metros cúbicos para a unidade de destino e retorna o resultado.
# Exemplos de uso
print("5 estéreo em decistéreo:", converter(5, "st", "dst"))
print("2 decastéreo em estéreo:", converter(2, "dast", "st"))
print("10 decistéreo em m³:", converter(10, "dst", "st"))
Código Python (.py)O que faz
print(“5 estéreo em decistéreo:”, converter(5, “st”, “dst”))Exemplo de uso: converte 5 estéreo em decistéreo e imprime o resultado.
print(“2 decastéreo em estéreo:”, converter(2, “dast”, “st”))Exemplo de uso: converte 2 decastéreo em estéreo e imprime o resultado.
print(“10 decistéreo em m³:”, converter(10, “dst”, “st”))Exemplo de uso: converte 10 decistéreo em estéreo (m³) e imprime o resultado.

Saída do código (valor de retorno)…

5 estéreo em decistéreo: 50.0
2 decastéreo em estéreo: 20.0
10 decistéreo em m³: 1.0

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 Microsoft Copilot com revisão nossa.
– https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]