Definición de constante
Constante es aquello que consta (que es manifiesto o está registrado) o que tiene constancia (certeza, perseverancia). Algo constante es durable, reiterado o persistente. Por ejemplo: “El esfuerzo constante del norteamericano lo llevó a una nueva victoria en el torneo”, “Mi abuelo siempre me dice que para tener éxito en los negocios resulta indispensable ser constante y no rendirse jamás ante la adversidad”, “Estudiantes de La Plata es el equipo argentino más constante de los últimos años”.
Para las matemáticas, una constante es una cantidad que tiene un valor fijo en un determinado cálculo, proceso o ecuación. Esto quiere decir que la constante es un valor permanente que no puede modificarse dentro de un cierto contexto. Lo habitual es que se relacione con una variable (cuyos valores sí pueden ser modificados).
El número pi es una constante matemática.
Constante física
Una constante física es el valor invariable de una magnitud física a lo largo del tiempo. Un ejemplo de ello, mencionado muy a menudo incluso en ámbitos no científicos, es la velocidad de la luz en el vacío (299.792.458 m/s).
Cuando existe, al menos en teoría, una velocidad constante, pueden estimarse tiempos de desplazamiento. Si un automóvil se desplaza a una velocidad constante de 100 kilómetros por hora, tarda cuatro horas en recorrer un trayecto de 400 kilómetros. Como la velocidad constante no existe en la práctica, es habitual que este tipo de estimaciones se realice con la velocidad media o velocidad promedio.
El concepto en la programación
En el ámbito de la programación informática, una constante es aquel valor que no puede ser modificado durante la ejecución de un programa. Corresponde, por lo tanto, a una longitud fija en un área reservada en la memoria de la computadora.
Sus aplicaciones, así como sus métodos de implementación, son diversas; por lo general, se utilizan para determinar valores tales como velocidades mínimas y máximas, márgenes de error, dimensiones fijas de elementos que deben ser dibujados muchas veces a lo largo de la ejecución y números de estados de las diversas máquinas que suelen componer un programa. Este último punto resulta esencial, dado que la máquina de estados representa un modelo de organización muy eficiente.
Si un automóvil se desplaza a velocidad constante, se puede saber cuánto tardará en realizar un determinado trayecto.
Ejemplo de aplicación de una constante
Tomemos como ejemplo una aplicación muy sencilla, que presenta al usuario un formulario con los campos «nombre» y «contraseña» para realizar la comprobación de los datos una vez ingresados y que solo se cerrará una vez que el resultado sea positivo. Básicamente, se puede decir que dicho programa pasará por los siguientes estados desde su arranque hasta su fin:
0: realizará la carga de los recursos necesarios para su representación gráfica, tales como imágenes para los botones y fuentes para el texto;
1: creará el formulario, estableciendo los valores de todos sus componentes (cuadros de ingreso de texto, etiquetas, botones, mensajes emergentes) y lo mostrará en pantalla;
2: permanecerá a la espera de que el usuario ingrese su información y confirme dicha acción;
3: procederá a verificar los datos y dará uno de dos posibles resultados: «correcto», caso en el cual se cerrará; «incorrecto», lo cual dará lugar a un estado en el que mostrará un mensaje para pedir al usuario que repita el procedimiento;
4: mientras se muestre la notificación de datos incorrectos, el programa aguardará una acción por parte del usuario para volver al estado 1, probablemente cambiando la creación del formulario (dado que ya existe) por una simple limpieza de sus campos de ingreso.
Si bien la estructura real de una aplicación es más compleja, el ejemplo dado sirve para demostrar la eficiencia y el grado de control que permite la disposición de los estados en una máquina. En el código, que puede ser diferente para cada programador, cada estado se representa con una constante, que recibe un nombre (tal como ES_CARGA, ES_ESPERA) y generalmente se asocia a un valor numérico.