No momento, você está visualizando Escala Richter e Lógica Condicional: Programando a Energia liberada por terremotos

Escala Richter e Lógica Condicional: Programando a Energia liberada por terremotos

Como referenciar este texto: Escala Richter e Lógica Condicional: Programando a Energia liberada por terremotos’. Rodrigo Terra. Publicado em: 02/05/2025. Link da postagem: https://www.makerzine.com.br/educacao/escala-richter-e-logica-condicional-programando-a-energia-liberada-por-terremotos/.

Conteúdos que você verá nesta postagem

Objetivo do Código

Simular uma consulta interativa sobre a Escala Richter, onde o usuário informa o valor da magnitude de um terremoto, e o programa responde com a classificação correspondente, com base em critérios internacionais.

O que a escala Richter?

A Escala Richter é uma escala logarítmica desenvolvida em 1935 pelo sismólogo Charles F. Richter para medir a magnitude dos terremotos, ou seja, a quantidade de energia liberada no epicentro durante um abalo sísmico. Por ser logarítmica de base 10, cada incremento de 1 ponto na escala representa um terremoto com dez vezes mais amplitude de onda e aproximadamente 32 vezes mais energia liberada. Embora a escala não tenha um limite superior teórico, os maiores terremotos já registrados na história ficaram abaixo de magnitude 10. A Escala Richter revolucionou a forma como cientistas e engenheiros analisam tremores de terra, sendo um dos marcos no estudo da sismologia.

Estrutura Lógica Geral

O código é dividido em três partes principais, organizadas em funções:

 

1. exibir_introducao()

Esta função mostra uma explicação inicial sobre a Escala Richter:

  • Informa que é uma escala logarítmica de base 10;

  • Explica que seu objetivo é medir a energia liberada por terremotos;

  • Indica a faixa teórica da escala e a ausência de registros reais acima de magnitude 10.

Essa introdução aparece uma única vez, no início do programa.

 

2. classificar_magnitude(mag)

Recebe um valor decimal (mag) e retorna uma descrição textual com base em intervalos de magnitude. A lógica segue condições if/elif:

 

Intervalo de MagnitudeClassificação
< 2Microssismo — imperceptível
2 <= mag < 3Muito pequeno
3 <= mag < 4Pequeno
4 <= mag < 5Ligeiro
5 <= mag < 6Moderado
6 <= mag < 7Forte
7 <= mag < 8Grande
8 <= mag < 9Importante
9 <= mag < 10Excepcional
>= 10Extremo (nunca registrado)

Recursos de Programação Usados

RecursoDescrição
defDefine funções reutilizáveis
while TrueLaço infinito controlado por uma condição de saída
try/exceptCaptura erros de conversão de entrada (ex: texto → float)
input()Coleta dados do usuário
print()Exibe mensagens
.strip().lower()Limpa e padroniza a entrada do usuário para comparação

Benefícios da Lógica Usada

  • Fácil de manter e expandir: funções separadas facilitam melhorias.
  • Resilente a erros: evita falhas com entradas inválidas.
  • Didática: ideal para fins educacionais ou aprendizado de lógica condicional.

Código

				
					def exibir_introducao():
    print("\n" * 100)  # Simula 'limpar' a tela
    print("=" * 50)
    print("        ESCALA RICHTER - MAGNITUDE")
    print("=" * 50)
    print("A Escala Richter é uma escala logarítmica de base 10.")
    print("Ela foi desenvolvida para quantificar a energia liberada")
    print("por terremotos com base na amplitude das ondas sísmicas.")
    print("\nValores da escala:")
    print("- Vão de 0 até, teoricamente, infinito.")
    print("- Na prática, nunca foi registrada uma magnitude acima de 10.")
    print("=" * 50)

def classificar_magnitude(mag):
    if mag < 2:
        return "Microssismos — não perceptíveis por humanos (~8.000 por dia)."
    elif 2 <= mag < 3:
        return "Muito pequeno — geralmente não sentido, apenas detectado por sismógrafos (~1.000 por dia)."
    elif 3 <= mag < 4:
        return "Pequeno — frequentemente sentido, mas raramente causa danos (~49.000 por ano)."
    elif 4 <= mag < 5:
        return "Ligeiro — objetos internos tremem, mas danos significativos são improváveis (~6.200 por ano)."
    elif 5 <= mag < 6:
        return "Moderado — pode causar danos em construções fracas (~800 por ano)."
    elif 6 <= mag < 7:
        return "Forte — destrutivo em áreas até 160 km do epicentro (~120 por ano)."
    elif 7 <= mag < 8:
        return "Grande — pode causar danos graves em regiões extensas (~18 por ano)."
    elif 8 <= mag < 9:
        return "Importante — danos sérios num raio de centenas de km (~1 por ano)."
    elif 9 <= mag < 10:
        return "Excepcional — devasta áreas em um raio de milhares de km (~1 a cada 20 anos)."
    else:
        return "Extremo — nunca registrado na história; extremamente raro."

def main():
    exibir_introducao()
    while True:
        try:
            mag = float(input("\nDigite um valor para a magnitude: "))
            classificacao = classificar_magnitude(mag)
            print(f"\nClassificação: {classificacao}")
        except ValueError:
            print("Por favor, insira um número válido.")
            continue

        sair = input("\nDeseja fazer outra consulta? (S/N): ").strip().lower()
        if sair == "n":
            print("\nEncerrando o programa. Obrigado!")
            break

if __name__ == "__main__":
    main()

				
			

Saída

Se você acha que este conteúdo pode ser útil para alguém, compartilhe!

Ao divulgar os textos do MakerZine, você contribui para que todo o material continue acessível e gratuito para todas as pessoas.

Rodrigo Terra

Com formação inicial em Física, especialização em Ciências Educacionais com ênfase em Tecnologia Educacional e Docência, e graduação em Ciências de Dados, construí uma trajetória sólida que une educação, tecnologias ee inovação. Desde 2001, dedico-me ao campo educacional, e desde 2019, atuo também na área de ciência de dados, buscando sempre encontrar soluções focadas no desenvolvimento humano. Minha experiência combina um profundo conhecimento em educação com habilidades técnicas em dados e programação, permitindo-me criar soluções estratégicas e práticas. Com ampla vivência em análise de dados, definição de métricas e desenvolvimento de indicadores, acredito que a formação transdisciplinar é essencial para preparar indivíduos conscientes e capacitados para os desafios do mundo contemporâneo. Apaixonado por café e boas conversas, sou movido pela curiosidade e pela busca constante de novas ideias e perspectivas. Minha missão é contribuir para uma educação que inspire pensamento crítico, estimule a criatividade e promova a colaboração.

Deixe um comentário