Tipos reales en pascal

REAL

En el contexto de Pascal, un número real es aquel que está compuesto de una parte entera y una parte decimal, separadas por un punto. El rango de estos números está dado entre los valores 1E-38 y 1E+38 . Cada valor de este tipo se guarda en SEIS OCTETOS de memoria.

Durante una operación aritmética con números reales, un valor mayor que 1E+38 (sobreflujo) causará la detención del programa y desplegará un mensaje de error; mientras que un valor menor que 1E-38 (bajoflujo), producirá un resultado igual a cero.

Deben tomarse en cuenta las siguentes restricciones para los valores de tiporeal:

  1. No pueden utilizarse como subindices en las definiciones del tipo estructurado array.
  2. No pueden formar subrangos.
  3. No se pueden usar para definir el tipo base de un conjunto (tipo estructurado set)
  4. No deben utilizarse para el control de las instrucciones for y case.
  5. Las funciones pred y succ no pueden tomarlos como argumentos.

Los números reales están siempre disponibles en Turbo Pascal, pero si su sistema incluye un coprocesador matemático como 8087, 80287 u 80387, se dispone además de otros tipos de números reales:

  • real (real)
  • single (real corto)
  • comp (entero ampliado)
  • double (real de doble precisión)
  • extended (real ampliado)

Computadoras sin coprocesador matemático (emulación por software)

datos disponibles : real, comp, double, extended y single.

Computadoras con coprocesador matemático

datos disponibles : real, comp, double, extended y single(reales IEEE)

Desde la versión 5.0 se permite utilizar los datos tipo coprocesador matemático aunque su computadora no lo tenga incorporado. La razón es que se emula dicho coprocesador. Los diferentes tipos reales se diferencian por el dominio de definición, el número de cifras significativas (precisión) y el espacio ocupado en memoria.

  • Turbo Pascal 4.0 requiere obligatoriamente un chip coprocesador matemático para hacer uso de números reales de coma flotante IEEE.
  • Turbo Pascal 5.0 a 7.0 emula el chip coprocesador matemático totalmente en software, permitiendo ejecutar tipos IEEE tanto si tiene como si no un chip 8087/287/387 instalado en su máquina.
TipoRangoCifrasTamaño y bytes
real2.910 E -39 .. 1.710 E 3811 -126
single1.510 E -45 .. 3.410 E 387 – 84
double5.010 E -324 .. 1.710 E 30815 – 168
extended1.910 E -4932 .. 1.110 E 493219 – 2010
comp-2 E 63 +1 .. 2 E 63 – 119 – 208

BOOLEAN

Un valor de tipo boolean puede asumir cualquiera de los valores de verdad denotados por los identificadores true y false, los cuales están definidos de tal manera que false < true.

Un valor de tipo boolean ocupa UN OCTETO en la memoria.

CHAR

Un valor de tipo char es cualquier carácter que se encuentre dentro del conjunto ASCII ampliado, el cual está formado por los 128 caracteres del ASCII más los 128 caracteres especiales que presenta, en este caso, IBM.
Los valores ordinales del código ASCII ampliado se encuentran en el rango de 0 a 255. Dichos valores pueden representarse escribiendo el carácter correspondiente encerrado entre apóstrofes.

Así podemos escribir:

'A' < 'a'

Que significa : » El valor ordinal de A es menor que el de a » o » A está antes que a »

Un valor de tipo char se guarda en UN OCTETO de memoria.

CADENA (STRING)

Un tipo string (cadena) es una secuencia de caracteres de cero o más caracteres correspondientes al código ASCII, escrito en una línea sobre el programa y encerrado entre apóstrofos.

El tratamiento de cadenas es una característica muy potente de Turbo Pascal que contiene ISO Pascal estándar.

Ejemplos:

'Turbo Pascal','Tecnológico', #13#10 

Nota:

  • Una cadena sin nada entre los apóstrofos se llama cadena nula o cadena vacía.
  • La longitud de una cadena es el número de carácteres encerrados entre los apóstrofos.