Le pregunte al profesor que me diera unas nociones y me dijo lo siguiente:
La secuencia del programa podría ser algo así:
________________________________________
Definimos las variables para la suma, el contador y la salida del bucle. - Mientras una variable x sea 0 permanecemos en el siguiente bucle:
bucle:
Preguntamos sobre el número
Miramos a ver si existe una respuesta
Si existe la respuesta: Analizamos si la respuesta es letra
Si la respuesta es letra sólo hacemos que se muestre el mensaje correspondiente
Si no es letra convertimos el carácter numérico en numero (parseInt) y sumamos la cantidad e incrementamos el contador de números introducidos Si no existe respuesta:
Analizamos si el contador de números introducidos es >0
Si es mayor de 0 Presentamos la media y ponemos la variable x a 1 para salir del while
Si no es mayor de 0 mostramos la alerta de que no se han introducido números.
Cerramos el bucle
________________________________________
• Para realizar bien el ejercicio y distinguir cuando se introduce letra o número sería conveniente utilizar, como tu mismo bien indicas, la función isNaN(valor), que nos devolverá cierto si es un letra y falso si es un número.
• Para realizar el bucle, como también has comentado, utilizaremos la sentencia while.
El diseño de esta práctica se salta un poquito el orden lógico del libro, las demás, más o menos, van más acorde con los contenidos de los capítulos, por eso te lo comento. la estructura while la verás en el punto 3.2.1 (pág. 37). Te aconsejo que utilices while y no do..while, aunque se puede hacer con ambos.
Es un poco más difícil encontrar la función isNaN, así que te diré los números de página, la verás en la página 67 y un ejemplo en la 146.
Una aclaración respecto a prompt:
prompt nos devuelve una cadena de caracteres. La cadena de caracteres puede ser de tipo numérico o letras y símbolos. Un carácter numérico no es un número con el que podamos operar. Para detectar si el tipo de carácter es numérico usaremos isNaN, y si lo es y necesitamos convertirlo en número, la manera más fácil es usar parseInt.
Yo he empezado el codigo por la mitad, es decir, por lo escrito en verde, pero no se como hacer la suma del nuevo numero mas los numeros que se encuentren almacenados en el bucle, ademas para el incremento no se si lo suyo seria colocar algo asi: 1++ para que se incremente cada vez que el bucle vuelve.
Este es el codigo que llevo: Código HTML:
<html>
<head></head>
<body>
<script language="javascript">
var numero;
numero=prompt("Introduce un valor entero y pulsa aceptar o pulsa cancelar para ver la media","");
if(isNaN(numero)) {
alert("Has de introducir un numero en el campo");
}
else
{parseInt(numero);
}
</script>
</body></html>
Un saludo y gracias por las ayudas.