Beruflich Dokumente
Kultur Dokumente
September 10, 2013 Autores: Ricardo Morales Romn Garcia Lorenzo Adilene Jesus Angel Godoy Hernandez
ndice. Contenido.
Introduccin.
Pg.
2
3 5
6 7 8
9
11 11
Introduccin
En esta unidad se dar a conocer los diferentes conceptos bsicos de los diferentes tipos de datos definidos por el usuario mediante los temas: Agregacin de datos (struct). Uniones de datos (union). Registros variantes. Tipos de datos enumerados. Manejo de bits. Campos de bits. Operaciones con Bits (AND, OR, NOT, XOR).
Se expondrn caractersticas ejemplos y conceptos de cada uno de los temas para as con ello ayudar al refortalecimiento y conocimiento de esta unida mediante su informacin para as obtener ptimos resultados al momento de manejarse el alumno dentro de la materia de tpicos selectos de programacin. Se expondrn caractersticas ejemplos y conceptos.
Son aquellos en los que el programador establece los valores que van a poder tomarlas variables al declarar el tipo mediante la especificacin de una lista de identificadores vlidos. Los identificadores han de comenzar en carcter, y no se pueden repetir en la enumeracin de tipos. Ejemplo: TypeEstaciones = (primavera, verano, otoo, invierno); Colores (rojo, amarillo, verde, azul, violeta); subrango.
Es un subconjunto de un tipo ordinal (enteros, boolean, carcter y enumerado) que se especifica indicando el primero y el ltimo elemento del conjunto.
3
Es un tipo de dato estructurado en el que las variables pueden almacenar varios valores de un tipo simple, al cual se le denomina tipo base. La declaracin de un tipo conjunto se hace: Type Conjunto = SET of tipobase ; Var c :conjunto ; Caractersticas: Permite la creacin de tipos de datos abstractos definidos por el usuario: Estructuras Uniones Listas Etc.
Ejemplo: // Publid Struct Alumno { public String Nombre; public int Edad; public char Sexo; public DateTime Fecha; };// Una ves que hemos declarado el tipo de dato Struct, podemos crear variables de este nuevo tipo de dato. Alumno alumnos; alumnos.Nombre=Andres; alumnos.Edad=19; alumnos.Sexo=M; alumnos.Fecha=new DateTime(13/05/89);
Ejemplo: { public char chval; public int intval; } Ejemplo: valores=new ejemplo(); valores.intval=65; console.writeline(chval:{0},valores.chval); Al darle valor al entero de 65, como el valor del carcter est en la misma localidad de memoria, a la hora de imprimir el valor del carcter se imprime el carcter correspondiente al nmero segn el cdigo ASCII que en este caso sera una A.
Ejemplo: Tipo para representar cuatro clases de figuras. type Radio = Float type Lado = Float type Base = Float type Altura = Float data Figura = Circulo Radio Cuadrado Lado Rectngulo Base Altura Punto deriving Show un Circulo : : Figura un Circulo = Circulo 25 un Rectngulo : : Figura un Rectngulo = Rectngulo 10 15 lista Figuras : : [Figura] lista Figuras = [Circulo 15; Cuadrado 3; Rectngulo 5 6] rea : : Figura ! Float rea (circulo r) = pi r ^ 2 rea (Cuadrado l) = l ^ 2 area (Rectangulo b h) = b h rea Punto = 0
7
Declaracin: Type Enumerado = (norte1,sur2,este3,oeste4); Como podemos apreciar, es simplemente un tipo de dato entero que bien puede tomar cualquier valor distinto de 1, 2,3 o 4 y que si no es correctamente validado dentro de las rutinas del mtodo de asignacin, puede derivar en problemas con la consistencia de los datos. Caractersticas: Los tipos enumerados se utilizan para una mayor legibilidad y para limitar el nmero de valores que va a poder tomar una determinada variable. No es posible leer directamente valores de tipo enumerado ni desde teclado, ni desde un archivo de texto. Tampoco se pueden escribir en pantalla ni en archivos de texto (secuenciales) variables de este tipo. Solamente se pueden utilizar para manipulacin interna de datos.
Las variables de tipo enumerado se emplean en Registros Variantes, que se utilizan para ahorrar espacio tanto en la memoria del ordenador (arrays) como en disco (ficheros).
8
OR La operacin OR inclusiva (|) significa que si uno de los dos operandos es 1 el resultado es 1. Ejemplo: 100 011 111 El OR exclusivo significa que si los dos operandos son diferentes el resultado es 1, de otra forma es resultado es 0. Ejemplo: 011 101 110 Corrimiento de bits Tanto el operador de corrimiento a la izquierda () como el operador de corrimiento a la derecha (), solo desplazan los bits del operando de la izquierda el nmero de posiciones indicadas por el operador de la derecha. Los desplazamientos ocurren en la direccin indicada por el propio operador. Complemento a uno El operador unario ~ da el complemento a uno de un entero; esto es, convierte cada bit 1 en un bit 0 y viceversa. Por ejemplo Operador Resultado 10 01
10
11
Las operaciones siguientes AND, OR y XOR ilustran los mismos valores de bits como operandos: AND 0101 0011 Resultado: 0001 OR XOR
Es til recordar la siguiente regla: el empleo de AND con bits 0 es 0 y el de OR con bits 1 es 1. Ejemplos de operaciones booleanas. Para los siguientes ejemplos independientes, suponga que AL contiene 11000101 y el BH contiene 01011100: 1.- AND AL,BH ; Establece AL a 0100 0100 11000101 01011100 01000100 2.- OR BH,AL ; Establece BH a 1101 1101 01011100 11000101 11011101 3.- XOR AL,AL ; Establece AL a 0000 0000 01011100 01011100 00000000
12