Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
3
respuestas

Duda: ¿Por qué "if" en lugar de "while" en el ejercicio de cambio de colores?

Buenas noches compañeros. Quiero solicitar su apoyo para que puedan ayudarme a resolver mi duda. A pesar de que he estado haciendo cada uno de los ejercicios, y repetido los videos, aún me cuesta comprender la diferencia que hay entre los condicionales. No tenía ningún conocimiento en programación y prácticamente este curso me está iniciando en ello.

El ejercicio del cambio de color de los circulos, pensé resolverlo usando "while", porque lo había visualizado como un ciclo que luego de cumplirse se reiniciaba. Por más que traté, no encontré la forma correcta de aplicarlo. Al ver la solución aportada por el profesor, me di cuenta que utilizó el "if".

Cómo puedo hacer para diferenciar estos condicionales? Pueden ayudarme. Muchas gracias :)

3 respuestas

Hola. Piénsalo así: While es una instrucción que tiene por objetivo usar la velocidad que tiene el computador para ejecutar una acción muchísimas veces. Cada vez que pienses en usarlo, pregúntate, ¿necesito ejecutar una acción muchas veces? Para este ejercicio en concreto, la respuesta a esta pregunta es no. Solo necesitamos cambiar el color cada vez que se hace clic derecho. Así, solo necesitamos llamar a una función que hago algo si el usuario hace clic derecho (oncontextmenu) en el canvas. En este caso ese algo es aumentar un número en 1, ese número será el índice del arreglo que contiene los colores. Si tienes dudas puedes escribirme en Discord, mi usuario es joss. Saludos.

Hola, mira la diferencia principal es que el while es un bucle, así como el for, mientas que el if es un condicional que se ejecuta una vez, es decir, el while lo que va a hacer es repetir indefinidamente una instrucción mientras que se cumpla una condición, y el if va a ejecutar una vez la instrucción mientras que se cumpla una condición.

En este ejecicio nos conviene el if, porque necesitamos que se aumente en 1 nuestra variable para ingresar en una posición del array (que va de 0-3), entonces cuando se hace un clic derecho necesitamos que se ejecute una vez una instrucción para realizar lo anterior mencionado, por lo tanto usar un bucle es poco conveniente.

Además, el if nos ayuda porque hacemos que se aumente nuestra variable una ocasión y al llegar la cuenta a 3 debemos igualar a 0 la variable para que vuelva a la primera posición del array.

Muchas gracias a ambos por su explicación. Me ha ayudado mucho a entender mejor el uso de ambos. Practicaré un poco más y seguro que si tengo dudas, los estaré molestando de nuevo. Un abrazo :)