Lectura TipodeDatos2
Lectura TipodeDatos2
Lectura TipodeDatos2
1.- Introducción
Los algoritmos manipulan valores, estos valores no suelen ser valores sueltos, sino un conjunto de ellos
relacionados entre sí. Por ejemplo, normalmente no se utiliza un número solo sino muchos números,
con los que se puede realizar muchas operaciones. Por esta razón, los valores se agrupan en conjuntos
de valores llamados tipos de datos. En otras palabras, un tipo de datos es una estructura matemática que
agrupa un conjunto de elementos con características comunes, sobre los cuales se definen determinadas
operaciones.
En esencia un tipo de dato reúne las cualidades comunes a un grupo de elementos u objetos que los
distinguen en una clase o especie. Y consta de dos partes: el conjunto de valores y un conjunto de
operaciones sobre dichos valores.
El valor caracteriza el contenido del dato. Al conjunto de valores que incluye un tipo de dato se le
conoce como dominio. Ejemplo: 15, Pedro Pérez, V12345566, 04.
En general, los datos pueden venir expresados como constantes, variables, expresiones o funciones. Las
constantes y variables tienen un tipo y las expresiones se clasifican según el resultado que producen.
Generalidades
• Los tipos de datos determinan el conjunto de valores al cual pertenece una constante, puede ser
tomado por una variable o por una expresión.
• Un compilador puede emplear esta información referente a tipos de datos para verificar la legalidad
de diversas construcciones. Por ejemplo una asignación equivocada o una operación inválida.
• Evitan o detectan errores de programación: Un tipo caracteriza el conjunto de valores que las
expresiones de ese tipo pueden tener.
• Ayudan a estructurar la información: Los tipos pueden verse como colecciones de valores que
comparten ciertas propiedades.
• Ayudan a manejar estructuras de datos: Los tipos indican cómo utilizar las estructuras de datos que
comparten el mismo tipo.
• Por un lado, los tipos de datos permiten detectar errores en las operaciones y por otro lado, determina
cómo se ejecutan estas operaciones.
1
• Por cada tipo de dato estándar los lenguajes de programación ofrecen cierto conjunto de operadores
primitivos estándar.
Tipos de Datos
Estáticos Dinámicos
Colas
Real Enumerado Vectores Registros
s fijos Árboles
Booleano Intervalo Matrices Registros
variantes Grafos
Caracter Cadenas
Entero
Que un tipo de datos sea estático quiere decir que el tamaño que ocupa en memoria no puede variar
durante la ejecución del programa. Es decir, una vez declarada una variable de un tipo determinado, a
ésta se le asigna un trozo de memoria fijo, y este trozo no se podrá aumentar ni disminuír.
4.1 Enteros: Es el tipo de dato primitivo más común está conformado por un subconjunto finito
de los números enteros. Los enteros son números completos no tienen componente fraccionaria
o decimal y pueden ser positivos o negativos. Ej. 876, -45.
Hoy en día muchos computadores varios tamaños de enteros y sus capacidades se ven reflejadas
en los lenguajes de programación. Ej. El lenguaje C soporta short integer, integer y long
integer.
Una variable entera (int) está formada por 4 bytes, es decir 32 bits. Estos 32 bits representan el
valor almacenado por esa variable en binario. Por ejemplo:
En general, una variable entera x está formada por 32 bits que denotaremos x31, x30, ... , x2, x1
y x0.
El valor numérico representado por la variable x está dado por el siguiente cálculo:
Ejemplos:
• valor(000...001001) = 1*2^3+1*2^0= 9
• valor(111...111010) = - (valor(000...000101)+1) = - (5+1) = -6
Una variable entera (int) siempre utiliza 32 bits, aún cuando el número sea pequeño. Por otra
parte, no es capaz de almacenar números demasiado grandes (en valor absoluto).
3
Valores máximos y mínimos
Máximo= valor(011...111111)= 231 -1
Mínimo= valor(100...000000)= -231
Por lo tanto, con un entero se pueden almacenar números de 9 dígitos aproximadamente.
Ejercicios:
• ¿Qué número representa el siguiente número en binario 000...00101011? resp 43
• ¿y el 111...101001?
• ¿Cómo se representa en el computador el número 23?
• ¿y el -35?
4.2 Reales: es un subconjunto de los números reales. Tienen parte decimal y pueden ser
positivos y negativos. Ej. 0.8, 678.55
Una variable real (double) está formada por 8 bytes, es decir el doble de un entero. En ella se
almacenan números reales en formato binario. Por ejemplo, el número:
1101.1010
Los primeros computadores almacenaban los números reales en un formato llamado punto fijo,
en donde se destinaba una cantidad fija de bits para la parte entera (por ejemplo 32 bits) y el
resto a la parte fraccionaria. Por lo tanto, el número anterior sería representado en 64 bits como:
En esta representación, el punto que separa la parte entera de la parte fraccionaria, siempre se
ubica en una posición fija y de ahí el nombre de esta representación.
4
En estas expresiones se considera mantisa (parte decimal) al número real y el exponente (parte
potencial) el de la potencia de 10.
Ejemplos:
Número Notación Científica Notación Punto Flotante
5966000000000000000000000 kg = 5,9660·1024 kg. (masa de la tierra)
• el signo: +
• mantisa: 10110000...
• exponente: 4
La mantisa es una secuencia de bits que siempre comienza en 1. El exponente indica en donde
colocar el punto que separa la parte entera de la fraccionaria. Un valor 0 indica que el punto se
coloca justo antes del primer bit. Un valor 4 indica que se coloca después del cuarto bit. Un
valor -3 indica que hay que imaginar que el número va precedido por 0.000 y luego viene la
mantisa.
• el signo: -
• mantisa: 110010000...
• exponente: 7
5
4.4 Cadena de Caracteres: Es una sucesión de caracteres que se encuentran delimitados por
comillas, apóstrofes o doble comilla según el lenguaje. Ej. Nombres, direcciones y palabras en
general: ‘Universidad de Carabobo’
4.5 Lógico: Es aquel dato que solo puede almacenar dos valores (representa los valores
lógicos): verdadero o falso. Se usa generalmente para representar alternativas (si/no) a
determinadas condiciones.
5. Operaciones
El conjunto de operaciones definido para un tipo de dato determina como se pueden manipular los
datos. Pueden ser primitivas, definidas por el lenguaje de programación o definidas por el
programador, es una función matemática, para un argumento (o argumentos) de entrada de dato, tiene
un resultado bien definido y determinado de manera exclusiva. Cada operación tiene un dominio
(conjunto de valores posibles de entrada con base a los cuales se define un intervalo), y el conjunto de
posibles resultados que puede producir. La acción define los resultados que se producen para un
conjunto dado de argumentos.
5.1 Operadores
Un operador maneja uno o varios datos (operandos) para realizar un determinado cálculo con
ellos. Dependiendo del tipo de los operandos se podrán aplicar unos tipos de operadores u
otros. Se conocen como los símbolos usados como función.
La función puede ser infija si tiene dos argumentos y prefija si tiene solo una. Existen 4 tipos
de operadores: • Aritméticos • Alfanuméricos • Relacionales • Lógicos
6
Los operadores aritméticos son aplicables a los tipos de datos numéricos. La operación mod
sólo se aplica a datos enteros.
Nota: No todos los operadores aritméticos existen en todos los lenguajes de programación. Por
ejemplo en Fortran no existen ni el DIV ni el MOD.
El operador exponenciación es diferente según el lenguaje.
7
5.3 Comparaciones con tipo de dato lógico:
Cuando se utilizan los operadores de relación con valores lógicos la constante falso es menor
que la constante verdadero falso < verdad; verdad > falso.
Nivel Símbolo
1° ↑
2° *, /, MOD, DIV, - (unario)
3° +, -
4° <, >, <=, >=, =, <>
Operadores lógicos:
Nivel Símbolo
1° ¬
2° ^
3°
En resumen:
Nivel Símbolo
1° ↑, ¬
2° *, /, MOD, DIV, - (unario), ^
3° +, -,
4° <, >, <=, >=, =, <>
6.1 Tipo Intervalo: algunas veces una variable toma valores de un cierto tipo únicamente
dentro de un intervalo específico, por lo tanto este se puede definir como un tipo intervalo.
La sintaxis de un intervalo es la siguiente:
Tipo:
Donde:
▪ T es el identificador del nuevo tipo.
▪ min y max especifican los límites inferior y superior del intervalo.
▪ El tipo de datos de min y max puede ser entero o carácter o un tipo Enumerado.
▪ Se puede verificar que la definición del intervalo es aceptable si y solo si se verifica
que min max.
Las operaciones que se pueden realizar sobre una variable de tipo Intervalo son iguales que las
del tipo a partir del cual está definido.
Ejemplo :
8
Tipo
Nota = 0 ... 20
Sobre la variable nota se pueden aplicar operaciones definidas para los enteros
6.2 Tipo Enumerado: es una secuencia ordenada y finita de valores referenciados por
identificadores. La sintaxis de un enumerado es la siguiente:
Tipo
Donde :
▪ T es el identificador del nuevo tipo.
▪ Los identi (1 i n) son los identificadores que forman el tipo.
▪ El orden de los identificadores en T está definido por la siguiente regla:
▪ Una variable x de tipo Enumerado T sólo puede tomar valores que se encuentren dentro
de la lista de identificadores que define a T.
▪ Los únicos operadores asociados al tipo Enumerado son el operador de asignación y los
operadores de comparación.
Ejemplo :
Tipo