programación

Algoritmos y cambios de estado

El objetivo del algoritmo es resolver un problema. La forma como un algoritmo resuelve un problema forma parte del algoritmo mismo. La resolución del problema se consigue actuando sobre el entorno donde está inmerso el algoritmo.

Por ejemplo, una lavadora dispone de un método para lavar la ropa. Por tanto, podemos decir que las lavadoras disponen de un algoritmo para lavar la ropa.

¿Cuál es el entorno sobre el que actúa la lavadora? De una manera simplificada, podemos decir que es la ropa que se encuentra dentro del tambor de la lavadora.

¿Cómo actúa?

Si le pedimos a la lavadora que lave la ropa, la lavadora seguirá el siguiente proceso:

  • utilizar agua y jabón del cajón.
  • calentar el agua a 40 grados.
  • dar vueltas durante 20 minutos. Es decir, lavar.
  • expulsar el agua.
  • incorporar más agua.
  • dar vueltas durante 10 minutos.
  • dar vueltas durante 10 minutos (aclarado).
  • expulsar el agua.
  • centrifugar

Inicialmente la ropa está sucia y después de que la lavadora aplique el algoritmo de lavar, la ropa está limpia. Es decir, se ha generado un cambio de estado en el entorno sobre el que actúa la lavadora. 

Estado inicial: ropa sucia y estado final: ropa limpia. Por tanto, hemos solucionado el problema: lavar la ropa. La lavadora, para lavar ropa, ejecuta un conjunto de acciones. Cada una de las acciones modifica el estado anterior. Es decir, entre el estado inicial y el estado final pueden darse muchos estados intermedios

Las acciones que ejecuta la lavadora genera cambios de estado en el entorno; cambios que nos acercarán hacia el estado final deseado. 

Por lo tanto, el entorno de un algoritmo es el conjunto de objetos que intervienen en éste. Por otro lado, los únicos objetos que la ejecución de un algoritmo podrá modificar son las variables. Así pues, un proceso -la ejecución de un algoritmo- sólo se puede modificar el entorno cambiando el valor de las variables que contiene. 

1 comentario en “Algoritmos y cambios de estado”

Deja un comentario