martes, 4 de diciembre de 2012

Nuevas instrucciones, recursividad y variables

Variables en Karel ¿Mito o Realidad?

Tal vez te sorprenda esto, pero Karel tiene soporte para variables; sin embargo, dicho soporte esta bastante limitado; ya que solo se puede utilizar una variable por función, dicha variable se pasa como
parámetro.

Aunque no es posible hacer asignaciones directamente a una variable, existen 3 funciones de Karel que operan con variables:

● precede(x) devuelve x1.
● sucede(x) devuelve x+1
● siescero( x) devuelve verdadero si x=0 y falso en caso contrario

Al declarar una función en Karel es bastante facil permitirle que use una variable como parametro:

definenuevainstruccion funcion(nombredelavariable) como

Para llamar a una función con un parámetro declarado, se puede hacer de la siguiente manera:

funcion(valordelparametro);

Ahora es posible utilizar la variable en la expresión repetir de la siguiente manera:
repetir nombredelavariable veces

En la expresión si de la siguiente manera:
si siescero( nombredelavariable) entonces

o bien

si no(siescero( nombredelavariable)) entonces

Estos usos, aunque pueden ahorrar código, no ayudan de manera significativa para resolver problemas.

La principal utilidad de las variables en Karel, es la capacidad que tienen para incrementarse o decrementarse al pasarlas como parámetros en una recursión. Para entender mejor esto, es conveniente ver un ejemplo práctico.


PROBLEMA DE EJEMPLO






SOLUCION


No hay comentarios:

Publicar un comentario