16
ESTRUCTURA DE ESTRUCTURA DE DATOS DATOS Clase II Clase II IUTE – MÉRIDA IUTE – MÉRIDA PROF: DUBERLIS GONZÁLEZ PROF: DUBERLIS GONZÁLEZ

Clase II Estructura de Datos. IUTE- Merida

Embed Size (px)

Citation preview

Page 1: Clase II Estructura de Datos. IUTE- Merida

ESTRUCTURA DE ESTRUCTURA DE DATOS DATOS Clase IIClase II

IUTE – MÉRIDAIUTE – MÉRIDA

PROF: DUBERLIS GONZÁLEZPROF: DUBERLIS GONZÁLEZ

Page 2: Clase II Estructura de Datos. IUTE- Merida

FUENTES DE INFORMACIÓNFUENTES DE INFORMACIÓN

Dato. Esta asociado a un objeto o hecho Dato. Esta asociado a un objeto o hecho concreto. concreto.

Información. Compuesta de datos organizados, Información. Compuesta de datos organizados, agrupados o clasificados en categorías que le agrupados o clasificados en categorías que le dotan de significado. dotan de significado.

Page 3: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATOSTIPOS DE DATOS

El tipo de un dato es el conjunto de valores queEl tipo de un dato es el conjunto de valores quePuede tomar durante el programa. Puede tomar durante el programa.

La asignación de tipos a los datos tiene La asignación de tipos a los datos tiene dosdosobjetivosobjetivos principales: principales: Por un lado, detectar errores en las operaciones Por un lado, detectar errores en las operaciones Por el otro, determinar cómo ejecutar estas operacionesPor el otro, determinar cómo ejecutar estas operaciones

todos los datos deben de tener un tipo declarado explícitamente, ytodos los datos deben de tener un tipo declarado explícitamente, yademás que existen ciertas restricciones en las expresiones en cuantoademás que existen ciertas restricciones en las expresiones en cuantoa los tipos de datos que en ellas intervienen a los tipos de datos que en ellas intervienen

Page 4: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATOSTIPOS DE DATOS

El manejo de la informaciónEl manejo de la información

en cualquier lenguajeen cualquier lenguaje

de programación se realizade programación se realiza

mediante diferentesmediante diferentes

clases de datos.clases de datos.

Entero (Integer)Entero (Integer) Numeros enteros Numeros enteros sin parte Decimalsin parte Decimal

Carácter ( Char)Carácter ( Char) Cracteres del Cracteres del codigo ASCIIcodigo ASCII

Boleano Boleano (Boolean) (Boolean)

Pueden contener Pueden contener los valores de los valores de falso o verdadero falso o verdadero

Real Real Números que Números que pueden incluir pueden incluir una parte decimal una parte decimal

Cadena (String)Cadena (String) En una secuenciaEn una secuencia

de caracteres quede caracteres que

se trata como unse trata como un

solo dato.solo dato.

Page 5: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATOSTIPOS DE DATOSUn programa debe ser capaz de manejar diferentes tipo de datos,Un programa debe ser capaz de manejar diferentes tipo de datos,

como pueden ser números enteros, reales, caracteres, cadenas decomo pueden ser números enteros, reales, caracteres, cadenas de

caracteres, etc. Para lograr el manejo de toda esta información .caracteres, etc. Para lograr el manejo de toda esta información .

Tipos enterosTipos enterosEn esta categoría generalmente cuenta con 5 tipos diferentes,En esta categoría generalmente cuenta con 5 tipos diferentes,

cada uno abarca un rango específico de valores y utilizan unacada uno abarca un rango específico de valores y utilizan una

diferente cantidad de memoria dependiendo de ese rango.diferente cantidad de memoria dependiendo de ese rango.

Naturalmente el trabajar con rangos menores nos ofrece unaNaturalmente el trabajar con rangos menores nos ofrece una

mayor velocidad y menor espacio en memoria, pero si semayor velocidad y menor espacio en memoria, pero si se

utilizan enteros largos se cuenta con mayor presición. Losutilizan enteros largos se cuenta con mayor presición. Los

tipos de enteros en  son: tipos de enteros en  son:

Page 6: Clase II Estructura de Datos. IUTE- Merida

TIPO DE DATOS ENTEROSTIPO DE DATOS ENTEROS

TipoTipo Rango de valores que aceptaRango de valores que acepta

Integer  (Entero)Integer  (Entero) -32,768 a 32,767-32,768 a 32,767   

Word     (Palabra)Word     (Palabra) 0 a 65535 0 a 65535

ShortInt  (Entero corto)ShortInt  (Entero corto) -128 a 127  -128 a 127 

ByteByte 0 a 2550 a 255   

LongInt  (Entero largo)LongInt  (Entero largo) -2,147,483,648 a 2,147,483,648-2,147,483,648 a 2,147,483,648   

Page 7: Clase II Estructura de Datos. IUTE- Merida

TIPO DE DATOS REALESTIPO DE DATOS REALES

Los números reales son aquellosLos números reales son aquellos

que cuentan con una parte que cuentan con una parte

decimal. En algunos lenguajes dedecimal. En algunos lenguajes de

programación se tienenprogramación se tienen

varios tipos de datos reales, perovarios tipos de datos reales, pero

no se puede utilizar, masno se puede utilizar, mas

que el tipo que el tipo realreal, en máquinas que, en máquinas que

no cuenten con un coprocesadorno cuenten con un coprocesador

matemático. Los tipos de datosmatemático. Los tipos de datos

reales son: reales son:

TipoTipo Rango de valores Rango de valores que aceptaque acepta

Real  Real  2.9E-39 a 1.7E38 2.9E-39 a 1.7E38

Single Single 1.5E-45 a 3.4E38 1.5E-45 a 3.4E38

Double Double 5.0E-324 a 1.7E308 5.0E-324 a 1.7E308

Extended Extended 1.9E-4851 a 1.1E4932   1.9E-4851 a 1.1E4932  

Comp  Comp  -9.2E18 a 9.2E18   -9.2E18 a 9.2E18  

Los números reales deben llevar por fuerza al menos un dígito de cada lado del punto decimal así sea éste un cero. Como ejemplo, el número 5 debe representarse como: 5.0, el .5 como 0.5 , etc.

Page 8: Clase II Estructura de Datos. IUTE- Merida

TIPO DE DATOS REALESTIPO DE DATOS REALESEjemplos:Ejemplos:

double miPi = 314.16e-2 ; // aproximadamentedouble miPi = 314.16e-2 ; // aproximadamente

float temperatura = (float)36.6; // Paciente sinfloat temperatura = (float)36.6; // Paciente sin

fiebrefiebre

Se realiza un moldeado a Se realiza un moldeado a temperaturatemperatura, porque, porque

todos los literales con decimales por defectotodos los literales con decimales por defecto

se consideran se consideran doubledouble..

Page 9: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATO CARACTERTIPOS DE DATO CARACTERLos caracteres son cada uno de los símbolos que forman elLos caracteres son cada uno de los símbolos que forman elcódigo ASCII.. Los caracteres se especifican entre apostrofes: código ASCII.. Los caracteres se especifican entre apostrofes:

'a' 'a' 'B' '2' '#' 'B' '2' '#' 

El tipo Char es un tipo ordinal en algunos lenguajes de El tipo Char es un tipo ordinal en algunos lenguajes de programacion, ésto quiere decir que sus elementos válidosprogramacion, ésto quiere decir que sus elementos válidossiguen una secuencia ordenada de valores individuales. Lasiguen una secuencia ordenada de valores individuales. Lasecuencia de caracteres para este tipo corresponden alsecuencia de caracteres para este tipo corresponden alnúmero del código ASCII, del 0 al 255.número del código ASCII, del 0 al 255.Es posible accesar a cada uno de los caracteres utilizando unEs posible accesar a cada uno de los caracteres utilizando unsigno # antes de su valor correspondiente, por ejemplo, la letrasigno # antes de su valor correspondiente, por ejemplo, la letraA puede ser representada como A puede ser representada como #65#65

Page 10: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATO CARACTERTIPOS DE DATO CARACTER

Las variables de tipo Las variables de tipo charchar se declaran de la se declaran de la

siguiente forma:siguiente forma:

char letraMayuscula = 'A'; // Observe la char letraMayuscula = 'A'; // Observe la necesidad de las ' 'necesidad de las ' '

Page 11: Clase II Estructura de Datos. IUTE- Merida

TIPO CADENATIPO CADENALas cadenas son secuencias de caracteres o arreglos queLas cadenas son secuencias de caracteres o arreglos quetienen una longitud máxima de 255 caracteres. Se definentienen una longitud máxima de 255 caracteres. Se definenentre apostrofes. entre apostrofes.

Nombre : Cadena;    Nombre : Cadena;    Nombre = 'Ernesto González'; Nombre = 'Ernesto González'; 

La cadena 'Ernesto González' es almacenada en la variableLa cadena 'Ernesto González' es almacenada en la variablenombre definida como tipo cadena. nombre definida como tipo cadena. El tamaño por defecto para un tipo string es de 255El tamaño por defecto para un tipo string es de 255caracteres, pero es posible definir uno mas pequeñocaracteres, pero es posible definir uno mas pequeñoutilizando el siguiente formato: utilizando el siguiente formato:

Variable : Cadena[Tamaño];Variable : Cadena[Tamaño];

Donde Variable es la variable a definir y Tamaño es el número maximoDonde Variable es la variable a definir y Tamaño es el número maximode caracteres que podrá contener esa variable (naturalmente mayor ade caracteres que podrá contener esa variable (naturalmente mayor a0 y menor a 256). 0 y menor a 256).

Page 12: Clase II Estructura de Datos. IUTE- Merida

TIPO CADENATIPO CADENA

Por ejemplo:

Nombre : String[30];   {Permite un máximo de 30 caracteres en la variable}  Nombre := 'Ernesto González';   Escribir (Nombre[5]);   {Visualiza el 5to caracter de la cadena}   

Page 13: Clase II Estructura de Datos. IUTE- Merida

TIPOS DE DATOS LOGICOSTIPOS DE DATOS LOGICOSEste tipo de datos tienen la peculiaridad de que solo pueden tomar Este tipo de datos tienen la peculiaridad de que solo pueden tomar

dos tipos dedos tipos dedatos: verdadero o falso, el verdadero puede ser representado por sudatos: verdadero o falso, el verdadero puede ser representado por sunombre en inglés: nombre en inglés: TrueTrue y el falso por y el falso por FalseFalse; ; también se representan por también se representan por 11 y por y por 0 0 respectivamente. El tiporespectivamente. El tipoestá definido como está definido como BooleanBoolean. . Los datos lógicos tienen una enorme aplicación en la evaluaciónLos datos lógicos tienen una enorme aplicación en la evaluaciónde ciertos procesos, así como en el control de flujo de losde ciertos procesos, así como en el control de flujo de losprogramas. programas. 

EjemploEjemploPara declarar un dato del tipo booleano se utiliza la palabraPara declarar un dato del tipo booleano se utiliza la palabrareservada reservada boolean:boolean:

boolean reciboPagado = false; // ¡¿Aun no nos han pagado?!boolean reciboPagado = false; // ¡¿Aun no nos han pagado?!

Page 14: Clase II Estructura de Datos. IUTE- Merida

ESTRUCTURA DE DATOS LINEALESESTRUCTURA DE DATOS LINEALES

Se derivan del concepto de Se derivan del concepto de secuenciasecuencia. Primero se. Primero sedefinen las secuencias como conjuntos dedefinen las secuencias como conjuntos deelementos entre los que se establece una relaciónelementos entre los que se establece una relaciónde predecesor y sucesor. Los diferentes TADsde predecesor y sucesor. Los diferentes TADsbasados en este concepto se diferenciaran por lasbasados en este concepto se diferenciaran por lasoperaciones de acceso a los elementos y manipulación deoperaciones de acceso a los elementos y manipulación dela estructura. Desde el punto de vista de la informática,la estructura. Desde el punto de vista de la informática,existen tres estructuras lineales especialmenteexisten tres estructuras lineales especialmenteimportantes: importantes: las las pilaspilas, , las las colascolas y y las las listaslistas. Su. SuImportancia radica en que son muy frecuentes en losImportancia radica en que son muy frecuentes en losesquemas algorítmicos. esquemas algorítmicos.

Page 15: Clase II Estructura de Datos. IUTE- Merida

ESTRUCTURA DE DATOS LINEALESESTRUCTURA DE DATOS LINEALES

La diferencia entre las tres estructuras que seLa diferencia entre las tres estructuras que seestudiarán vendrá dada por la posición delestudiarán vendrá dada por la posición delelemento a añadir, borrar y consultar: elemento a añadir, borrar y consultar: Pilas: las tres operaciones actúan sobre el final Pilas: las tres operaciones actúan sobre el final

de la secuencia de la secuencia Colas: se añade por el final y se borra y consulta Colas: se añade por el final y se borra y consulta

por el principio por el principio Listas: las tres operaciones se realizan sobre Listas: las tres operaciones se realizan sobre

una posición privilegiada de la secuencia, la una posición privilegiada de la secuencia, la cual puede desplazarse cual puede desplazarse

Page 16: Clase II Estructura de Datos. IUTE- Merida

ESTRUCTURA DE DATOS NO LINEALESESTRUCTURA DE DATOS NO LINEALES

la estructura de datos no lineales se caracteriza por nola estructura de datos no lineales se caracteriza por noexistir una relación de sus elementos es decir que unexistir una relación de sus elementos es decir que unelemento puede estar con cero uno o mas elementos.elemento puede estar con cero uno o mas elementos.Las estructuras no lineales de datos mas general son losLas estructuras no lineales de datos mas general son losárboles donde no existe ninguna relación de ordenárboles donde no existe ninguna relación de ordenPredefinida.Predefinida.

Esta estructura se usa principalmente para representarEsta estructura se usa principalmente para representardatos con una relación jerárquica entre sus elementos,datos con una relación jerárquica entre sus elementos,como por ejemplo registros, árboles genealógicos y tablascomo por ejemplo registros, árboles genealógicos y tablasde contenidos. de contenidos.