En este artículo te traigo un nuevo tutorial de programación con Scratch donde vamos a aprender cómo determinar si un número es par o impar.
Este será un tutorial superbásico, así que no necesitas tener demasiados conocimientos de Scratch. Te voy a explicar cómo hacer para determinar si un número es par o impar utilizando una función matemática conocida como resto de la división entera.
Sigue leyendo y te cuento cómo realizar este programa.
El programa que vamos a realizar
Como siempre, antes de comenzar con el tutorial, vamos a ver cuál es el programa que vamos a realizar.
Se trata de un sapo que lo sabe todo. Bueno, no, en realidad solamente sabe si un número es par o impar. Así que si le dices un número, te dirá si es par o no.
Recordemos que los números pares son el 2, el 4, el 6, etc. Y que los impares son el 1, el 3, el 5, etc. Más adelante veremos una función que nos va a permitir identificarlos.
En el siguiente enlace, puedes ver el programa final funcionando: Sapo de los números pares e impares.
Explicación en video paso a paso
En mi canal tury3001 de YouTube puedes ver la explicación paso a paso de cómo hacer este programa.
Creando un nuevo proyecto con Scratch
Para poder seguir este tutorial necesitas acceder a Scratch online o descargar la app de Scratch. Te recomiendo la primera opción ya que es más fácil y, además, luego podrás compartir tu programa con otros programadores de Scratch.
Una vez que tengas creada tu cuenta, selecciona la opción Crear, en el menú superior.
A continuación, se cargará el editor de Scratch. Lo único que tienes que hacer es eliminar al gato que aparece por defecto, así podemos comenzar a crear un nuevo programa desde cero.
El escenario y el personaje principal
Como en todo programa de Scratch, lo primero que vamos a hacer es crear un escenario. Para ello, vamos a Elige un fondo, en la esquina inferior derecha.
Puedes elegir cualquier fondo que quieras. Como nuestro personaje principal será un sapo, yo voy a elegir un pantano. Lo encontrarás con el nombre de Wetland.
Una vez que tenemos el fondo, vamos a seleccionar nuestro personaje principal, es decir, el sapo. Selecciona la opción Elegir un objeto, en la esquina inferior derecha.
Allí vamos a buscar al sapo, que es el que aparece como Wizard toad, es decir, sapo mago.
Lo puedes ubicar donde quieras en la pantalla.
Voltear y escalar sapo
Si prestas atención, verás que yo situé al sapo en el escenario, pero aparece mirando hacia la izquierda, cuando el sapo original mira a la derecha. ¿Cómo hice para voltearlo? Es muy sencillo.
Ve a la solapa Disfraces, asegúrate de estar seleccionando el primer disfraz que es el que debería aparecerte por defecto. Luego, utiliza la herramienta Voltear horizontalmente.
Esto hará que el sapo se espeje de forma horizontal. De esta forma, pasará a mirar hacia el otro lado. Esto lo puedes hacer con todos los objetos de Scratch.
Ahora, vuelve a la pestaña Código y pon tu atención en la barra lateral derecha. Allí aparecen todas las propiedades del objeto Wizard-toad, que es el nombre que tiene este objeto. Fíjate que una de ellas se llama Tamaño y que, por defecto, su valor está en 100.
Si le pones menos de 100, el objeto se hace más pequeño. Y si le pones más de 100, se agranda. En mi caso, yo le puse 150 para agrandarlo.
El programa en Scratch
Comienzo de programa y entrada de datos
Ahora sí, ha llegado el momento de comenzar nuestro programa en Scratch. Vamos a la pestaña Código y lo primero que vamos a hacer es seleccionar el bloque de comienzo de programa de Control.
Lo siguiente que vamos a realizar es hacer que nuestro querido sapo salude. Así que seleccionamos un bloque decir… durante, de Apariencia. Con que diga «Hola» por 2 segundos nos alcanza.
Si corres el programa con el ícono de la bandera, verás que el sapo ya saluda.
Luego, queremos que nos pida un número para determinar si es par o impar. Así que vamos a utilizar el bloque de entrada de datos preguntar… y esperar de Sensores. Este bloque lo que hace es mostrarle al jugador o al usuario un campo de entrada de texto para que escriba algo y lo envíe. En el texto del bloque puedes poner algo así como «Dime un número y te diré si es par o impar».
Si corres el programa, verás que ahora, luego del saludo, aparece el campo de texto para escribir.
Si escribes algo allí y seleccionas el botón para confirmar o presionas Enter, se envía.
Lo que puedes estar preguntándote es dónde puedes recibir el texto enviado en el código. En Sensores, encontrarás una variable que se llama respuesta. Esta variable almacena siempre el valor de lo último que se ingresó en el campo de texto.
Determinar si un número es par o impar
Ya sabemos dónde se va a almacenar lo que escribamos. Así que si recibimos un número, nos queda determinar si es par o impar. ¿Cómo lo hacemos?
Pensar si un número es par o impar es sencillo, pues, los pares son el 2, el 4, el 6, etc. Y los impares son el 1, el 3, el 5, etc. Sin embargo, la computadora no piensa de esa manera. Necesita algún tipo de algoritmo o fórmula que sea clara.
Si pensamos un poco, vamos a llegar a una conclusión natural: los números que son divisibles por 2 son pares. Y los que no son divisibles por 2, son impares.
¿En qué caso un número es divisible por 2? Si al dividirlo por 2, el resto de la división es 0. En cambio, no es divisible por 2 si al dividirlo por 2, el resto de la división es 1.
Por lo tanto, un número es par si al dividirlo por 2 el resto de la división da 0. Y es impar si al dividirlo por 2 el resto de la división da 1.
¿Hay alguna forma de conocer el resto de una división? Sí, en Scratch (y en todos los lenguajes de programación) vas a encontrar una función que se llama módulo y que equivale al resto de la división entera.
En Scratch, lo encuentras en Operadores.
Su uso es muy sencillo. Del lado izquierdo ponemos el número a dividir (el dividendo) y del lado derecho, ponemos el divisor. El resultado que arrojará este operador será el resto de la división.
Ejemplos:
- Para 5 y 2 hace 5 / 2 => 1. Porque 5 dividido 2 es 2 y sobra 1.
- Para 20 y 4 hace 20 / 4 => 0. Porque 20 dividido 4 es 5 y no sobra nada.
- Para 22 y 7 hace 25 / 7 => 4. Porque 25 dividido 7 es 3 (7 x 3 da 21) y sobran 4 (para llegar al 25)
En el caso de usar el 2 como dividendo, los restos posibles son siempre 0 o 1. Así que es mucho más sencillo.
Aplicando el operador módulo en el programa de Scratch
Ahora ha llegado el momento de aplicar el operador módulo. Como lo que queremos determinar es si el número es par o impar, esto significa que tenemos dos posibilidades. Así que, primero, usemos un bloque condicional si… entonces… si no de Control.
Necesitamos un operador de comparación. Usemos el de igual. Lo obtenemos de Operadores. Del lado derecho pongámosle un 0.
¿Qué ponemos del lado izquierdo? Necesitamos aplicar la función módulo a la respuesta. Así que usemos el operador módulo. Recuerda que la variable especial respuesta la encuentras en Sensores. Del lado derecho, le ponemos un 2.
Armemos el bloque completo con todo lo que tenemos. Primero, metemos el operador módulo dentro de la comparación.
Y luego, metemos la comparación dentro del bloque si… entonces… si no.
Si la condición se cumple, es decir, si el resto de la división es 0, entonces el número es par. Si no se cumple, entonces es impar. Agreguemos esa información como mensajes que dice el sapo.
Juntemos todo, con lo que ya teníamos antes.
Si corres el programa, verás que ya funciona.
¿Qué sucede si escribimos algo que no sea un número entero? Bueno, lamentablemente, nuestro sapo se va a confundir. En este caso, vamos a dejarlo así para no complicarlo, pero en un programa más sofisticado, deberíamos validar la entrada de datos, es decir, filtrar aquellos valores que no son válidos.
Creando un bucle continuo
El programa ya funciona bien. Nuestro entrañable sapo ya sabe decirnos si un número es par o impar. Sin embargo, cada vez que nos responde, el programa se termina. ¿No sería mejor poder preguntarle de forma consecutiva?
Para poder pedirle respuestas al sapo una atrás de otra, necesitamos una estructura que nos permita realizar repeticiones. Pero estas repeticiones tienen que tener un límite. Así que vamos a usar un bloque repetir hasta que…, de Control.
A este bloque le tenemos que dar una condición. Esa condición hará que el bucle deje de repetirse.
A mí me gustaría que el bucle deje de repetirse al escribir «adios» en el campo de texto. Así que lo que voy a hacer es utilizar un operador de comparación de igualdad y la variable especial respuesta. Del lado derecho escribiré «adios».
Ahora, todo esto lo podemos agregar al repetir hasta que…
Bien, ahora viene algo que hay que hacer con mucho cuidado. Tenemos que combinar lo que ya teníamos funcionando, con este nuevo bucle. Presta atención cómo queda este ensamble.
Luego del saludo del sapo, viene el bucle. Y dentro del bucle, ponemos lo que ya teníamos.
Si pruebas el programa introduciendo un número par, verás que funciona. Luego de darte la respuesta, el sapo volverá a pedirte otro número. Si ingresas un número impar, también funcionará. ¡Genial! Sin embargo, si escribes «adios», el sapo te dice que ese número es par y luego el programa termina.
No es el comportamiento esperado. ¿Por qué el sapo dice que el número es par?
El programa no identifica ese «adios» como un número. Por lo tanto, la conclusión a la que llega no tiene importancia. Lo que debemos evitar es que, en caso de escribir «adios», el programa no haga la verificación de si el número es par o impar.
Saliendo del programa de forma elegante
Lo que queremos hacer a continuación es que al escribir «adios», el sapo nos despida con un saludo y el programa finalice. Pero no queremos que el programa intente descifrar si ese «adios» es un número par o impar. Para ello, vamos a utilizar un bloque condicional si… entonces, de Control.
A este le agregamos una comparación entre respuesta y «adios».
Pero, en realidad, no queremos comparar igualdad sino desigualdad. Así que tenemos que negar esto con el uso del operador No, de Operadores.
Pongamos el operador No, dentro del si… entonces.
Y ahora, incluyamos este condicional en el bucle que ya teníamos.
Al ejecutar el programa, verás que funciona correctamente. Lo que faltaría es agregar un mensaje de despedida por parte del sapo. Agrega al final un bloque decir… durante. Yo le puse un «¡Hasta luego!» como saludo, por 2 segundos.
Agregar sonido
Para que nuestro programa interactivo sea más divertido, vamos a agregar un sonido. Como es un sapo, debería croar.
Ve a la solapa Sonidos y selecciona Elige un sonido.
Selecciona el sonido Croak, que es el sonido que hacen los sapos.
Vuelve a la pestaña Código.
La idea es reproducir este sonido Croak cada vez que el sapo dice algo. Así que utiliza varios bloques tocar sonido y distribúyelos como te muestro a continuación.
Asegúrate de agregar los sonidos antes de los bloque decir, porque si no, quedarán desincronizados.
Programa final
Así queda el programa final del sapo que te dice si un número es par o impar.
Conclusiones
Hemos finalizado otro programa en Scratch en Mentes Liberadas. Más allá de los bloques que hemos utilizado, lo que más me gustaría destacar de este ejercicio es la forma en que fue construido.
¿Has notado que no armé los bloques de arriba abajo en una sola secuencia? En vez de hacer eso, fui construyendo el programa y modificándolo en función de lo que iba necesitando.
Aquí te presenté una versión resumida del proceso de construcción de un programa. En realidad, cuando pensé en este ejercicio, lo fui armando de a poco, agregando, quitando bloques y probando el resultado. ¡Esa es la forma de programar! ¡No esperes que los programas te salgan fácilmente y en un solo intento!
Tienes que ir armando lo que necesitas paso a paso y probar. A veces te vas a acercar a la solución y otras veces, te vas a alejar. Descarta lo que no sirve y quédate con aquello que hace que tu programa funcione mejor.
¡Y no lo olvides! Comienza siempre con un fin en mente. Antes de empezar a mover bloques o agregar objetos al escenario, define con claridad qué es lo que quieres hacer.
¿Más contenido sobre Scratch?
¿Te interesa que escriba más sobre Scratch? Generar contenido de este estilo lleva mucho tiempo, pero si hay interés, estoy dispuesto a hacerlo. Déjame un comentario al final del artículo y comenta. ¡Es muy importante para mí!
Por el momento, te recomiendo otros artículo sobre Scratch en Mentes Liberadas.
Tienes los más básicos:
- Programa un videojuego de adivinar un número al azar con Scratch
- Programar un contador con Scratch
- Programar un dado virtual con Scratch
Y otros más desafiantes.
Nuevo canal de YouTube con tutoriales de Scratch
Después de un tiempo, finalmente me decidí a crear mi propio canal de YouTube donde explico cómo programar con Scratch. Suscríbete siguiendo este enlace y activa la campanita para enterarte cuándo hay un nuevo video. Iré agregando videos de a poco.
Más contenido en Mentes Liberadas
Esto ha sido todo por este artículo. Espero que haya sido de tu agrado.
Te invito a que sigas a Mentes Liberadas en las redes sociales. Estamos en Facebook, Instagram, Pinterest y X.
También te puedes suscribir a nuestro newsletter para recibir las novedades del sitio en tu correo electrónico.
Por último, puedes hacer una donación a Mentes Liberadas a través de nuestra cuenta en Ko-Fi. De esta manera, estarás contribuyendo con el sitio, para que haya más contenido, más recursos, más herramientas online.
Gracias por tomarte el tiempo de leerme.
Te espero en el próximo artículo de Mentes Liberadas.