Ejercicios de JavaScript - Parte 2
Ejercicios del capítulo 11 al 20
En esta página tienes numeradas todas las soluciones a los ejercicios realizados durante todo el curso. Si te quedan dudas o tienes un resultado diferente, déjame un comentario, ya que a veces, un ejercicio puede tener muchas posibles soluciones.
Soluciones de ejercicios JavaScript - Página 2
- He creado un array con cinco colores cualquiera. No son el color en sí, solo son palabras almacenadas en un string dentro de un array.
- Aquí se pide que se almacene en otra variable el valor del tercer elemento, el tercer elemento, se corresponde a la posición
2
(0, 1, --> 2 <--). - Según lo que te he enseñado en el capítulo, hay dos posibles soluciones, con y sin
charAt()
. - He concatenado en una primera variable dos strings, he creado una segunda variable con un string y he formado una frase en el orden indicado en el ejercicio en una tercera variable a la cual muestro su valor por consola.
- Simplemente hay que llamar a las posiciones del array en el orden correcto. Además, hay que ir añadiendo espacios para separar las palabras.
- Los espacios que he marcado en amarillo son orientativos, puede que tu solución tenga los espacios delante o detrás de cada string. Lo importante es que quede la frase concatenada correctamente y las palabras separadas.
- Concatenar números es fácil, lo hacemos concatenando como si fuese un texto.
- Seguimos teniendo tres strings en la declaración de las variables, pero se transforman a
number
solo en la variablesumaNumeros
con lo que se puede realizar la suma. - En este caso, solo tienes que crear una nueva variable con algo como
"El resultado es: "
y a continuación concatenar el valor desumaNumeros
para mostrarlo. - Tan fácil como llamar a la variable
numero
y utilizar el operador de asignación de incremento. - En programación hay caminos diferentes para hacer lo mismo, si tu solución es diferente, déjame un comentario si tienes alguna duda. Lo que está claro es que te tiene que dar un resultado de
16
, el camino es el que puede variar. - Utilizando el operador de exponenciación podemos simplificar operaciones como estas. El resultado es el mismo en ambos casos y solo necesitamos dos números y un operador. En el ejemplo del enunciado cinco números y cuatro operadores de multiplicación.
- En mi caso he realizado la operación almacenando los números en variables. Si has realizado la operación con una sola variable, está totalmente correcto. En este ejercicio lo único que tienes que utilizar es el operador módulo para que te devuelva el resto de la división.
- Posibles soluciones: menor qué (
<
), menor o igual qué (<=
) o diferente qué (!=
). - Posibles soluciones: menor qué (
<
), diferente qué (!=
) o mayor qué (>
). - Posibles soluciones: igual qué (
==
), menor o igual qué (<=
) o mayor o igual qué (<=
). - Una de muchas posibles soluciones podría ser numero1 = 5 y numero2 = 10. Con esto, no se cumpliría la condición del operador mayor o igual qué y nos devolvería false. Cualquier solución en la que el valor de numero1 sea inferior o igual a numero2 devolverá false (hablando de números, si pongo, por ejemplo un string, daría false también. Eso ya es otro tema).
- Las soluciones correctas son todas aquellas en las que numero1 y numero2 contienen valores diferentes.
- Cualquier número que sea mayor o igual a
50
es correcto, ejecuta el bloqueif
. - Aquí son correctos cualquier valor excepto el número
50
. - Hay muchas posibles soluciones. Una de ellas
numero1 = 2 * numero2 = 5
. El resultado es10
, por lo que se cumple la condición delif
, menor o igual qué. - En la primera línea falta el punto y coma. He aprovechado que seguramente tenías la atención sobre el
if else
. La condición delif
debe ir entre paréntesis. Por último, falta la llave de cierre delif
. - Solo debes tener una variable donde almacenar la edad gracias a un
prompt()
. - Con la condición mayor o igual que
18
contemplamos todas las edades iguales a 18 o superiores. En caso contrario, se ejecuta elelse
.
Pese a que se devuelve unstring
con elprompt()
, no es necesario en este ejercicio transformarlo anumber
, JavaScript entiende lo que quieres hacer. - El
alert()
devuelvefalse
, ya que aunquenumero1
tiene un valor igual que10
,numero2
no es igual anumero1
y puesto que hay un operador&&
(and), da un valor defalse
. - El
alert()
devuelvetrue
.numero1
es igual a10
y aunquenumero2
no es igual anumero1
, puesto que he puesto un||
(OR), basta con que se cumpla al menos una condición. - El
alert()
devuelvetrue
.numero1
es igual a10
onumero2
igual anumero1
ynumero1
igual anumero3
. Se cumple una de las condiciones del OR, la del AND no se cumple pero viene precedida del OR, es decir, es una parte de la comparación con OR. - Esta vez nos da un
false
.numero1
es igual a10
peronumero2
no es igual a10
(5*2). - Este ejercicio da
true
. Se utiliza el operador de negación!
(not) diciendo quenumero1
no es diferente a10
(quiere decir que es igual a 10) y quenumero3
es igual a10
. - Nos da
false
.numero1
no es diferente a10
.numero3
si es igual a10
(5*2) pero puesto que la comparación va con un AND, si no se cumplen las dos condiciones, dafalse
. - En este condicional se le pide al usuario que introduzca uno de los colores indicados. Se añade a cada condición la posibilidad de que el color que introduzca el usuario se encuentre escrito o todo en minúsculas, todo en mayúsculas o solo la primera en mayúscula. No es un sistema perfecto. Lo iremos mejorando en el futuro. Si lo que introduce el usuario no es ninguno de los colores proporcionados se le indica gracias al
else
. - En este caso, el ejercicio era similar. Se plantea como un mini juego. El usuario escribe un color para intentar acertarlo. Si no está contemplado en el
if
, le dice elelse
que ha perdido.
Capítulo 11
let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
let guardaColor = colores[2];
Solución 1
let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
console.log(colores[0][0]);
Solución 2
let colores = ["verde", "rojo", "azul", "amarillo", "naranja"];
console.log(colores[0].charAt(0));
En ambos casos, devuelve la v
en el navegador. Por supuesto, en tu array será diferente, según los colores que hayas escrito. La v
se corresponde a la primera letra del primer elemento (verde, posición 0, carácter 0 (v)).
v
Capítulo 12
let nombre = "Programación" + " Fácil.";
let saludo = "Os doy la bienvenida a ";
let fraseCompleta = saludo + nombre;
console.log(fraseCompleta);
Os doy la bienvenida a Programación Fácil.
let frase = ["posiciones", "se cuentan", "Las", "array", "cero.", "a partir", "del"];
let concatenaFrase = frase[2] + " " + frase[0] + " " + frase[6]
+ " " + frase[3] + " " + frase[1] + " " + frase[5] + " " +
frase[6] + " " + frase[4];
console.log(concatenaFrase);
Las posiciones del array se cuentan a partir del cero.
let frase = "JavaScript " + "es un lenguaje" + " esencial para crear" + " sitios web poderosos.";
console.log(frase);
JavaScript es un lenguaje esencial para crear sitios web poderosos.
Capítulo 13
let numeroString1 = "10";
let numeroString2 = "20";
let numeroString3 = "30";
let concatenaNumeros = numeroString1 + numeroString2 + numeroString3;
console.log(concatenaNumeros);
102030
let numeroString1 = "10";
let numeroString2 = "20";
let numeroString3 = "30";
let sumaNumeros = Number(numeroString1) + Number(numeroString2) + Number(numeroString3);
console.log(concatenaNumeros);
60
let numeroString1 = "10";
let numeroString2 = "20";
let numeroString3 = "30";
let sumaNumeros = Number(numeroString1) + Number(numeroString2) + Number(numeroString3);
let resultado = "El resultado es: " + sumaNumeros;
console.log(resultado);
El resultado es: 60
Capítulo 14
let numero = 12;
numero += 5;
console.log(numero);
17
let numero = 12;
numero += 5;
numero--;
console.log(numero);
16
let multiplicacion = 10**5;
console.log(numero);
100000
let numero1 = 57409;
let numero2 = 16789;
let calculaResto = numero1 % numero2;
console.log(calculaResto);
7042
Capítulo 15
Capítulo 16
let numero1 = 17;
if (numero1 != 10) {
alert("Se ejecuta el if");
}else {
alert("Has fallado, sigue intentándolo.");
}
Capítulo 17
let edad;
edad = prompt("Introduce tu edad");
let edad;
edad = prompt("Introduce tu edad");
if (edad >= 18){
alert("Puedes entrar, eres mayor de edad.");
} else {
alert("No puedes entrar, eres menor de edad.");
}
Por si lo hiciste con la conversión de string
a number
, este sería un posible resultado.
let edad;
edad = prompt("Introduce tu edad");
edad = Number(edad);
if (edad >= 18){
alert("Puedes entrar, eres mayor de edad.");
} else {
alert("No puedes entrar, eres menor de edad.");
}
También podrías convertir a number
directamente el prompt()
, ahorrando una línea:
let edad;
edad = Number((prompt("Introduce tu edad")));
if (edad >= 18){
alert("Puedes entrar, eres mayor de edad.");
} else {
alert("No puedes entrar, eres menor de edad.");
}
Capítulo 18
Este capítulo no tiene ejercicios.
Capítulo 19
Capítulo 20
let color = prompt("Elige y escribe uno de los siguientes colores: rojo, azul, amarillo, verde, rosa y negro.");
if (color == "rojo" || color == "ROJO" || color == "Rojo"){
alert("Has elegido el color rojo.");
}
else if (color == "azul" || color == "AZUL" || color == "Azul"){
alert("Has elegido el color azul.");
}
else if (color == "amarillo" || color == "AMARILLO" || color == "Amarillo"){
alert("Has elegido el color amarillo.");
}
else if (color == "verde" || color == "VERDE" || color == "Verde"){
alert("Has elegido el color verde.");
}
else if (color == "rosa" || color == "ROSA" || color == "Rosa"){
alert("Has elegido el color rosa.");
}
else if (color == "negro" || color == "NEGRO" || color == "Negro"){
alert("Has elegido el color negro.");
}
else{
alert("¡No has elegido ningún color de la lista!");
}
let color = prompt("Elige un color y acierta.");
if (color == "rojo" || color == "azul" || color == "amarillo" || color == "verde" || color == "rosa" || color == "negro"){
alert("Has elegido un color de la lista. ¡Has ganado!");
} else {
alert("El color no está en la lista. Has perdido");
}
Comentarios
Si te quedan dudas sobre el temario, sobre JavaScript o cualquier otra cosa relacionada o simplemente quieres agradecer, aquí tienes tu sitio para dejar tu granito de arena. Gracias por tus comentarios y por darle vida a este sitio web.