lenguaje-latino / latino

Lenguaje de programación de código abierto para latinos y de habla hispana.
http://lenguajelatino.org/
Other
466 stars 51 forks source link

Error al invocar Función dentro de un ciclo. #211

Open FrkL81 opened 1 year ago

FrkL81 commented 1 year ago

Reportando bug

no escribir en esta área y marcarlo al completar el issue.

no escribir en esta área y marcarlo al completar el issue.

Más detalles:

Saludos. Espero alguien me pueda confirmar que no es solo en mi pc el problema que describo... Gracias.

La siguiente función genera una cadena de texto que representa un número "Aleatorio" de 6 dígitos. Al invocar la función sola genera el valor esperado. Sin embargo, al invocar la función dentro de un ciclo se producen comportamientos erráticos. En el siclo -desde-, al cambiar la condición de i < 13 a i < 12 o cualquier número menor a 12 el ciclo solo itera 1 vez, y con cualquier número mayor o igual a 13 el ciclo se hace infinito.

Código en donde ocurre:

funcion miFuncion1()
    num1 = ""
    i = 0
    mientras i <= 10
        num1 = num1 .. acadena(mate.aleatorio(0, 9))
        i = i + 1
    fin  
    retorno cadena.subcadena(num1,0,6)
fin

escribir (miFuncion1())
leer()

desde (i = 0; i < 13; i++) 
    escribir (i .. " - " .. miFuncion1())
fin

leer()
MelvinG24 commented 1 year ago

Ahora mismo el problema que estoy viendo es la variable i, des-afortunadamente, Latino no tiene limites de alcance en sus variables, por lo tanto cuando declaras la variable i dentro del loop desde, es la misma i dentro de la función miFuncion1... eso es un problema que llevo un tiempo tratando de solucionar, pero aun sin éxito, mi consejo es que cambies el nombre de la variable i en la función miFuncion por otro nombre y eso pueda que ayude a solucionar tu problema