Asignación (informática)


En programación informática , una declaración de asignación establece y / o restablece el valor almacenado en la ubicación o ubicaciones de almacenamiento indicadas por un nombre de variable ; en otras palabras, copia un valor en la variable. En la mayoría de los lenguajes de programación imperativos , la declaración de asignación (o expresión) es una construcción fundamental.

En la actualidad, la notación más utilizada para esta operación es (originalmente Superplan 1949–51, popularizado por Fortran 1957 y C ). La segunda notación más utilizada es [1] (originalmente ALGOL 1958, popularizada por Pascal ). [2] También se utilizan muchas otras notaciones. En algunos idiomas, el símbolo utilizado se considera un operador (lo que significa que la declaración de asignación en su conjunto devuelve un valor). Otros lenguajes definen la asignación como una declaración (lo que significa que no se puede usar en una expresión).x = expr x := expr

Las asignaciones generalmente permiten que una variable mantenga diferentes valores en diferentes momentos durante su vida útil y alcance . Sin embargo, algunos lenguajes (principalmente lenguajes estrictamente funcionales ) no permiten ese tipo de reasignación "destructiva", ya que podría implicar cambios de estado no local. El propósito es hacer cumplir la transparencia referencial , es decir, funciones que no dependen del estado de algunas variables, pero que producen los mismos resultados para un conjunto dado de entradas paramétricas en cualquier momento. Los programas modernos en otros lenguajes también suelen utilizar estrategias similares, aunque menos estrictas, y solo en determinadas partes, con el fin de reducir la complejidad, normalmente junto con metodologías complementarias como la estructuración de datos ,programación estructurada y orientación a objetos .

Una operación de asignación es un proceso en programación imperativa en el que diferentes valores se asocian con un nombre de variable particular a medida que pasa el tiempo. [1] El programa, en tal modelo, opera cambiando su estado usando sucesivas sentencias de asignación. [2] [3] Las primitivas de los lenguajes de programación imperativos dependen de la asignación para realizar la iteración . [4] En el nivel más bajo, la asignación se implementa utilizando operaciones de máquina como MOVEo STORE. [2] [4]

Las variables son contenedores de valores. Es posible poner un valor en una variable y luego reemplazarlo por uno nuevo. Una operación de asignación modifica el estado actual del programa en ejecución. [3] En consecuencia, la asignación depende del concepto de variables . En una tarea:

Ejemplo: asumiendo que aes una variable numérica, la asignación a := 2*asignifica que el contenido de la variable ase duplica después de la ejecución de la declaración.