Tópicos selectos de programación Datos definidos por el usuario GUIA ¿Qué es un dato definido por el usuario? ¿Por qué son importantes estos datos? ¿Cómo se puede componer un dato definido por el usuario? Menciona tres ejemplos de datos definidos por el usuario ¿Qué diferencia existe entre un registro y una estructura, y qué elementos las conforman? ¿Qué es una unión? ¿Qué ventajas tiene el uso de registros variantes? ¿En que lenguajes de programación se soporta la definición de registros variantes o alguna estructura similar? ¿En Java como podemos construir una estructura de datos tipo registro?, dar tres ejemplos ¿Qué es un archivo? ¿A quién identifica el nombre de un archivo? ¿Qué importancia tienen la extensión en el nombre de un archivo? ¿Qué diferencia existe entre un archivo de datos y un archivo de texto? Ventajas de utilizar archivos con respecto a otras estructuras de datos En qué consiste un acceso directo en un archivo En qué consiste un acceso secuencial en un archivo En qué consiste una organización secuencial En qué consiste una organización directa o aleatoria En qué consiste una organización indexada Cuáles son las dos primeras operaciones básicas que debemos hacer en un archivo antes de utilizarlo Modos de apertura en un archivo Java, ¿qué tipos de archivos soporta y cuáles son las clases utilizadas para éstos? ¿Para qué se puede utilizar la clase File? ¿En qué tipos de archivos y qué objetivo tiene el uso de las clases siguientes en éstos? - BufferedReader - InputStreamReader - DataInputStream - DataOutputStream - PrintWriter - PrintStream Para qué se puede utilizar un archivo, mencionar al menos 10 ejemplos ¿A qué clases y paquetes pertenecen las clases que nos permiten generar archivos en Java? Indicar que métodos contiene la clase RandomAccessFile y para qué se utilizan ¿Para qué se utilizan las clases ObjectInputStream y ObjectOutputStream, y que métodos contiene? ¿Qué es la serialización de un objeto? ¿Qué es la deserialización de un objeto? ¿Qué es un flujo (o un stream)? Describir los cuatro tipos de flujos que maneja Java ¿Qué es un dato enumerado? ¿Cómo se define un dato enumerado en Java? A parte de Java, ¿qué otros lenguajes de programación soportan el manejo de datos enumerados? ¿Para qué se pueden utilizar los datos enumerados?, menciona al menos 10 ejemplos ¿Qué es un valor ordinal? Menciona 3 ejemplos de lo qué es un valor ordinal Menciona 3 ejemplos de lo qué no es un valor ordinal ¿Por qué un dato enumerado es un valor de tipo ordinal? Qué características tienen los datos enumerados en Java ¿Qué métodos están asociados al manejo de los datos enumerados en Java? ¿Si en un momento dado no contamos con la versión 5 de Java, como pudiéramos emular la presencia de datos enumerados en nuestra aplicación?, dar dos ejemplos ¿A qué clase y paquete pertenecen los datos enumerados en Java? ¿Hacia donde va orientada la clase EnumSet y a que paquete pertenece? Indicar los métodos principales que ofrece la clase EnumSet, explicar para que se utilizan y cual es su sintaxis. ¿Cual es la sintaxis para construir un conjunto de datos enumerados que incluya solo un rango de elementos?, dar un ejemplo Escribir las instrucciones necesarias para imprimir todos los datos que se encuentran en una enumeración. ¿En Java cómo se representa un número del sistema número octal?, da cinco ejemplos ¿En Java cómo se representa un número en hexadecimal?, da cinco ejemplos ¿Qué es el manejo de bits? 1 ¿Cómo se representa un bit inactivo o apagado? ¿Cómo se representa un bit activo o encendido? ¿Cómo sabemos si un valor es negativo o positivo cuando está en su representación binaria, da un ejemplo? ¿Cómo se representa un valor entero negativo en binario, da un ejemplo? ¿Qué operadores lógicos existen en Java y que función realizan? ¿Para qué se pudiera utilizar el operador and? ¿Para qué se pudiera utilizar el operador or? ¿Para qué se pudiera utilizar el operador xor? ¿Que diferencia existe entre hacer una operación entre dos valores numéricos con operadores aritméticos con respecto a hacerla con operadores lógicos a nivel de bits? ¿Qué es enmascaramiento? ¿Qué es una máscara en el contexto de la manipulación de bits? ¿Para qué se puede utilizar las máscaras o el enmascaramiento de un valor? ¿Qué tipos de operaciones de enmascaramiento podemos tener, y para que los pudiéramos utilizar? Menciona al menos 5 ejemplos en donde sería práctico utilizar el manejo de bits (trabajar a bajo nivel) Poner el resultado de las operaciones siguientes, tanto en binario, decimal y hexadecimal - 01236 & 0432 - 0432>>3 | 0675 - 0732 ^ 0425<<2 - -010 & (023 | 07) - 032 & ~021 | ~032 & 021 - 032 ^ 021 Dar a conocer las máscaras a utilizar para lo siguiente: - transformar un patrón de bits en otro en el cual 2 bits se cambien a 0 y 2 bits no (respetar como está su estado original), la palabra es de 16 bits - transformar un patrón de bits en otro en el cual cada tercer bit se cambie a 1 y los bits intermedios se respetan como está su estado original, la palabra es de 16 bits - invertir los 4 bits menos significativos de cada byte y preservar los 4 bits mas significativos, de manera tal, que si al patrón resultante se le vuelve a aplicar la máscara, de cómo resultado, la palabra original, la palabra es de 16 bits ¿Para que se utiliza la clase Bitset de Java? ¿A que clase y paquete pertenece la clase Bitset? ¿Qué métodos contiene y para que se utilizan? Que interpretación les podemos dar a los conjuntos siguientes: A={0,3,6,12,14,21} B={2,4,6,8,10,12,14,16,18} C={} D={0,4,7,16,23} ¿Qué utilidad podrá tener el uso de la clase Bitset? Hacer un programa en Java que permita capturar e imprimir tres objetos derivados de un registro llamado Libreta, la cual tiene cinco campos (ustedes indicarlos); cabe mencionar que dichos registros se almacenaran en un arreglo. Hacer un programa en Java que permita capturar, imprimir y guardar en un archivo de datos, tres objetos derivados de un registro llamado Zapato, el cual tiene cinco campos (ustedes indicarlos). Hacer un programa en Java que le permita al usuario introducir un mensaje de buena suerte, y a través del uso de operadores lógicos haga lo siguiente: que las letras mayúsculas las cambie a minúsculas y las minúsculas a mayúsculas, que lo oculte, imprimirlo tanto en su forma original como en sus transformaciones, además de guardar cada proceso en un archivo de texto incluyendo la cadena original. Hacer un programa en Java que permita capturar (en un arreglo) e imprimir cinco objetos derivados de la estructura de datos tipo registro Juguete (ustedes diseñarla, mínimo tres campos). Hacer un programa que contenga datos enumerados referentes a artículos del hogar, de acuerdo a éstos, clasificarlos e imprimir cada clasificación, mínimo tres tipos diferentes de elementos. También imprimir todos los elementos que se hayan definido en la enumeración. Hacer un programa que contenga dos enumeraciones, una para el manejo de un menú, y otra para indicar los datos enumerados referentes a los objetos que se pueden encontrar en una pastelería, de acuerdo a éstos, generar los conjuntos pertinentes de acuerdo al tipo de objeto (es decir clasificarlos) y a través de un menú de opciones hacer la selección para que se imprima cada clasificación, incluyendo todos los elementos de la enumeración. Mínimo tres tipos diferentes de objetos (entre las diferentes clasificaciones pueden estar por ejemplo, pasteles, pays (pies), pan dulce, pan salado, galletas, etc.). 2 Hacer un programa en Java que les pida que introduzcan un mensaje de año nuevo, y a través del uso de operadores lógicos haga lo siguiente: que las letras mayúsculas las cambie a minúsculas y las minúsculas a mayúsculas, imprimirlo tanto en su forma original como en la transformación que se hizo. Guardar las cadenas en un archivo de texto. Hacer un programa que permita traducir del español al inglés, al menos 10 colores. Utilizar para esto, datos enumerados. En caso de que proporcione una palabra diferente a la definida a la de la enumeración, mandar un mensaje de error y dar a conocer cuales palabras son válidas solamente (imprimir los datos de la enumeración). Al introducir la palabra, debe de ser aceptada tanto en mayúsculas como minúsculas o la mezcla de ellas, por ejemplo: RoJO, rojo, o ROJO. Hacer un programa en Java que les pida varias cadenas (una por una) y las guarde en un archivo tanto de manera normal como de manera invertida, el programa debe terminar cuando se le dé la cadena “fin”. 3