Calculadora Core: Herramienta Web con Operaciones Matemáticas
Calculadora Core
acumulador = 0;
operador = "";
const vaciar = () => {
document.getElementById("pantalla").value = "";
};
const rellenar = (y) => {
document.getElementById("pantalla").value = y;
};
const numero = () => Number(document.getElementById("pantalla").value);
const numeros = () => {
const t = document.getElementById("pantalla").value;
const st = t.split(",");
st.forEach(y => console.log(y));
};
/*const validar = () => {
if (Number.isNaN(numero())) {
document.getElementById = "Error";
rellenar("Error");
return false;
} else {
return true;
}
};*/
const validar = (content) => {
if (content.includes(",")) {
let lista = content.split(",");
return lista.every((elem) => { return validar(elem); });
} else {
let mal = isNaN(content);
if (mal) {
document.getElementById("pantalla").value = "Error";
}
return !isNaN(content);
}
};
const cuadrado = () => {
/*if (!validar()) {
return;
}*/
let num = document.getElementById("pantalla");
if (validar(num.value)) {
num.value = num.value * num.value;
rellenar_info();
}
};
const mod = () => {
let num = document.getElementById("pantalla");
if (validar(num.value)) {
num.value = Math.abs(num.value);
rellenar_info();
}
};
const fact = () => {
let num = document.getElementById("pantalla");
if (validar(num.value)) {
/*let res = 0;
if (num.value < 0) {
res = 1;
} else {*/
if (num.value >= 1) {
for (i = (num.value - 1); i > 1; i--)
num.value = num.value * i;
} else
num.value = 1;
rellenar_info();
/* let res = 1;
for (i = 1; i <= num.value; i++)
res *= i;
document.getElementById("pantalla").value = res;
rellenar_info();
} */
}
};
const add = () => {
acumulador = document.getElementById("pantalla").value;
if (validar(acumulador)) {
operador = "+";
vaciar();
}
};
const resta = () => {
acumulador = document.getElementById("pantalla").value;
if (validar(acumulador)) {
operador = "-";
vaciar();
}
};
const mul = () => {
acumulador = document.getElementById("pantalla").value;
if (validar(acumulador)) {
operador = "*";
vaciar();
}
};
const division = () => {
acumulador = document.getElementById("pantalla").value;
if (validar(acumulador)) {
operador = "/";
vaciar();
}
};
const resto = () => {
acumulador = document.getElementById("pantalla").value;
if (validar(acumulador)) {
operador = "%";
vaciar();
}
};
const potencia = () => {
acumulador = document.getElementById("pantalla").value;
operador = "^";
vaciar();
};
const eq = () => {
num = document.getElementById("pantalla");
if (validar(num.value)) {
switch (operador) {
case "+":
num.value = Number(num.value) + Number(acumulador);
/*parseInt es igual que poner Number*/
break;
case "*":
num.value = num.value * acumulador;
break;
case "-":
num.value = acumulador - num.value;
break;
case "/":
num.value = acumulador / num.value;
break;
case "%":
num.value = acumulador % num.value;
break;
case "^":
num.value = Math.pow(acumulador, num.value);
break;
}
rellenar_info();
acumulador = 0;
operador = "";
}
};
const sumatorio = () => {
let num = document.getElementById("pantalla");
let list = num.value.split(",");
let i = 0, acc = 0;
if (validar(num.value)) {
while (i < list.length) acc += +list[i++];
num.value = acc;
rellenar_info();
}
};
const ordenar = () => {
let num = document.getElementById("pantalla");
let list = num.value.split(",");
if (validar(num.value)) {
let res = list.sort(function compareNumbers(a, b) { return a - b; });
num.value = res.join(",");
}
};
const revertir = () => {
let num = document.getElementById("pantalla");
let list = num.value.split(",");
if (validar(num.value)) {
list.reverse();
num.value = list.join(",");
}
};
const quitar = () => {
let num = document.getElementById("pantalla");
if (validar(num.value)) {
let list = num.value.split(",");
list.pop();
num.value = list.join(",");
}
};
/*const validar = () => {
if (Number.isNaN(numero()));
rellenar("Error");
return false;
} else {
return true;
}*/
/* porque el .value en mul y en add y en los otros no, no seria igual que poner acumulador.value */
const rellenar_info = () => {
let num_input_texto = document.getElementById("pantalla");
let n = Number(num_input_texto.value);
let ie = document.getElementById("info");
if (Number.isNaN(n)) {
ie.innerHTML = "Info: No son números";
} else if (n < 100) {
ie.innerHTML = "Info: El resultado es menor que 100";
} else if (n < 200) {
ie.innerHTML = "Info: El resultado está entre 100 y 200";
} else {
ie.innerHTML = "Info: El resultado es superior a 200";
}
};
Calculadora Core
Número:
Info sobre el número
Operaciones unitarias
x2 Mod n!
Operaciones binarias
+ / ^ % =
Operaciones en formato CSV
Σx ordenar revertir quitar