Foros aprenderaprogramar.com
Aprender a programar => C, C++, C#, Java, Visual Basic, HTML, PHP, CSS, Javascript, Ajax, Joomla, MySql y más => Mensaje iniciado por: DRANXZ88 en 05 de Septiembre 2019, 17:03
-
Propuesta de ejercicio resuelto para el ejercicio CU01156E del curso de programación web JavaScript de aprenderaprogramar
EJERCICIO
Crea un script donde:
a) Se pida al usuario que introduzca un número superior a 10000000 y se muestre por pantalla ese número con tres dígitos significativos. Si el número introducido no cumple la condición, se volverá a solicitar que se introduzca.
b) Se pida al usuario que introzca un número con 4 decimales y se muestre por pantalla ese número redondeado a dos decimales. Si el número introducido no cumple la condición, se volverá a solicitar que se introduzca (para ello habrá que analizar que la cadena introducida cuente con cuatro dígitos después del carácter de punto decimal).
c) Se pida al usuario que introduzca una frase que comience por un número que puede ser entero o decimal. Para dicha frase, se devolverá el número entero que se pueda extraer, y el número decimal que se pueda extraer. Deberá analizarse la entrada con una expresión regular, de modo que si no cumple la condición, se vuelva a solicitar la introducción de la frase.
CÓDIGO HTML
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<title>Codificación aprenderaprogramar.com: CU01156E</title>
</head>
<body>
<h1>Click para agregar datos</h1>
<button onclick="calcularIngresado()">Ejecutar</button>
<script src="js/funciones56.js" type="text/javascript"></script>
</body>
</html>
CÓDIGO JAVASCRIPT
var numeroIngresado;
var decimalIngresado;
var fraseIngresado;
function calcularIngresado() {
calcularDigitoSingificativo();
}
function calcularDigitoSingificativo() {
do {
numeroIngresado = prompt("Introduzca un número superior a 10000000", "");
if (validarNumero(numeroIngresado)) {
//alert("numero es valido");
if (Number(numeroIngresado) < 10000000) {
alert("El número es igual o inferior a 10000000");
valor = false;
} else {
alert("El número con tres digitos significativos es " + Number(numeroIngresado).toPrecision(3));
valor = true;
redondearDecimal();
}
} else {
alert("Datos ingresdos no es número valido");
valor = false;
}
} while (valor == false);
}
function redondearDecimal() {
do {
decimalIngresado = prompt("Introduzca un número con 4 decimal", "");
if (validarDecimal(decimalIngresado)) {
alert("El número redondeado a dos decimales es " + Number(decimalIngresado).toFixed(2));
valor = true;
extrarNumero();
} else {
alert("El numeró ingresado tiene menor o mayor que 4 decimales");
valor = false;
}
} while (valor == false);
}
function extrarNumero() {
do {
fraseIngresado = prompt("Introduzca una frase que comience por un número que puede ser entero o decimal", "");
if (validarFrase(fraseIngresado)) {
alert("El número extraidos es " + parseInt(fraseIngresado));
valor = true;
} else {
alert("La frase ingresada no contiene número al principio");
valor = false;
}
} while (valor == false);
}
function validarNumero(numeroIngresado) {
var expReg = /^[0-9]+$/;
if (!expReg.test(numeroIngresado)) {
return false;
} else {
return true;
}
}
function validarDecimal(numeroDecimal) {
var expReg = /^\d+\.\d{4,4}$/;
if (!expReg.test(numeroDecimal)) {
return false;
} else {
return true;
}
}
function validarFrase(frase) {
var expReg = /^[0-9]/;
if (!expReg.test(frase)) {
return false;
} else {
return true;
}
}
-
Buenas, para quien revise esto, el ejercicio está bien resuelto. Salu2