Ejercicios de Iniciación JavaScript 6
Aquí tenemos unos pocos ejercicios más para para practicar. Aprenderemos a trabajar con funciones
Ejercicios
1. Crea una función que devuelva el número PI con dos decimales. Utiliza la variable PI que ya existe en javascript
Solución
<body>
<script>
function devuelvePi(){
var devolver = (Math.PI).toFixed(2);
return devolver;
}
document.write(devuelvePi());
</script>
</body>
2. Crea una función que reciba un parámetro, un dni, y devuelva la letra del mismo. Si el dni pasado tiene algún error devolverá “”.
Solución
<body>
<script>
function letraDni(numero){
//String con las letras del dni
var letras = "TRWAGMYFPDXBNJZSQVHLCKE";
var letra = "";
//Si el número tiene 8 cifras
if((numero > 9999999) && (numero < 100000000)){
//El resto de dividir el número por 23 lo guardamos en indice
var indice = numero % 23;
//Ese indice coincide con la posición en el String
//La función charAt() coge el caracter de la posición indice
letra = letras.charAt(indice);
}
return letra;
}
var numero = Number(prompt("Introduce tu dni");
var letra = letraDni(numero);
if(letra != ""){
document.write("La letra es " +letra);
}
else{
document.write("Número erróneo");
}
</script>
</body>
3. Crea una función que reciba 2 parámetros, precio e iva, y devuelva el precio con iva incluido. Si no recibe el iva, aplicará el 21 por ciento por defecto.
Solución
<body>
<script>
function masIva(precio, iva){
iva = iva || 21
var coniva = (precio + precio*iva/100);
return coniva;
}
var precio = Number(prompt("Introduce un precio"));
var iva = Number(prompt("Introduce el iva"));
if(iva > 0){
var resultado = masIva(precio, iva);
}
else{
var resultado = masIva(precio);
}
document.write("Precio sin iva: " + precio);
document.write("<br>Precio más Iva: " + resultado);
</script>
</body>
4. Crea una función que reciba un texto y lo devuelva al revés
Solución
<body>
<script>
function voltear(texto){
var caracter = "";
var salida = "";
for(var i=0; i < texto.length; i++){
caracter = texto.charAt(i);
salida = caracter + salida;
}
return salida;
}
var texto = prompt("Introduce un texto");
var reves = voltear(texto);
document.write("Texto original: " + texto);
document.write("Texto al revés: " + reves);
</script>
</body>
5. Crea una función que genere número entero aleatorio entre min y max, que serán pasados como parámetros. Por defecto min = 1 y max = 100
Solución
<body>
<script>
function aleatorio(min,max){
var numero = Math.round((Math.random() * (max-min)) + min);
return numero;
}
var minimo = Number(prompt("Introduce el mínimo"));
var maximo = Number(prompt("Introduce el máximo"));
var resultado = aleatorio(minimo,maximo);
document.write(resultado);
</script>
</body>
6. Crea una función que genere 100 números aleatorios entre 1 y 1000 que no se repitan y luego muestralos por pantalla
Solución
<body>
<script>
//Función que genera un número aleatorio y lo devuelve
function aleatorio(min,max){
var numero = Math.round((Math.random() * (max-min)) + min);
return numero;
}
//Creamos un array
var numeros = new Array();
var temp = 0;
var copia = true;
var j = 0;
//Bucle que da 100 vueltas
for(var i=0; i<100; i++){
//En cada vuelta llama a la lunción aleatorio
//Y busca el número devuelto en el array
do{
j = 0;
copia = true;
temp = aleatorio(1,1000);
for(var j=0; j < numeros.length; j++){
if(temp == numeros[j]){
copia = false;
}
}
}while(copia == false);
numeros[i] = temp;
}
//La función sort ordena el array de números
numeros.sort(function(a,b){return a-b});
var cont = 0;
//Con un bucle escribe en pantalla los números
for(var i=0; i < numeros.length; i++){
document.write("Numero " + cont + ": " + numeros[i] + "<br>");
cont++;
}
</script>
</body>
Más ejercicios JavaScript
Más ejercicios JavaScript
Si te ha gustado no olvides compartir en redes sociales.
Espero que te haya servido. Cualquier duda deja un comentario. Un saludo