Web - Amazon

We provide Linux to the World


We support WINRAR [What is this] - [Download .exe file(s) for Windows]

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
SITEMAP
Audiobooks by Valerio Di Stefano: Single Download - Complete Download [TAR] [WIM] [ZIP] [RAR] - Alphabetical Download  [TAR] [WIM] [ZIP] [RAR] - Download Instructions

Make a donation: IBAN: IT36M0708677020000000008016 - BIC/SWIFT:  ICRAITRRU60 - VALERIO DI STEFANO or
Privacy Policy Cookie Policy Terms and Conditions
Tipo de dato subrango - Wikipedia, la enciclopedia libre

Tipo de dato subrango

De Wikipedia, la enciclopedia libre

Icono puzzle

Este artículo o sección necesita ser wikificado con un formato adecuado a las convenciones de estilo de Wikipedia.
Por favor, edítalo para cumplir con ellas. No elimines este aviso hasta que lo hayas hecho. ¡Colabora wikificando!

El tipo de dato más simple que se puede definir en un programa Pascal es el tipo subrango o intervalo. Estos tipos son útiles, sobre todo por la facilidad que ofrecen para verificar automáticamente errores. Un tipo subrango se define de un tipo ordinal, especificando dos constantes de ese tipo, que actúan como límite inferior y superior del conjunto de datos de ese tipo. Un tipo subrango es un tipo ordinal y sus valores se ordenan de igual modo que en el tipo patrón de que se deducen.

Ejemplos:

1. 0..9 — este tipo subrango consta de los elementos
0,1,2,3,4,5,6,7,8,9
2. '0'..'9' — este subrango consta de los caracteres
'0','1','2','3','4','5','6','7','8', '9'
3. 'A'..'F' — este subrango consta de los caracteres
'A','B','C','D','F'


Se pueden crear variables cuyos valores se restrinjan a un subrango dado. Las declaraciones de tipo subrango se sitúan entre las declaraciones de constantes y de variables.

Formato:

type
  Nombre = límite inferior .. límite superior


Ejemplos:

{$R+} {Directiva de compilador R}
Program Positivos;
Uses Crt;
 {El siguiente programa realiza una validación 
  para que sólo se acepten valores positivos
  entre 0 y 32767 por medio de un tipo subrango}
Type
 NumPositivo = 0..MaxInt;
Var
 numero : NumPositivo;
Begin
 ClrScr;
 {numero:=-1; (está instrucción provocaría un error}
 Write('Escribe un número entero positivo : ');
 ReadLn(numero);
 ReadKey
end.

Nota: Puesto que Turbo Pascal no siempre produce un error cuando el valor de un tipo subrango está fuera de su rango definido. Sin embargo se puede tener la posibilidad de visualizar dichos errores mediante la directiva de compilador:

{$R+}  activada
{$R-}  desactivada

Por defecto, está desactivada. Sólo se debe usar durante la fase de depuración.


TIPOS ENUMERADOS En estos tipos de datos simples, se listan los identificadores que serán asociados con cada valor a utilizar.

Por ejemplo :

Type 
 dias_semana    =(lunes,martes,miércoles,jueves,
                 viernes,sabado,domingo);
 colores_baraja =(espada,oro,basto,copa);

De igual forma las variables pueden ser de tipo enumerado:

Var
  días     : dias_semana;
  baraja : colores_baraja;

Formato:

Type 
 nombre = (constante1,constante2,...,constanteN)


Los datos de tipo colores_baraja sólo podrán tomar los valores denotados por : espada, oro, basto, copa . La posición de cada valor en la lista define su orden, por lo que para el tipo dias_semana tenemos que :

domingo > viernes   da como resultado true 
sabado  < martes    da como resultado false 
jueves <> miércoles da como resultado true

Características:

  • Un tipo de dato enumerado es un tipo ordinal cuyo orden se indica por la disposición de los valores en la definición.
  • El número de orden de cada elemento comienza en 0 para el primer elemento.
  • Las variables de tipo enumerado sólo pueden tomar valores de estos tipos.
  • Los únicos operadores que pueden acompañar a los tipos ordinales son los operadores de relación y asignación.
  • A los valores de los tipos enumerados se les pueden aplicar las funciones estándar succ (de sucesor), pred (de predecesor) y ord (de ordinal).

En el caso del valor máximo de un tipo enumerado, succ no está definido, y, para su valor mínimo, no está definido pred.

La función estándar ord es aplicable a los argumentos que sean valores de tipo enumerado. La relación biunívoca se da entre los valores del tipo y los enteros comprendidos entre 0 y N-1, donde N es la cardinalidad del tipo enumerado.

El tipo estándar boolean es equivalente a un tipo enumerado de la forma :

boolean = ( false, true);


Ejemplo:

Program Dias_Semana;
Uses Crt;
 {El siguiete programa muestra los días de
  la semana por medio de tipos enumerados}
Type
 Dia_Semana = (Lunes,Martes,Miércoles,Jueves,
               Viernes,Sabado,Domingo);
Var
 días :Dia_Semana;
 i    :byte;
Begin
 ClrScr;
 días:=lunes;
 for i:=1 to 7 do
 begin
   case días of
       Lunes     :WriteLn('Lunes    ');
       Martes    :WriteLn('Martes   ');
       Miércoles :WriteLn('Miércoles');
       Jueves    :WriteLn('Jueves   ');
       Viernes   :WriteLn('Viernes  ');
       Sabado    :WriteLn('Sabado   ');
       Domingo   :WriteLn('Domingo  ')
   end;
   días:=succ(días)
 end;
 ReadKey
end.


Véase también

Our "Network":

Project Gutenberg
https://gutenberg.classicistranieri.com

Encyclopaedia Britannica 1911
https://encyclopaediabritannica.classicistranieri.com

Librivox Audiobooks
https://librivox.classicistranieri.com

Linux Distributions
https://old.classicistranieri.com

Magnatune (MP3 Music)
https://magnatune.classicistranieri.com

Static Wikipedia (June 2008)
https://wikipedia.classicistranieri.com

Static Wikipedia (March 2008)
https://wikipedia2007.classicistranieri.com/mar2008/

Static Wikipedia (2007)
https://wikipedia2007.classicistranieri.com

Static Wikipedia (2006)
https://wikipedia2006.classicistranieri.com

Liber Liber
https://liberliber.classicistranieri.com

ZIM Files for Kiwix
https://zim.classicistranieri.com


Other Websites:

Bach - Goldberg Variations
https://www.goldbergvariations.org

Lazarillo de Tormes
https://www.lazarillodetormes.org

Madame Bovary
https://www.madamebovary.org

Il Fu Mattia Pascal
https://www.mattiapascal.it

The Voice in the Desert
https://www.thevoiceinthedesert.org

Confessione d'un amore fascista
https://www.amorefascista.it

Malinverno
https://www.malinverno.org

Debito formativo
https://www.debitoformativo.it

Adina Spire
https://www.adinaspire.com