Algoritmos de Programación con Python

1.8. Estado y computación

A lo largo de la ejecución de un programa las variables pueden cambiar el valor con el que están asociadas. En un momento dado uno puede detenerse a observar a qué valor se refiere cada una de las variables del programa. Esa foto que indica en un momento dado a qué valor hace referencia cada una de las variables se denomina estado. También hablaremos del estado de una variable para indicar a qué valor está asociada esa variable, y usaremos la notación n → 13 para describir el estado de la variable n (e indicar que está asociada al número 13).

A medida que las variables cambian de valores a los que se refieren, el programa va cambiando de estado. La sucesión de todos los estados por los que pasa el programa en una ejecución dada se denomina computación.

Para ejemplificar estos conceptos veamos qué sucede cuando se ejecuta el programa cuad:

  • print "Se calcularán cuadrados de números"
    • Qué sucede: Se despliega el texto *"Se calcularán cuadrados de números" en la pantalla.
    • Estado: -
  • n1 = input("Ingrese un número entero: ")
    • Qué sucede: Se despliega el texto "Ingrese un número entero: " en la pantalla y el programa se queda esperando que el usuario ingrese un número.
    • Estado: -
  • Supondremos que el usuario ingresa el número 3 y luego oprime la tecla <ENTER>. Se asocia el número 3 con la variable n1.
  • n2 = input("Ingrese otro número entero: ")
    • Qué sucede: Se despliega el texto "Ingrese otro núme- ro entero:" en la pantalla y el programa se queda esperando que el usuario ingrese un número.
    • Estado: n1 → 3
  • Supondremos que el usuario ingresa el número 5 y luego oprime la tecla <ENTER>. Se asocia el número 5 con la variable n2.
  • for x in range(n1, n2):
    • Qué sucede: Se asocia el primer número de [n1,n2) con la variable x y se ejecuta el cuerpo del ciclo.
    • Estado: n1 → 3, n2 → 5, x → 3
  • print x*x
    • Qué sucede: Se imprime por pantalla el valor de x * x (9)
    • Estado: n1 → 3, n2 → 5, x → 3
  • for x in range(n1, n2):
    • Qué sucede: Se asocia el segundo número de [n1,n2) con la variable x y se ejecuta el cuerpo del ciclo.
    • Estado: n1 → 3, n2 → 5, x → 4
  • print x*x
    • Qué sucede: Se imprime por pantalla el valor de x * x (16)
    • Estado: n1 → 3, n2 → 5, x → 4
  • for x in range(n1, n2):
    • Qué sucede: Como no quedan más valores por tratar en [n1,n2), se sale del ciclo.
    • Estado: n1 → 3, n2 → 5, x → 4
  • print "Es todo por ahora"
    • Qué sucede: Se despliega por pantalla el mensaje "Es todo por ahora"
    • Estado: n1 → 3, n2 → 5, x → 4

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.