Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Compatibilidad de tipos:
Dos tipos son compatibles, segn la equivalencia entre argumento y variable para el lenguaje
usado:
Equivalencia por nombre: Dos variables tiene tipos compatibles si tienen el mismo nombre de
tipo. Ejemplo: Si A y B son enteros -> son compatibles.
Equivalencia estructural: Dos variables tienen tipos compatibles si tienen la misma estructura
interna. Ejemplo: Sean A y B como sigue:
Enumerado
Elemental
SubRango
1
Tipo
n
Estructurado
Homogneos: archivos
arreglos
=
tipo
de componentes
!=
Heterogneos: registros
n-1 bits
Magnitud
Signo
Tipo de dato = Entero
Cardinalidad: La cardinalidad se define como el conjunto de valores que puede tomar una
variable de un tipo de dato dado. Se puede decir que la cardinalidad est determinada por el
conjunto de valores asociados a un tipo. La cardinalidad de un entero de n bits es 2 n en
complemento A2.
2.1.2 Tipo real:
Conjunto de valores: El tipo real tiene asociado un subconjunto de los reales.
Conjunto de operaciones: Las operaciones ms comunes sobre reales son la adicin, resta,
multiplicacin y divisin. Muchos lenguajes y arquitecturas proveen operaciones como la
potencia, seno, coseno, y otras.
Implementaciin de la representacin: Se representan en el computador como un par de
enteros, generalmente de rangos distintos, de la forma:
R
Mantisa
Exponente
Tipo de dato=Real
Cardinalidad: La cardinalidad de un real con n bits para la mantisa y m bits para el exponente
es CARD(real) = 2n.2m = 2n+m, si la mantisa y el exponente estn representados en
complemento A2.
2.1.3 Tipo caracter:
Conjunto de valores: Corresponde a un conjunto de caracteres y operaciones sobre ellos.
Depende del sistema de codificacin. Ejemplo: Tabla ASCII tiene 128 caracteres, y la ASCII
extendida 256 caracteres.
Conjunto de operaciones: Como veremos posteriormente, el conjunto de caracteres es un
conjunto ordenado, por lo que las operaciones ms comunes entre ellos son: Relacionales (>,
<, >=, <=, <>, =), Primero, Ultimo, Sucesor, Predecesor, Ordinal y Caract.
Implementacin de la representacin: Desafortunadamente no existe un conjunto de
caracteres que se use en todos los sistemas de computacin. Sin embargo, la Organizacin
Internacional de Normas (ISO) define el cdigo Estadounidense ASCII (Cdigo Estndar
Estadounidense para el Intercambio de Informacin), el cual constituye el cdigo ms
aceptado. Este cdigo consta de 128 caracteres, de los cuales, 99 son imprimibles y los
restantes 33 son de control. En muchas mquinas se usan 8 bits para representar los
caracteres, y suele usarse la tabla ASCII extendida, que consta de 256 caracteres (los
mismos 128 del Cdigo ASCII, y otros 128 caracteres).
Su representacin es de la siguiente forma:
C
= [1900 .. 2000]
= ['A' .. 'Z']
Conjunto de operaciones: Las operaciones son heredadas de las operaciones del tipo de
dato original del cual se define un subrango (Tipo caracter o entero).
Implementacin de la representacin: Usaremos la siguiente definicin de tipo subrango
general para detallar la representacin.
Tipo <Nombre-Subrango> = [<Li> .. <Ls>]
En muchos lenguajes se maneja un descriptor que contiene el tipo de dato (subrango), el tipo
base del subrango (caracter o entero) y los lmites del subrango para determinar cuando una
variable sobrepasa su rango (desbordamiento).
Tipo subrango
De enteros o caracteres
S
E/C Li
Ls Valor
Tipo subrango
valor tope que puede tomar
En Ls
Valor
Conjunto de valores: Valores estructurados (e <Li>, e<Li>+1, ..., e<Ls>) en donde ei es del tipo base
del arreglo, y el nmero de elementos del arreglo es <Ls>-<Li>+1.
Operacin selectora: Permite referenciar una componente individual del arreglo. La sintaxis
es
<nombre de la variables> [<indice>]
El ndice puede ser una constante, variable o expresin. En cualquier caso, este se evala y
se accede el elemento que este indique.
Operacin constructora: Consiste en asociar un valor estructurado a un arreglo, que se
corresponda con sus caractersticas (#elementos y tipo de elementos).
Implementacin de la representacin:
El descriptor del arreglo est determinado por los elementos que intervienen en su definicin.
Estos pueden enumerarse en: el nombre del tipo, los lmites del intervalo de definicin, el
nombre del tipo base, y el tamao del tipo base.
AU
<Li>
Tbase
Tam
Implementacin de la representacin:
El descriptor del arreglo est determinado por los elementos que intervienen en su definicin.
Estos pueden enumerarse en: el nombre del tipo, los lmites del intervalo de definicin tanto
por filas como columnas, el nombre del tipo base, y el tamao del tipo base.
AB
<Li1>
<Ls1>
<Li2>
<Ls2>
Tbase
Tam
iLi1 jLi1
Tipo <N-reg> =
Registro
<C1>: <T1>
<C2>: <T2>
...
<Cn>: <Tn>
FinRegistro
donde <Ci> es el nombre del campo i-simo del registro, y <Ti> su tipo asociado.
Conjunto de valores: Valores estructurados (e 1, ... , en) en donde ei es de tipo <Ti>.
n
Cardinalidad( Campo _ i )
i1
Operacin selectora:
Sintaxis: <N-reg>.<Ci> ---> Tbase
Semntica: <N-reg>.<Ci> retorna el valor del campo i-simo del registro
Operacin constructora: Permite asignar un valor estructurado a un registro, acorde con su
definicin.
<N-reg> = (e1, e2, ..., en) donde ei es de tipo Ti
Implementacin de la representacin:
R
Tipo registro
Valor_1
Valor_2
...
Valor_n