Author Topic: Bucle for asignar variables  (Read 1228 times)

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Bucle for asignar variables
« on: 2017-February-27 08:41:35 pm »
Hola,
A ver si alguien me puede ayudar. Intento hacer como función como se puede ver en la imagen for_error_1, que recibe tres parámetros. Con dos de esos tres parámetros, los uso para el máximo y mínimo de la cuenta del bucle for. No me deja poner variables, me obliga a poner un valor numérico, como se puede ver en la imagen solucion_for.

¿hay alguna forma de hacerlo usando variables en el for?.
Con menos importancia, dos dudas mas:
Si programara en código declararía la variable indice en el mismo for, pero tengo que declararla antes del bloque for ¿no hay alguna manera de declarar e inicializar en el bloque for?.
Quiero que se incremente en cada vuelta 6 posiciones, he tenido que sumarle 5 ya que el bloque for ya suma una obligatoriamente. ¿hay alguna otra forma de hacer esto?

Saludos y gracias
José Lorenzo


Víctor R. Ruiz

  • Administrator
  • Jr. Member
  • *****
  • Posts: 94
    • View Profile
Re: Bucle for asignar variables
« Reply #1 on: 2017-March-01 02:23:08 pm »
Pues tal y como está programado el bloque ahora mismo, no se pueden usar variables :(

Sobre las otras dudas: el bloque de declaración no permite insertarlo como variable, así que no es posible declarar dentro del bucle for. Y tampoco hay forma de sumarle cinco, obviamente. Con los bloques disponibles, podrías utilizar un while y así podrías usar variables e incrementar la variable como desees.

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #2 on: 2017-March-01 03:36:16 pm »
Muchas gracias por tu respuesta, solo comentarte que la versión del código generada por Visualino con variables en el for, la versión que da el error, tal como esta la pego en el  IDE de Arduino y compila perfectamente. Es decir Visualino genera un código correcto, pero no  admite su propio código....extraño..

Saludos
José Lorenzo

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #3 on: 2017-March-01 04:16:48 pm »
Hola,

He logrado que haga lo que quiero, de manera poco ortodoxa, pero funciona...

1. Aunque salga ese error, te deja compilar y cargar sin problemas, por tanto no hay que dejarse intimidar por el error.... :D :D
2. Como el for del bloque siempre cuenta al revés he cambiado las variables de orden y el decremento lo hago restando 5 y el total consigo 6.

Gracias a que visualino te muestra el código, se pueden hacer estos arreglos poco ortodoxos....pero de momento me apaño...aunque les explicare a los alumnos del curso el truco para no liarlos...

Saludos
José Lorenzo

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #4 on: 2017-March-01 04:27:11 pm »
Se me olvido poner el código que funciona....lo siento...


Víctor R. Ruiz

  • Administrator
  • Jr. Member
  • *****
  • Posts: 94
    • View Profile
Re: Bucle for asignar variables
« Reply #5 on: 2017-March-01 05:35:36 pm »
No es tan extraño :D Para decidir si el incremento debe ser positivo o negativo se comparan los valores. Esa es la razón porque la que avisa que no admite variables.

La alternativa que te comentaba usando un bucle while es ésta.

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #6 on: 2017-March-02 09:26:46 am »
Gracias Víctor, esta claro que es una alternativa que funciona, ¿sobra la variable from?. El tema es que aunque se resuelve el problema como el curso esta orientado a niños y jóvenes, me encaja mejor la simplicidad del bucle for, en este caso...seria interesante que si es posible en un futuro el bloque for tuviera algunas mejoras como:

1. que también contara ascendentemente no solo descendente.
2. Que admita contar con valores diferentes a 1 o -1.
3. Quitar el aviso de no poder usar variables, cuando en realidad las admite.
4. Y como final, que se pueda declarar la variable indice en el mismo bloque...

Saludos y gracias

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #7 on: 2017-March-02 02:53:53 pm »
Hola,
Acabo de observar que el bloque for hace incremento o decremento dependiendo del "desde" a "hasta" cual de los dos es mayor. Por eso creo que no le gustan la variables en ese lugar.

Saludos
José Lorenzo

joselito

  • Newbie
  • *
  • Posts: 21
    • View Profile
Re: Bucle for asignar variables
« Reply #8 on: 2017-March-03 08:50:47 am »
Buenos días,
Como comentas en el post anterior Víctor, efectivamente cambian el signo de la comparación y el tipo de variación (incremento- decremento) dependiendo de los valores numéricos que pongamos en Desde y Hasta. Quizás una buena solución es que este bloque lleve una estrellita de submenu para poder elegir el modo del for. De tal manera que se quede como esta o elegir con variables y diferentes incrementos.

Saludos
José Lorenzo