Вы находитесь на странице: 1из 12

Martes 30 de abril/2019

Constantes en el lenguaje de
la programación

CARRERA: TECNICO EN AUTOMATIZACION INDUSTRIAL

Profesor: Andrés Rubilar M.

Alumnos: Juan Montoya A.

Javier Poblete V.

Tania Castro P.

Yulisa Valdebenito R.
INTRODUCCION

Todos los lenguajes de programación mantienen un conjunto de tipos de


datos diferentes dependiendo del programa utilizado. Este tipo de datos
debe pertenecer a un grupo de valores, y que estos sean válidos para poder
procesarlos. En el presente trabajo explicaremos acerca de la función de las
constantes dentro del lenguaje de programación, las diferencias y ejemplos
específicos de cada tipo de constante que podemos encontrar en los
diferentes lenguajes de programación. Por ejemplo en tipo C o C++.
¿Que es una constante en lenguaje de programación?

Una constante es un valor, una variable, que no puede ser alterado durante la ejecución del
programa. Tan solo se puede leer, no se puede modificar.

Por ejemplo

Si en nuestro programa tenemos que usar el número Pi, este siempre va a ser el mismo, no va a
cambiar, así que este por seguridad debería ser una constante para asegurarnos de que nunca va a
cambiar.

Cada lenguaje tiene su propia forma de definir que una variable sea constante. Por ejemplo, en C
las constantes se declaran con #define. En Java por ejemplo se usa la palabra final. Mientras que
en otros lenguajes como C++, JavaScript, Kotlin, C#, en todas estos se definen con la palabra const.

Buenas prácticas a la hora de escribir los nombres de estas constantes

Vamos a poner un ejemplo, tenemos la variable numero1 que su valor es 1. Y la variable número2
que su valor es 2. Y por último tenemos la variable número3 que su valor es la suma de la variable
numero1 con la variable número2.

Las dos primeras variables son constantes.

Y la tercera, también lo es, ya que si las otras dos lo son, el valor de la suma siempre va a dar el
mismo resultado ¿correcto?

Pero las dos primeras, le estamos asignando un valor concreto, y a este tipo de constantes se las
suele nombrar en mayúsculas, de este modo cada vez que te encuentres una variable en
mayúsculas, sabes que es una constante.

Pero, y la tercera constante

La tercera variable, aunque también es constante, es el resultado de una operación, así que, no se
considera “tan constante” esta no la pondremos en mayúsculas.
Constante informatica

En programación, una constante es un valor que no puede ser alterado durante la ejecución de un
programa. Corresponde a una longitud fija de un área reservada en la memoria principal del
ordenador, donde el programa almacena valores fijos. El nombre de las constantes suele escribirse
en mayúsculas en la mayoría de lenguajes

La palabra constante tiene en C++ dos connotaciones sutilmente diferentes aunque relacionadas:

1.1 La primera es el sentido normal de la palabra constante en lenguaje natural; es decir, datos (de
cualquiera de los tipos posible) cuyos valores se han definido en el momento de escribir el código
del programa, y no pueden ser modificados más tarde en tiempo de ejecución (lo que significa que
sus valores deben ser resueltos en tiempo de compilación). Dicho en otras palabras: el compilador
sabe cuál es el valor de los objetos declarados como constantes y en base a este conocimiento
puede hacer cuantas suposiciones sean válidas para conseguir la mayor eficiencia en tiempo de
ejecución.

En este sentido, el concepto constante es justamente el opuesto a variable, que corresponde a


aquellos objetos-dato que pueden recibir nuevas asignaciones de valor a lo largo del programa.
Dicho en otras palabras: entidades cuyo valor solo es conocido en tiempo de ejecución.

1.2 La segunda connotación es la de tipo de objeto-dato. En este sentido podemos afirmar que en
C++ los enteros (variables) forman un tipo distinto de los enteros constantes (constantes enteras),
y que los caracteres (variables) forman un tipo distinto de las constantes carácter. Así pues,
distinguimos entre un tipo char y un tipo const char. Como prácticamente todos los tipos de
objeto-dato posibles en C++ puede declararse constantes, existe un universo de tipos C++,
simétrico al de los tipos de objetos variables, pero de objetos constantes.

Por ejemplo, un entero y una constante entera son tipos distintos y que una constante entera C++
significa algo más que un entero al que no se le puede cambiar su valor.

Lo que hace el compilador con los objetos declarados inicialmente como constantes depende de la
implementación. Esto significa que no está garantizado que tales objetos tengan un Lvalue. Por
ejemplo: en const int x = 5; no está garantizado que el compilador le asigne a x un Lvalue, es decir,
un espacio en memoria determinado (que se permita modificar o no su valor es otra cuestión).

Puede ocurrir que, por razones de eficacia, sea simplemente una especie de "define". Una especie
de nemónico que hace que el compilador lo sustituya por un 5 en cada trozo de código donde
aparezca x. Incluso en sitios donde aparezca asociada a otras constantes puede estar resuelto el
valor en tiempo de compilación. Por ejemplo, si en otro sitio del programa aparece: const int z = 7;
y más tarde: int w = x + z + y; puede ocurrir que el compilador establezca directamente: int w = 12
+ y.

Por esta razón no está garantizado que el operador const_cast funcione con objetos declarados
inicialmente como constantes.
Como se ha indicado, en C++ existen tantos tipos de constantes como tipos de variables, pero
aparte de las ya mencionadas constantes manifiestas, solo nos detendremos en las que por una u
otra razón hay cosas interesantes que puntualizar. Son las siguientes:

•Expresiones constantes

•Constantes enteras

•Constantes fraccionarias

•Constantes carácter de varios subtipos, incluyendo elementos aislados y cadenas

•Enumeraciones

Constantes carácter (Informática)

Es uno o más caracteres delimitados por comillas simples, como 'A', '+', o '\n'. En C++, son de un
tipo específico: char del que existen dos versiones, signed y unsigned. El valor por defecto, el que
se supone cuando no se indica nada en concreto (char a secas) depende del compilador, pero
puede ser seleccionado.

Constantes Tipo char

Las constantes de un carácter, tales como 'A', '\t' y '007', son representados como valores enteros,
int (signed). En estos casos, si el valor es mayor que 127, el bit más alto es puesto a -1 ( = 0xFF), es
decir, las constantes carácter cuyo valor ASCII es mayor de 127 se representan como números
negativos, aunque esto puede ser desactivado declarando que los caracteres son unsigned por
defecto.

Cualquiera de los tres tipos carácter: char, signed char y unsigned char, se almacenan en 8-bits (un
byte)].

En los programas a C++, una función puede ser sobrecargada con argumentos de cualquiera de los
tres tipos: char, signed char o unsigned char (porque son tipos distintos para el compilador). Por
ejemplo, los siguientes prototipos de funciones son válidos y distintos:

void func(char ch);

void func(signed char ch);

void func(unsigned char ch);

Sin embargo, si existiera solo uno de dichos prototipos, podría aceptar cualquiera de los tres tipos
carácter. Por ejemplo, el código que sigue sería aceptable (se produciría una conversión
automática de tipo al pasar el argumento a la función):

void func(unsigned char ch);


void main(void) {

signed char ch = 'x';func(ch); }

Constantes de carácter – ancho

El tipo de caracteres ancho se utiliza para representar juegos de caracteres que no caben en el
espacio (1 byte) proporcionado por los carácter normales (char, signed char o unsigned char).

En C++ wchar_t es una palabra clave que representa un tipo especial, el carácter ancho o
extendido. Su espacio de almacenamiento depende de la implementación. En el caso de BC++ 5.5
ocupa el mismo espacio que un int, es decir: 4 bytes. En las cadenas de caracteres anchos se
ocupan igualmente 4 bytes por carácter. Ejemplos:

wchar_t ch = L'A';

wchar_t *str = L"ABCD";

wchar_t nulo = L'\0' // carácter nulo ancho

Constantes multi-carácter

Las constantes mult-carácter consisten es un máximo de cuatro caracteres y son siempre valores
de 32 bits (1 palabra del procesador de 32 bits = 4 octetos). Por ejemplo, la constante
'\006\007\008\009'.

Este tipo de constante es válido solamente en programas C++Builder y por tanto, no es portable a
otros compiladores. Tanto en C como en C++ (Borland), las constantes multi-caracter son del tipo
int.

Constantes de enumeración (Informática)

Constantes de enumeración (Informática). Existe un tipo especial de variables denominadas


variables enumeradas o simplemente enumeraciones. Se caracterizan por poder adoptar valores
entre una selección de constantes enteras denominadas enumeradores, cuyos valores son
establecidos en el momento de la declaración del nuevo tipo. Son enteros y (una vez establecidos)
de valor constante, razón por la que se los denomina también constantes de enumeración.

Ejemplo

enum estado { MALO =0, REGULAR =1, BUENO =2, EXTRA =3 };

La sentencia anterior declara estado como un tipo de variable de enumeración. Los miembros de
esta clase pueden adoptar los valores indicados y son representados por los nemónicos: MALO,
REGULAR, BUENO y EXTRA. Estas cuatro constantes son los enumeradores del nuevo tipo.
Para facilitar la legibilidad, los identificadores de las constantes de enumeración son nemónicos, y
sus nombres suelen estar en mayúsculas, debido a una larga tradición C/C++ de representar de
este modo las constantes.

Las constantes (enumeradores) son de tipo entero, por lo que pueden ser utilizadas en cualquier
expresión donde sean permitidas las constantes enteras. Sus identificadores deben ser únicos
dentro del ámbito de la declaración enum. Se permiten inicializadores negativos; los valores que
adoptan los enumeradores suelen ser únicos (aunque se permiten duplicidades).

Para una visión más detallada de las declaraciones de estas constantes, ver la explicación que
sigue sobre la palabra clave enum.

Sintaxis

enum [<nombre-de-tipo>] {<nombr-const> [= <valor>], ...} [lista_var];

Puede omitirse la palabra clave enum siempre que el nemónico <nombre-de-tipo> no sea
empleado para nada más en el mismo ámbito.

Ejemplo:

calidad { BUENA, REGULAR, MALA };

En este caso el compilador presupone que calidad es un enumerador, y no debe existir otra
definición en el mismo ámbito de nombres. En otras palabras: calidad no debe utilizarse en el
mismo ámbito para designar otro objeto.

<nombre-de-tipo> es una etiqueta opcional que identifica al conjunto. Puede omitirse si no se va a


usar ninguna otra variable de este tipo de enumeración.

Ejemplo:

enum { CIERTO, DUDOSO, FALSO };

<nombr-const> es el nombre de la constante de enumeración (enumerador), a la que


opcionalmente puede asignarse el valor definido por <valor>. En el ejemplo anterior son tres:
CIERTO, DUDOSO y FALSO.

<valor> debe ser un entero (ya se ha señalado que los enumeradores son constantes enteras). Si
no se especifica ningún valor, se supone que es <previo> + 1, donde <previo> es el valor del
enumerador anterior de la lista (el valor por defecto para el primero es cero). <valor> puede ser
cualquier expresión que resulte en un entero positivo o negativo (después de posible conversión a
entero).

<lista_var> es una lista opcional de variables que son declaradas como del tipo enum que se
define.
Descripción

La palabra clave enum define una enumeración, una lista de los valores (constantes enteros) que
puede tomar una un tipo especial de variable a las que denominaremos variables enumeradas,
con la particularidad de que, para mayor legibilidad, esta lista de valores esta representada por
nemónicos. Por ejemplo, la declaración:

enum dias { DOM, LUN, MAR, MIE, JUE, VIE, SAB } diaX;

Establece un tipo enum al que se identifica por dias; las variables de este tipo pueden adoptar un
conjunto de seis valores enteros 0, 1, 2, 3, 4, 5, 6 (enumeradores) representados por los
nemónicos DOM, LUN,...,SAB. Además se define una variable enumerada diaX de este tipo.

enum modelo { ULT =-1, BW40=0, C40, BW80, C80, MONO =7 };

En este ejemplo se define un tipo enum al que identificamos por la etiqueta modelo; las variables
de este tipo pueden adoptar 6 valores (-1, 0, 1, 2, 3 y 7) que se identifican con los nemónicos: ULT,
BW40, C40, BW80, C80 y MONO.

Los valores asignados a los enumeradores dependen del formato de la declaración y de la


presencia de inicializadores opcionales.

Ejemplo

enum color { ROJO, VERDE, AZUL };

ROJO, VERDE y AZUL son enumeradores del tipo color y pueden ser asignados a cualquier variable
de tipo color o a cualquier otra variable de tipo entero. Los valores asignados a los enumeradores
son: ROJO == 0, VERDE == 1, AZUL == 2.

Constantes enteras (Informática)

Constantes enteras (Informática). Representan un int, y pueden estar expresadas en los sistemas
de numeración decimal; octal o hexadecimal. En ausencia de ningún sufijo, el tipo de una
constante entera se deduce de su valor. Las reglas para las constantes decimales son distintas del
resto.

Decimal

Se permiten constantes enteras en formato decimal (base 10) dentro del rango 0 a 4, 294, 967,
295; las que excedan este límite serán truncadas. Las constantes decimales no pueden comenzar
con cero, porque serían interpretadas como octales.

int i = 10; // decimal 10

int i = 010; // decimal 8 (octal 10)


int i = 0; // decimal 0 = octal 0

Tipos adoptados por las constantes decimales en función del valor declarado (en ausencia de
sufijos L o U)

0 a 32,767 int

32,768 a 2,147,483,647 long

2,147,483,648 a 4,294,967,295 unsigned long

>4294967295 truncado

Octal

Todas las constantes que empiecen por cero se suponen en octal (base 8). Si una constante de
este tipo contiene dígitos ilegales (8 o 9), se produce un mensaje de error, las que exceden del
valor máximo 037777777777 son truncadas.

Tipos adoptados por las constantes Octales en función del valor declarado (en ausencia de sufijos L
o U).

00 a 077777 int

010000 a 0177777 unsigned int

02000000 a 017777777777 long

020000000000 a 037777777777 unsigned long

> 037777777777 truncado.

Hexadecimal

Cualquier constante que comience por 0x o 0X es considerada hexadecimal, base 16, después se
pueden incluir los dígitos válidos (0...9, a...f, A...F). Las que excedan del valor máximo 0xFFFFFFFF
son truncadas.

Tipos adoptados por las constantes hexadecimales en función del valor declarado (en ausencia de
sufijos L o U).

0x0000 a 0x7FFF int

0x8000 a 0xFFFF unsigned int

0x10000 a 0x7FFFFFFF long

0x80000000 a 0xFFFFFFFF unsigned long


>0xFFFFFFFF truncado

Sufijos: long (L) y unsigned (U)

La adición de sufijos en la definición de una constante puede forzar que esta sea de un tipo
específico, así pues, los sufijos funcionan como una especie de "casting" para las constantes. Se
utilizan las letras U u L l. Estos sufijos se pueden utilizar juntos y en cualquier orden o grafía (ul, lu,
Ul, lU, uL, Lu, LU o UL).

Los sufijos L / l después de una constante la fuerzan a ser declarada como long. Ejemplo:

const x = 7L; // x es long

Los sufijos U / u la fuerzan a que sea declarada como unsigned; en este caso, con independencia
de la base utilizada, la constante será considerada unsigned long si el valor del número es mayor
que el decimal 65,535. Ejemplo:

const x = 7U; // x es unsigned int

const y = 66000U; // y es unsigned long

En ausencia de alguno de estos sufijos el tipo de la constante es el primero de los que se señalan
que pueda albergar su valor.

Decimal: int, long int, unsigned long int

Octal: int, unsigned int, long int, unsigned long int

Hexadecimal: int, unsigned int, long int, unsigned long int

Si la constante tiene un sufijo U o u, su tipo es unsigned int, unsigned long o int (el primero que
pueda albergar el valor).

Si tiene un sufijo L o l, su tipo es long int o unsigned long int (el primero que pueda albergar el
valor). Si la constante tiene ambos sufijos, u e l (ul, lu, Ul, lU, uL, Lu, LU o UL), su tipo de es
unsigned long int. Ejemplo:

const z = 0UL; // z es unsigned long

Como puede verse, las constantes enteras sin L o U compendian la representación de constantes
enteras en cualquiera de los tres sistemas de numeración (en C++Builder).

Algunos compiladores utilizan los sufijos ll/LL y ull/ULL para referirse a los enteros extendidos long
long y unsigned long long respectivamente.
CONCLUSION

En conclusión, una constante es un elemento de datos con nombre con un valor predefinido y no
se puede cambiar el valor asignado a una constante predefinida.

Las constantes predefinidas son:

NULL una referencia vacía.

TRUE equivalente al número 1.

FALSE equivalente al número 0.

Podemos de esta forma acotar, que una constante siempre se escribe en mayúscula ya que esto se
decidió, referente al estilo de programación y de esta manera se puede identificar rápidamente.

A la hora de declararlas, se suele utilizar las mismas condiciones que al declarar una variable.
linkografia

https://kikopalomares.com/que-es-una-constante-en-programacion-diccionario-del-programador/

https://www.ecured.cu/Constante_(Inform%C3%A1tica)

https://www.ecured.cu/Constantes_car%C3%A1cter_(Inform%C3%A1tica)

https://www.ecured.cu/Constantes_de_enumeraci%C3%B3n_(Inform%C3%A1tica)

https://www.ecured.cu/Constantes_enteras_(Inform%C3%A1tica)

Вам также может понравиться