Pular para o conteúdo principal

Calculadora Regra de Três - HTML, CSS e JavaScript - Tutorial

Calculadora Regra de Três

Calculadora de Regra de Três simples:

Funcionalidades:

Seleção de Proporção (Direta ou Inversa):

O utilizador pode escolher entre dois tipos de proporção: 

Diretamente Proporcional: Quando o valor de uma variável aumenta, a outra também aumenta. 

Inversamente Proporcional: Quando o valor de uma variável aumenta, a outra diminui. 

O cálculo é adaptado conforme o tipo selecionado.

Cálculo Automático:

Após inserir os valores de A, B e C, e escolher o tipo de proporção, o utilizador clica no botão Calcular.

O valor de X é calculado e exibido no campo correspondente e na secção de resultado.

Proporção Direta usa a fórmula: A/B = C/X.

Proporção Inversa usa a fórmula: A * X = B * C.

Botão "Reiniciar":

O botão Reiniciar permite limpar todos os campos (A, B, C, X) e resetar o resultado sem a necessidade de recarregar a página.

O tipo de proporção também é redefinido para "Diretamente Proporcional" por padrão.

Interface Intuitiva e Responsiva:

A interface é simples, com campos bem organizados e setas que indicam claramente a relação entre os valores (A → B e C → X).

O layout é responsivo, garantindo boa usabilidade tanto em dispositivos móveis quanto em desktops.

Usabilidade:

O utilizador pode facilmente alternar entre proporções, calcular o valor de X e reiniciar para novos cálculos de forma eficiente, sem precisar recarregar a página.

Veja a Calculadora de Regra de Três em funcionamento neste link. Calculadora de Regra de Três.

Veja o vídeo no YouTube:


Começando o Tutorial:

1° Passo: Abra seu VS Code, ou qualquer IDE da sua preferência e crie três pastas com os nomes... index.html, style.css e script.js.

Logo em seguida copie o código html abaixo e cole na pasta "index.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 Regra de Três</title>

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

</head>

<body>

    <div class="container">

        <h1>Calculadora de Regra de Três</h1>

        <!-- Selecionar o tipo de proporção -->

        <div class="input-group">

            <label for="tipo">Tipo de Proporção:</label>

            <select id="tipo">

                <option value="direta">Diretamente Proporcional</option>

                <option value="inversa">Inversamente Proporcional</option>

            </select>

        </div>

        <!-- Parte superior: A -> B -->

        <div class="linha">

            <input type="number" id="a" placeholder="A" required>

            <p></p>

            <input type="number" id="b" placeholder="B" required>

        </div>

        <!-- Parte inferior: C -> X -->

        <div class="linha">

            <input type="number" id="c" placeholder="C" required>

            <p></p>

            <input type="text" id="x" placeholder="X" disabled>

        </div>

        <button type="button" onclick="calcular()">Calcular</button>

        <button type="button" onclick="reiniciar()" class="btn-reset">Reiniciar</button>

        <div class="resultado">

            <p>O valor de <strong>X</strong> é: <span id="resultado">?</span></p>

        </div>

    </div>

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

</body>

</html>

2° Passo: Copie o código abaixo e cole na pasta "style.css".



body {

    font-family: 'Helvetica Neue', sans-serif;

    background-color: #f0f4f8;

    display: flex;

    justify-content: center;

    align-items: center;

    height: 100vh;

    margin: 0;

}

.container {

    background-color: #ffffff;

    padding: 30px;

    border-radius: 15px;

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

    max-width: 400px;

    width: 100%;

    text-align: center;

    border: 1px solid #e0e0e0;

}

h1 {

    color: #333;

    font-size: 24px;

    margin-bottom: 20px;

}

.input-group {

    margin-bottom: 15px;

}

label {

    font-size: 16px;

    margin-right: 10px;

}

select {

    padding: 8px;

    border-radius: 5px;

    border: 1px solid #ccc;

}

.linha {

    display: flex;

    justify-content: center;

    align-items: center;

    gap: 10px;

    margin-bottom: 15px;

}

.linha p {

    font-size: 24px;

    color: #666;

}

input[type="number"], input[type="text"] {

    width: 80px;

    padding: 12px;

    border: 1px solid #ccc;

    border-radius: 5px;

    text-align: center;

    font-size: 16px;

}

input[type="text"]:disabled {

    background-color: #f7f7f7;

}

button {

    width: 100%;

    padding: 12px;

    background-color: #4a90e2;

    color: white;

    border: none;

    border-radius: 8px;

    font-size: 16px;

    cursor: pointer;

    margin-top: 10px;

}

button:hover {

    background-color: #357ABD;

}

/* Estilo especial para o botão de Reiniciar */

.btn-reset {

    background-color: #e74c3c;

}

.btn-reset:hover {

    background-color: #c0392b;

}

.resultado {

    margin-top: 20px;

    font-size: 18px;

}

#resultado {

    font-weight: bold;

    font-size: 24px;

    color: #4a90e2;

}

        

3° Passo: Copie o código abaixo e cole na pasta "script.js".



function calcular() {

 const a = parseFloat(document

  .getElementById("a").value);

 const b = parseFloat(document

  .getElementById("b").value);

 const c = parseFloat(document

  .getElementById("c").value);

 const tipo = document.getElementById(

   "tipo")

  .value; // Obter o tipo de proporção

 if (!a || !b || !c) {

  alert(

   "Por favor, preencha todos os campos com valores válidos."

  );

  return;

 }

 let x;

 // Verificar o tipo de proporção e realizar o cálculo

 if (tipo === "direta") {

  // Regra de três simples diretamente proporcional: A/B = C/X

  x = (b * c) / a;

 } else if (tipo === "inversa") {

  // Regra de três simples inversamente proporcional: A * X = B * C

  x = (a * b) / c;

 }

 document.getElementById("x").value = x

  .toFixed(2);

 document.getElementById("resultado")

  .innerText = x.toFixed(2);

}

function reiniciar() {

 // Limpar todos os campos

 document.getElementById("a").value =

  '';

 document.getElementById("b").value =

  '';

 document.getElementById("c").value =

  '';

 document.getElementById("x").value =

  '';

 document.getElementById("resultado")

  .innerText = '?';

 // Resetar o tipo de proporção para o padrão

 document.getElementById("tipo")

  .value = 'direta';

}

        
4° Passo: Testar o Projeto!

Agora, com os três arquivos (index.html, style.css, e script.js) criados, você pode abrir o index.html no seu navegador e ver seu projeto funcionando perfeitamente!

Se preferir os códigos estão no meu Repositório no GitHub.

Comentários

Mais vistas

Autocode - Significado e Funcionalidade

O Que é Autocode? O Autocode foi uma das primeiras linguagens de programação de computador, desenvolvida em 1952 por Alick Glennie para o computador Mark 1 na Universidade

Semáforo - HTML, CSS e JavaScript - Tutorial

Semáforo Funcional: Aprenda a criar um semáforo funcional com este tutorial detalhado. Descubra como implementar a lógica de controle de um semáforo usando HTML, CSS e JavaScript.

UI vs UX - Diferenças

Entendendo as diferenças entre UI e  Ux: Quando se trata de design de produtos digitais, os termos UI e UX são frequentemente usados juntos, mas representam conceitos distintos. Embora