tipos de datos programacion

Upload: lordraziel1804

Post on 21-Feb-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/24/2019 Tipos de Datos Programacion

    1/9

    TIPOS DE DATOS: MATERIAL DE APOYO

    1.- TIPOS DE DATOSDefinicin:Un Tipo de datoes un conjunto de valores junto a una serie de operaciones quepueden ser aplicadas sobre dichos valores.

    Por ejemplo, objetos de tipo Entero puede tomar valores del conjunto de los enteros, y las

    operaciones sobre dichos valores son la adicin, la sustraccin, la multiplicacin y la divisin.

    Caractersticas y ventajas de os tipos de datos:Caractersticas: Un tipo determina la clase de valores que puede asumir una variable o una expresin. En

    ocaciones una variable determina el tipo de una expresin: por ejemplo en !"!,entero#entero$real, real#entero$real.

    Cada variable pertenece a un solo tipo. Cada operador act%a sobre operandos de al&%n tipo 'o al&unos tipos cuando se tiene

    polimor(ismo param)trico: como *, $, +, etc., y da como resultado un valor de al&%n tipo'se&%n los operandos y las re&las espec(icas del len&uaje.

    "entajas: -a veri(icacin de tipos es realiada por el traductor. /iene asociado la abstraccin de datos y procedural: Permite a&rupar un conjunto de

    valores relevantes de un (enmeno que &uardan una estrecha relacin, y permite ver lasoperaciones sobre los valores de manera indivisibles.

    0cultamiento de la representacin interna: se ve slo la especi(icacin y no laimplementacin.

    !umento en la portabilidad en los pro&ramas. !umento en la sem1ntica de un pro&rama, y en le&ibilidad.

    !erificacin de tipos:"eri(icar tipos si&ni(ica detectar que cada operacin reciba el n%mero adecuado dear&umentos, y que dichos ar&umentos sean del tipo adecuado. 'un ar&umento de unoperador es como un operando. 2ependiendo del momento en que se realia la operacin,podemos tener una veri(icacin est1tica 'en tiempo de traduccin o una veri(icacin din1mica'en tiempo de ejecucin.

    Para realiar la veri(icacin de tipos se requiere la si&uiente in(ormacin:

    Para cada operacin: Cantidad, orden y tipo de ar&umento3 y tipo de resultado Para cada variable, el conjunto de valores que puede tomar 'se&%n su tipo Para cada constante, se asocia un tipo.

    Co"pati#iidad de tipos:

    2os tipos son compatibles, se&%n la equivalencia entre ar&umento y variable para el len&uajeusado:

    Equivalencia por nombre: 2os variables tiene tipos compatibles si tienen el mismo nombre detipo. Ejemplo: 4i ! y 5 son enteros 67 son compatibles.Equivalencia estructural: 2os variables tienen tipos compatibles si tienen la misma estructurainterna. Ejemplo: 4ean ! y 5 como si&ue:

  • 7/24/2019 Tipos de Datos Programacion

    2/9

    !#!rre&lo89..n de entero3 5#!rre&lo89..n de entero ! y 5 son compatibles

    4i los tipos son compatibles 'entre ar&umento y par1metro por ejemplo, se acepta elar&umento y se contin%a la operacin. 4i son distintos y se&%n el len&uaje puede suceder:

    a.6 Error (atal: ;nconsistencia de tipos.b.6 Conversin de tipos 'por ejemplo en C, en la asi&nacin entero # real, el real esconvertido a entero autom1ticamente.

    $ecanis"o a %tii&ar para e est%dio de os tipos de datos:

    -os tipos de datos pueden ser estudiados en dos niveles di(erentes:

    a.6 Especi(icacin: de(ine la or&aniacin l&ica del tipo, la cual se compone de atributos yoperaciones.

    b.6 ;mplementacin: 2e(ine la (orma en la cual los atributos y operaciones son representadosinternamente. 4e divide en representacin 'estructuras de datos para almacenar lain(ormacin e implementacin o cuerpo de las operaciones.

    '.- C(ASI)ICACI*+ DE (OS TIPOS DE DATOS

    El criterio para clasi(icar los tipos de datos est1 dado por el n%mero de componentes'determina si es estructurado o no y se&%n el tipo de sus componentes ' si es noestructurado equivale al tipo, y si es estructurado determina si es homo&)neo ohetero&)neo.

    /ipo

    Elemental

    Estructurado

    #

    Enumerado

    4ub?an&o

    Podemos re(erirnos a objetos de tipo no estructurado, cuando el conjunto de valores quepueden tomar son no estructurados, y objetos de tipo estructurado, cuando el conjunto devalores que pueden tomar son estructurados.

    Tipos de datos no estr%ct%rados o ee"entaes

    -os tipos de datos no estructurados que est1n disponibles en la mayora de los len&uajes depro&ramacin son el tipo entero, caracter, real y l&ico. @uchos len&uajes permiten lade(inicin de tipos subran&o o subintervalos, y enumerados. ! continuacin explicaremosbrevemente cada uno de estos tipos.

    '.1.1 Tipo entero:

    Conjunto de valores: 4ubconjunto de los enteros

  • 7/24/2019 Tipos de Datos Programacion

    3/9

    Conjunto de operaciones: adicin, sustraccin, multiplicacin, divisin entera '2;", y residuode la divisin '@02. -as operaciones que se realian sobre enteros son exactas 'salvodesbordamiento u operaciones inv1lidas como dividir por cero.

    ;mplementacin de la representacin: 4i un computador utilia n bits para representar unentero en notacin complemento aA, entonces el conjunto de enteros representablescomprende Anvalores desde 6An69hasta An6969. En complemento !A, los n%meros positivosse almacenan tal cual, y el bit de si&no vale B. Pero los ne&ativos est1n complementados ysumado 9, y el bit de si&no en 9. Por ejemplo, el n%mero 69 en 9 bits es 999999999999999B.Para decodi(icarlo, se complementan los bits de mantisa y se suma 9, osea,9BBBBBBBBBBBBBB9.

    @a&nitud

    4i&no

    E

    /ipo de dato # Entero

    9 n69 bits

    Cardinalidad: -a cardinalidad se de(ine como el conjunto de valores que puede tomar unavariable de un tipo de dato dado. 4e puede decir que la cardinalidad est1 determinada por elconjunto de valores asociados a un tipo. -a cardinalidad de un entero de n bits es A n encomplemento !A.

    '.1.' Tipo rea:

    Conjunto de valores: El tipo real tiene asociado un subconjunto de los reales.

    Conjunto de operaciones: -as operaciones m1s comunes sobre reales son la adicin, resta,multiplicacin y divisin. @uchos len&uajes y arquitecturas proveen operaciones como lapotencia, seno, coseno, y otras.

    ;mplementaciin de la representacin: 4e representan en el computador como un par deenteros, &eneralmente de ran&os distintos, de la (orma:

    @antisa Exponente?

    /ipo de dato#?eal

    en donde la mantisa y el exponente est1n representados an1lo&amente a un entero

    'complemento !9, !A u otro. En ocasiones se puede tener los si&nos se&uidos de lasma&nitudes de cada entero. ? 'descriptor indica que el dato es un real, y se usa slo entiempo de traduccin.

    Esta representacin del real proviene del hecho de que cada n%mero real puede serexpresado en notacin cient(ica. Por ejemplo, el n%mero 6D.FA puede expresarse como

    6B.DFAx9BA. -a mantisa sera DFA y el exponente A. Generalmente el n%mero de bits que sereservan para la mantisa es mayor que para el exponente. Para un ejemplo real, en binario eln%mero 9.B9 puede escribirse como B.9B9xA9, siendo la mantisa 9B9, y el exponente 9.

  • 7/24/2019 Tipos de Datos Programacion

    4/9

    Cardinalidad: -a cardinalidad de un real con n bits para la mantisa y m bits para el exponentees C!?2'real # An.Am # An*m, si la mantisa y el exponente est1n representados encomplemento !A.

    '.1., Tipo caracter:

    Conjunto de valores: Corresponde a un conjunto de caracteres y operaciones sobre ellos.2epende del sistema de codi(icacin. Ejemplo: /abla !4C;; tiene 9AH caracteres, y la !4C;;extendida A caracteres.

    Conjunto de operaciones: Como veremos posteriormente, el conjunto de caracteres es unconjunto ordenado, por lo que las operaciones m1s comunes entre ellos son: ?elacionales '7,I, 7#, I#, I7, #, Primero, Ultimo, 4ucesor, Predecesor, 0rdinal y Caract.

    ;mplementacin de la representacin: 2esa(ortunadamente no existe un conjunto decaracteres que se use en todos los sistemas de computacin. 4in embar&o, la 0r&aniacin;nternacional de

  • 7/24/2019 Tipos de Datos Programacion

    5/9

    - "alor del -&ico

    /ipo de dato#-&ico

    Cardinalidad: -a cardinalidad de este conjunto es C!?2'-&ico # A.

    '.1./ Tipo s%#rano:

    Conjunto de valores: Con (recuencia sucede que una variable caracter o entera toma valoresslo dentro de un intervalo. En estos casos, se puede de(inir un tipo de dato, cuyo conjuntode valores asociado es dicho subintervalo 'tipo subran&o. Este tipo de dato es de(inido porel usuario, pero tambi)n es no estructurado, porque los valores v1lidos que puede tomar unavariables de este tipo, es un subconjunto de los enteros o caracteres, se&%n el caso. !continuacin veremos unos ejemplos de la de(inicin de subran&os.

    /ipo aNo # 89JBB .. ABBB/ipo letra # 8O!O .. OO

    Conjunto de operaciones: -as operaciones son heredadas de las operaciones del tipo de

    dato ori&inal del cual se de(ine un subran&o '/ipo caracter o entero.

    ;mplementacin de la representacin: Usaremos la si&uiente de(inicin de tipo subran&o&eneral para detallar la representacin.

    /ipo I

  • 7/24/2019 Tipos de Datos Programacion

    6/9

    En -s "alor

    /ipo subran&o

    valor tope que puede tomar

    En Pseudo(ormal la notacin a adoptar es la si&uiente:

    /ipo 2ia # '-unes,@artes,@i)rcoles,ueves,"iernes,41bado,2omin&o

    Cardinalidad: -a cardinalidad de un tipo enumerado es i&ual al n%mero de elementosde(inidos dentro del enumerado.

    ,.- TIPOS DE DATOS EST2CT2ADOSEn muchos problemas es necesario almacenar y manipular datos (ormados por coleccionesde valores que presentan ciertas relaciones entre s. Para )sto, existen herramientas quepermiten or&aniar e(icientemente dichos datos en la memoria del computador3 estas son lasestructuras de datos, que permiten manipular datos complejos en cuanto a su or&aniacin,en (orma relativamente sencilla, d1ndole claridad y simplicidad a los pro&ramas.

    ! continuacin veremos los tipos de datos estructurados m1s comunes como lo son: losarre&los y re&istros.

    ,.1 A E3(OS

    ,.1.1.- Arreos 2nidi"ensionaes

    Un arre&lo unidimensional es una estructura da datos homo&)nea, porque est1 (ormada porelementos del mismo tipo 'tipo base, sobre los cuales existe una correspondencia uno a unocon al&%n subconjunto (inito de los enteros 'tipo ndice.

    Elementos que intervienen en la de(inicin: El tipo base, el tipo ndice, y el arre&lo como tal.

    ArreoI

  • 7/24/2019 Tipos de Datos Programacion

    7/9

    !U /ipo arre&lo unidimensional

    I-i7 I-s7

    /base

    /am /amaNo del tipo base

  • 7/24/2019 Tipos de Datos Programacion

    8/9

    ;mplementacin de la representacin:El descriptor del arre&lo est1 determinado por los elementos que intervienen en su de(inicin.Estos pueden enumerarse en: el nombre del tipo, los lmites del intervalo de de(inicin tantopor (ilas como columnas, el nombre del tipo base, y el tamaNo del tipo base.

    !5 /ipo arre&lo bidimensional

    I-i97 I-s97 -mites (or (ilas del arre&lo

    /base

    /am /amaNo del tipo base

  • 7/24/2019 Tipos de Datos Programacion

    9/9

    Tin?e&istro

    donde ICi7 es el nombre del campo i6)simo del re&istro, y I/i7 su tipo asociado.

    Conjunto de valores: "alores estructurados 'e9, ... , en en donde eies de tipo I/i7.

    Cardinalidad: -a cardinalidad de un re&istro es: Cardinalidad Campo ii

    n

    ' Q =

    9

    0peracin selectora:4intaxis: I