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:
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
Postar um comentário
Obrigado pelo seu feedback!