Actividad sobre: clases, archivos binarios y operaciones binarias
Ejercicio 1 Dada la clase “Lista enlazada”, desarrollar los siguientes incisos. a) Cargar 20 valores, enteros y aleatorios, a una lista enlazada. b) Mediante el llamado al método “SaveToFile()”, guardar todos los datos en un archivo binario, cuyo nombre de archivo deberá ser elegido por el usuario. c) Asignar todos los datos guardados en el inciso anterior a otro objeto de la clase, empleando el método “ReadFromFile()”. Nota: Lo anteriormente mencionado implica que se deberán leer los datos guardados en el archivo binario para asignarlos en el objeto que llama al método. Además, el nombre del archivo desde el cual se desea leer los datos deberá ser elegido por el usuario y enviado como argumento en el llamado al método “ReadFromFile()”. Es por esto que el nombre enviado como argumento del método deberá coincidir con algún nombre elegido anteriormente y pasado como argumento del método “SaveToFile()”. d) Mostrar todos los datos de la lista creada en el inciso anterior. e) Ordenar de manera ascendente (menor a mayor) los datos del inciso “c”, empleando el ordenamiento burbuja. f) Mostrar la lista ordenada en formato binario, enlistando (mostrando uno abajo del otro) todos los nodos de la lista. Ejercicio 2 Dada la clase “Vector dinámico”, desarrollar lo siguiente:
a) Crear un vector dinámico de “n” elementos indicados por el usuario y cargarlo
con valores aleatorios comprendidos entre “-A” y “+B”, siendo “A” y “B” valores ingresados por consola. b) Mostrar el vector ordenado empleando algún método de la clase. c) Ordenar el vector de manera ascendente por el método de burbuja, empleando operaciones binarias. Esto es: la comparación de cada elemento del vector v[i] con v[i+1] deberá hacerse llamando a una función que tendrá como parámetros los elementos v[i] y v[i+1], y retornará: 1 si v[i] es “mayor” que v[i+1]. -1 si v[i] es “menor” que v[i+1]. 0 si v[i] es “igual” a v[i+1]. Universidad Tecnológica Nacional Informática II Facultad Regional del Neuquén Actividad
Nota: En este contexto, se entiende que A es mayor a B si A posee
mayor cantidad de unos (en su equivalente binario) que B.
Ejemplo: En uno de los llamados a la función de comparación se envían
los valores A=20 (10100) y B=32 (100000). Al preguntar si A>B, la función retornará 1, porque la cantidad de unos que posee A es mayor que la cantidad de unos que posee B.
d) Mostrar el vector ordenado empleando un método de la clase que enliste el