Amig@s,
Alguien me puede explicar mejor** 1. ¿por qué la necesidad de declarar esa variable = false? y 2. me explican la lógica dentro del for**
Amig@s,
Alguien me puede explicar mejor** 1. ¿por qué la necesidad de declarar esa variable = false? y 2. me explican la lógica dentro del for**
Hola Lino!
Empiezo por la necesidad de la variable con valor false: true y false son valores booleanos, podrías asignar otro valor como 0 y 1 y también sería válido pero al poner "false" dejás en claro que esa variable representa a una condición que se no se cumple y por lo general esas variables cambian su valor dependiendo de que alguna codición se cumpla o no. En este caso estás con el código del juego de adivinación de principiante en programación, por defecto se asigan "false" a la variable porque al iniciar el juego no hay aciertos, entonces encontrado es igual a falso. Fijate que el código sigue y luego de ejecutar la función que va a ser la que compare el valor del usuario con los números secretos, se le dice a la función que si encuentra coincidencia, cambie el valor de la variable encontrado a "true" (verdadero). Luego el código sigue, y si mal no recuerdo, dependiendo de si la variable encontrado tiene valor false o true se muestra el mensaje al usuario. La lógica es simple: por defecto le decimos la programa que no hay coincidencias al iniciar el programa (encontrado = false), cuando el usuario arriesga un número se ejecuta una función que compara el valor del usuario con todos los datos secretos y si encuentra que es igual a alguno de ellos, le dice al programa que encontró una coincidencia asignando el valor verdadero a la variable encontrado (encontrado = true) y detiene la función para que no se siga ejecutando ya que no hace falta que compare con los otros números; si no encuentra coincidencias simplemente encontrado sigue siendo falso como al inicio. Luego el programa pasa al siguiente paso que es ver como quedó el valor de encontrado y dependiendo de si es true o false, muestra el mensaje de felicitaciones o de siga participando. Estas variables son muy útiles, las vas a usar mucho en tus códigos cuando necesites que una función se ejecute dependiendo del resultado de otra.
Por otro lado, la lógica dentro del loop for es la siguiente: el loop for lo que hace es ejecutar una serie de pasos y te permite iterar entre valores. Para que el loop tenga un fin y no sea eterno, tenés que establecer un límite a ese loop y para que pueda iterar entre valores de una lista, por ejemplo, tenés que indicar que el valor incrementa o disminuye, caso contrario siempre se ejecutaría lo mismo. Para poder indicar todo esto en una sola línea for declara una variable a la que se le asigna valor 0 (por lo general), esta es la primera parte donde dice var posicion = 0; es muy comun ver que esa variable se llame i (de index), si analisas códigos verás que muchos programadores llaman a esa variable var i = 0, pero cualquier nombre es válido. En la segunda parte, se le indica al loop cuál es el límite de ejecución para que sepa cuando detenerse, en este caso "posicion < 4" significa que se va a ejecutar siempre y cuando la variable posicion sea menor a 4, si en algún momento variable posicion tiene valor 4 no se va a ejecutar porque menor a 4 significa que para ejecutarse posicion puede valer 0,1,2 o 3. Y por último en la tercera parte, se indica que cada vez que se ejecute el loop, al finalizar aumente el valor de posicion en 1 dígito. Entonces como posicion inicialmente vale 0, el loop se ejecuta y si no encuentra coincidencias aumenta el valor de posicion a 1 y se vuelve a ejecutar porque sigue siendo menor a 4; si no encuentra coincidencias aumenta el valor de posicion a 2 y se vuelve a ejecutar; ; si no encuentra coincidencias aumenta el valor de posicion a 3 y se vuelve a ejecutar; si no encuentra coincidencias aumenta el valor de posicion a 4 y ya no se ejecuta porque ahora no es menor a 4 y eso significa que debe detenerse.
Espero que sirva la explicación. ¡Me alegra ver que hay nuevos ingresantes!
Saludos,
Mariana - Grupo 2 :)
Excelente excplicación; lo tengo mucho mucho más claro. Buena didáctica. ¿cuánto tiempo te llevó entender la lógica detrás de esto?
Hola Lino!
Muchas gracias por tu mensaje!
No sé si hay un tiempo exacto o si puedo determinarlo. Creo que fue un proceso que se inició mirando videos de youtube para aprender como funciona la programación y armar pequeños sistemas con un poco de código y hojas de cálculo. Ahí empecé a entender cómo funcionaban algunas cosas, que era una variable, un iterador, un función, un if, etc y con la guía de los videos lograba armar sistemas pequeños pero que sirvieron mucho durante la pandemia. Recién este año empecé a estudiar con el programa ONE y ahí terminé de afianzar esos conceptos que estaban algo inestables y aprendí muchísimo más. Ahora me encanta poder compartirlo con los que están transitando este camino por el que pasé hace unos meses. :) Te sugiero que no te pongas tiempos, ni te compares con otros. Proponete aprender, superarte y salir de aquí sabiendo más de lo que sabías al principio. Cada uno aprende a su ritmo y respetar ese ritmo va a hacer que disfrutes del proceso.
Mucha suerte con los estudios!!
Mariana Fale