BotonMenu
BotonIndice

Visita : http://www.conoce3000.com
Paypal : https://www.paypal.me/conoce3000/1

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL

PASCAL CON FREE PASCAL


2. TIPOS DE DATOS SIMPLES.
2.12. TIPOS DE DATOS COMPATIBLES.
2. TIPOS DE DATOS SIMPLES.
2.12. TIPOS DE DATOS COMPATIBLES.
2. TIPOS DE DATOS SIMPLES.
2.12. TIPOS DE DATOS COMPATIBLES.

SIGUIENTE

SIGUIENTE

SIGUIENTE


‒ Tipos de datos compatibles.

Pascal es un lenguaje “fuertemente tipado”. Esto significa que hay limitaciones bastante estrictas sobre cómo pueden asignarse datos de un determinado tipo a otras de tipo diferente.

En general los datos asignados a una variable deben ser del mismo tipo, pero existen algunas excepciones. Cuando se pueden asignar datos a una variable de diferente tipo, a estos tipos de datos se denominan “tipos de datos compatibles”.

Los tipos de datos compatibles son los tipos de datos enteros, reales y subrango.

Las reglas de utilización de los tipos de datos compatibles son:

• Los tipos de datos enteros pueden asignarse a variables con tipos de datos reales. Sin embargo, lo contrario no es posible, es decir que los tipos de datos reales no pueden asignarse a variables con tipos de datos enteros. A continuación un ejemplo de esta regla:


Descargar
{$codepage UTF8}

VAR  a:longint;
     b:double;

BEGIN
  a:=4568;
  b:=a;
  writeln('a= ',a:10);
  writeln('b= ',b:10:4);
  readln()
END.
Código fuente 25: Asignando una variable de tipo longint a una variable de tipo double.
Descargar

Como se puede observar, el valor de la variable de tipo longint se asigno sin problema alguno a la variable de tipo real, siendo estos tipos de datos distintos. Hacer lo contrario asignar un real a un tipo de dato entero ocasionará que el programa no pueda ser compilado.

• Los tipos de datos enteros son compatibles para asignación unos con otros, pero se debe tener en cuenta el rango. Por ejemplo si a una variable A de tipo “integer” se le asigna el dato 4568, para luego asignar la variable A, a otra variable B de tipo Byte, se guardará un dato truncado o recortado al tamaño de la variable B, esto debido a que 4568 no está dentro del rango permitido del tipo de dato Byte. Ejemplo:


Descargar
{$codepage UTF8}

VAR  a:integer;
     b:byte;

BEGIN
  a:=4568;
  b:=a;
  writeln('a= ',a:10);
  writeln('b= ',b:10);
  readln()
END.
Código fuente 26: Resultado inesperado ¿Qué sucedió?.
Descargar

Como puede observar al intentar asignar un valor fuera del rango de un tipo de dato byte, sucede lo siguiente, el número se trunca tomando sólo un byte del número 4568, es decir 216. Para entenderlo mejor el equivalente en hexadecimal de 4568 es $11D8, y al asignarlo a un tipo de dato byte, el compilador lo trunca asignado sólo $D8 que es el 216, e ignorando los bits que se encuentran a la izquierda de $11D8. Por ejemplo si asignamos el número de tipo longint $4525A689, a una variable de tipo byte el compilador truncará y asignará el número $89. Y si se asigna el mismo número a una variable de tipo integer entonces se asignará $A689.

• Los tipos de datos reales son compatibles para asignación unos con otros, pero se debe tener en cuenta el rango. Es decir si se asigna una variable de tipo double a una variable de tipo single, entonces se pierde precisión en las cifras significativas.

• Los tipos de datos subrango, al ser definidos de un tipo de dato entero, sólo son compatibles para asignación con otro tipo de dato entero; si el tipo de dato subrango es definido con un tipo de dato carácter es sólo compatible con un tipo de dato carácter y del mismo modo con los tipos de datos enumerados.




SIGUIENTE
SIGUIENTE
SIGUIENTE


 
‒ Comentarios y sugerencias.

Agradezco de antemano, todo comentario, sugerencia, y donativo (a través de Paypal me), que ayude a mejorar los contenidos educativos de Conoce 3000. Además, cualquier pregunta o duda que tengas lo puedes hacer por este medio. Pero, todo contenido que pueda resultar ofensivo, malicioso, racista, sexista, discriminatorio, obsceno, vulgar será eliminado.








PORTADA |  INTERESANTE |  APUNTES |  LIBROS |  GALERIA


Creative Commons License


Todos los textos, imágenes y videos de Conoce3000 estan colocados bajo una licencia : Creative Commons Reconocimiento-NoComercial 3.0 Unported License.