Está en la página 1de 6

CONSTANTES

Un objeto constante es aquel que no cambia su contenido y permanece inalterado


en el tiempo. En informática se usa sobre todo en lenguajes de programación para
datos que no van a variar su contenido durante la ejecución del programa, en
contraposición con las llamadas variables, que si pueden tomar varios valores.
Una vez una constante toma un valor, este permanecerá fijo.
Básicamente el uso de las constantes es igual que en las matemáticas. La
constante toma un valor determinado y lo mantiene durante todo el problema (ej:
PI = 3,1416). El hecho de que sean constantes permite conocer su valor
independientemente de la situación. Lo mismo sucede en informática, donde
el ordenador siempre conocerá cual es el valor de las constantes, establecido de
antemano en el código del programa, y guardado en una zona de este, de donde
puede leerlo en cualquier momento. También existen constantes cuyo valor es
desconocido inicialmente, pero una vez hallado, se comportan como tales. En
estes casos, los programas lo que indican en su código es el modo de hallar esas
constantes y no su valor. Una vez hallado, será almacenado junto con el resto, en
la misma dirección de memoria. Cada lenguaje de programación tiene normas
propias sobre como denominar tanto a las constantes como a las variables. Se
suelen dotar de un nombre para identificarlas y tener rápido acceso a ellas en
caso de ser solicitadas. Si en física y matemáticas las constantes eran expresadas
con letras mayúsculas, lo cierto es que en programación el nombre suele ser
descriptivo (Ej: NUMEROSOCIO, DNI...etc), sobre todo por comodidad
del programador. Con excepciones de caracteres especiales o nombres
reservados para ciertas funciones del lenguaje (ej: if, else...), casi cualquier
nombre puede ser usado. Esos nombres que designan tanto a constantes como
variables se llaman identificadores. El valor de las constantes pueden ser
numérico, pero también texto, condicionantes, una función... y en general se
pueden usar para cualquier tipo de datos. La ventaja de usar constantes en vez
de poner el valor directamente es que si definimos una constante y le damos un
valor, este es automáticamente substituido por esa constante en todo el programa,
y queda inmerso en el código, liberando al procesador de tener que leer
direcciones de memoria para ver el valor, lo cual acelera enormemente el proceso.
Además también libera al programador de tener que escribir datos, que pueden
ser muy extensos, repetitivamente cada vez que quiera usar ese valor; con
simplemente poner el identificador de la constante ya estaría.

Julio Armando Lopez Santiago 3-“L”


VARIABLES
Una variable refiere, en una primer instancia, a cosas que son susceptibles de ser
modificadas (de variar), de cambiar en función de algún motivo determinado o
indeterminado. El término variable alude a las cosas de poca estabilidad, que en
poco tiempo pueden tener fuertes alteraciones o que nunca adquieren una
constancia (muy frecuentemente sucede esto con el clima, o el humor de una
persona). Según cómo se midan, las variables podrán ser cualitativas o
cuantitativas. Serán cualitativas aquellas que expresen características o cualidades
diferentes; y serán cuantitativas cuando expresen argumentos numéricos.
Las variaciones cualitativas podrán ser clasificadas en:
• Ordinales o cuasicuantitativas. Aquí la variable tomará valores ordenados
respecto de la escala previamente establecida.
• Nominal. Los valores de cada variable no pueden estar sujetos a un orden
determinado.
Las variaciones cuantitativas se clasificarán en:
• Discretas. La variable presentará cortes en la escala de valores que se ha
seleccionado.
• Continuas. La variable podrá adquirir cualquier valor mientras se encuentre
dentro de un intervalo de valores determinado.
Según la influencia las variables pueden podrán clasificarse de una manera
totalmente distinta:
• Variable independiente. El valor que tenga asignado la variable no
dependerá de otra variable. Se representan dentro del eje de abscisas.
• Variable dependiente. El o los valores de una variable dependerán
exclusivamente de los valores que obtengan otras variables.
En la ciencia se utiliza el término variable para hacer referencia a los objetos y a
las características de ellos que se hacen presentes dentro de las hipótesis
científicas que se están estudiando.
Las variables pueden resultar de distinta índole, pudiendo ser conductuales,
observables o no observables según su relación con el investigador. Sin
embargo, la variación más importante se da respecto a su dependencia: en
muchos casos el científico intenta deducir un supuesto vínculo entre una causa y
un efecto, y allí encontraremos variables dependientes y variables independientes.
En la matemática también se utilizan las variables: están presentes en fórmulas,
proposiciones y algoritmos. También se ve la idea de variables independientes
y dependientes, destacándose las funciones matemáticas que permiten la

Julio Armando Lopez Santiago 3-“L”


conformación de gráficos de dos o más ejes: la relación entre esos dos ejes viene
dada por una función en la que uno de los dos es variable en función del otro, que
es invariable (Y es igual a la mitad de X, tiene a Y como variable dependiente y a
X como independiente).

OPERADORES
Son un tipo de tokens que pueden aparecer en las expresiones, e indican
al compilador la realización de determinadas operaciones matemáticas, lógicas y
numéricas. Se aplican a variables u otros objetos denominados operandos y su
efecto es una combinación de las siguientes acciones:
• Producir un resultado-valor
• Alterar un operando
• Designar un objeto o función
• y = a + b;
En esta sentencia, el operador suma + produce un valor nuevo, pero no altera
ninguno de los operandos (a y b); a su vez, el nuevo valor es asignado a
la variable y mediante el operador de asignación =. En este caso el operando de la
izquierda sí se ve alterado.
• x++;
Aquí el operador postincremento ++ produce un nuevo valor que es aplicado sobre
el propio operando, de forma que queda alterado. Cuando un operador altera un
operando se dice que tiene efectos laterales.
Nota: por lo general, los operadores aparecen a la derecha de expresiones de
asignación (por ejemplo: y = 2 * y + x), pero en ocasiones estos "efectos laterales"
se utilizan para conseguir expresiones muy compactas y de un cierto nivel de

Julio Armando Lopez Santiago 3-“L”


sofisticación, que incluso no necesitan del operador de asignación para producir el
resultado. En estos casos su lógica es un poco más difícil de seguir que cuando
estos efectos no se utilizan directamente.
• z = (*fptr)(x, y);
Aquí, el operador de indirección * es aplicado sobre el operando fptr que es un
puntero-a-función. El resultado es un designador de función al que se aplica el
operador ( ) de invocación de función con dos operandos x e y que actúan como
argumentos. A su vez el resultado de este operador (invocación de función) es
utilizado como argumento derecho del operador de asignación = que finalmente
modifica uno de sus operandos (el operando izquierdo z).

REGLAS DE PRIORIDAD
Una máquina se pueden implementar distintas políticas o reglas de prioridad que
en particular buscan mejorar el desempeño de la programación en un indicador en
particular (minimizar la cantidad de trabajos atrasados, minimizar el atraso
promedio, minimizar el atraso máximo, minimizar el tiempo de flujo promedio, etc),
sin embargo, el makespan o tiempo requerido para completar los trabajos
será idéntico independiente de la regla de prioridad.
A continuación mediante un ejemplo mostraremos la aplicación de las reglas de
prioridad más comunes en la programación de 5 trabajos. Asumiremos para
efectos prácticos que los tiempos de proceso y fechas de entrega se expresan en
días y son fijos, es decir, no existe incertidumbre en cuanto a su duración:

Julio Armando Lopez Santiago 3-“L”


FIFO (First In First Out)
Es una de las reglas de prioridad más utilizada y considera atender los trabajos
según orden de llegada. En nuestro ejemplo consideraremos que los trabajos
fueron recibidos en el siguiente orden: A, B, C, D, E.

• Tiempo de Flujo Promedio = 245[días]/5[trabajos]=49[días/trabajo]


• Tiempo de Atraso Promedio = 108[días]/5[trabajos]=21,6[días/trabajo]
• Atraso Máximo = 40[días]
• Número de Trabajos Atrasados = 3[trabajos]
LIFO (Last In First Out)
Se atienden los trabajos en orden inverso al orden de llegado. En este caso E, D,
C, B y finalmente A.

• Tiempo de Flujo Promedio = 235[días]/5[trabajos]=47[días/trabajo]


• Tiempo de Atraso Promedio = 73[días]/5[trabajos]=14,6[días/trabajo]
• Atraso Máximo = 30[días]
• Número de Trabajos Atrasados = 4[trabajos]
SPT (Shortest Processing Time)
Los trabajos se procesan en orden creciente de tiempo de proceso.

Julio Armando Lopez Santiago 3-“L”


• Tiempo de Flujo Promedio = 180[días]/5[trabajos]=36[días/trabajo]
• Tiempo de Atraso Promedio = 50[días]/5[trabajos]=10[días/trabajo]
• Atraso Máximo = 35[días]
• Número de Trabajos Atrasados = 3[trabajos]
LPT (Largest Processing Time)
Los trabajos se procesan en orden decreciente de tiempo de proceso.

Julio Armando Lopez Santiago 3-“L”

También podría gustarte