Article image
Walisson Silva
Walisson Silva05/07/2024 13:12
Compartilhe

Desenvolvimento calculadora WEB

    ## Construção de uma Calculadora de IMC com HTML, CSS e JavaScript

    O Índice de Massa Corporal (IMC) é uma medida amplamente utilizada para avaliar se uma pessoa está em um peso saudável em relação à sua altura. Criar uma calculadora de IMC é uma excelente maneira de aprender e aplicar conceitos básicos de HTML, CSS e JavaScript. Este artigo detalha como construir essa ferramenta.

    ### Estrutura HTML

    O primeiro passo é criar a estrutura HTML da nossa calculadora. Usaremos elementos básicos como inputs para receber o peso e a altura do usuário, e um botão para calcular o IMC.

    ```html

    <!DOCTYPE html>

    <html lang="pt-BR">

    <head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Calculadora de IMC</title>

    <link rel="stylesheet" href="styles.css">

    </head>

    <body>

    <div class="container">

    <h1>Calculadora de IMC</h1>

    <form id="imcForm">

    <label for="peso">Peso (kg):</label>

    <input type="number" id="peso" name="peso" required>

    <label for="altura">Altura (m):</label>

    <input type="number" id="altura" name="altura" step="0.01" required>

    <button type="submit">Calcular IMC</button>

    </form>

    <div id="resultado"></div>

    </div>

    <script src="script.js"></script>

    </body>

    </html>

    ```

    ### Estilização com CSS

    Para tornar nossa calculadora visualmente agradável, aplicamos algumas regras de estilo com CSS. O CSS pode ser usado para centralizar o conteúdo, adicionar espaçamentos e estilizar os elementos de formulário.

    ```css

    body {

    font-family: Arial, sans-serif;

    background-color: #f0f0f0;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100vh;

    margin: 0;

    }

    .container {

    background-color: white;

    padding: 20px;

    border-radius: 10px;

    box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);

    text-align: center;

    }

    h1 {

    margin-bottom: 20px;

    }

    label {

    display: block;

    margin-top: 10px;

    }

    input {

    width: 100%;

    padding: 10px;

    margin-top: 5px;

    margin-bottom: 10px;

    border: 1px solid #ccc;

    border-radius: 5px;

    }

    button {

    padding: 10px 20px;

    border: none;

    border-radius: 5px;

    background-color: #28a745;

    color: white;

    cursor: pointer;

    }

    button:hover {

    background-color: #218838;

    }

    #resultado {

    margin-top: 20px;

    font-size: 1.2em;

    }

    ```

    ### Funcionalidade com JavaScript

    Agora, vamos adicionar a lógica para calcular o IMC usando JavaScript. Criaremos um script para pegar os valores de peso e altura, calcular o IMC e exibir o resultado.

    ```javascript

    document.getElementById('imcForm').addEventListener('submit', function(event) {

    event.preventDefault();

    const peso = parseFloat(document.getElementById('peso').value);

    const altura = parseFloat(document.getElementById('altura').value);

    if (isNaN(peso) || isNaN(altura) || peso <= 0 || altura <= 0) {

    document.getElementById('resultado').innerText = 'Por favor, insira valores válidos.';

    return;

    }

    const imc = peso / (altura * altura);

    let classificacao;

    if (imc < 18.5) {

    classificacao = 'Abaixo do peso';

    } else if (imc < 24.9) {

    classificacao = 'Peso normal';

    } else if (imc < 29.9) {

    classificacao = 'Sobrepeso';

    } else {

    classificacao = 'Obesidade';

    }

    document.getElementById('resultado').innerText = `Seu IMC é ${imc.toFixed(2)} (${classificacao}).`;

    });

    ```

    ### Conclusão

    Construir uma calculadora de IMC com HTML, CSS e JavaScript é uma excelente maneira de praticar habilidades básicas de desenvolvimento web. Este projeto abrange a criação de uma interface de usuário simples com HTML, a estilização com CSS e a implementação de lógica funcional com JavaScript. Com esses fundamentos, você pode expandir ainda mais suas habilidades e construir projetos web mais complexos.

    Compartilhe
    Comentários (0)