Escolar Documentos
Profissional Documentos
Cultura Documentos
Profesor: Oswaldo Velez Ramo: Tecnologas de Orientacin en Objetos Alumnos: Juan Candia, Pablo Perez
Tabla de contenido
Ejercicio N 1 Grabadora Digital ...................................................................................................... 3 Enunciado: ................................................................................................................................. 3 Desarrollo: ................................................................................................................................. 4 .................................................................................................................................................. 4 .................................................................................................................................................. 5 Implementacin: ........................................................................................................................ 8 Ejercicio N 2 ................................................................................................................................ 11 Enunciado: ............................................................................................................................... 11 Desarrollo: ............................................................................................................................... 11 Ejercicio N 3 Algoritmo Genrico Simple ..................................................................................... 13 Enunciado: ............................................................................................................................... 13 Desarrollo: ............................................................................................................................... 13 Resultados: .............................................................................................................................. 14 Conclusiones algoritmo gentico: ............................................................................................. 18
Desarrollo:
DESCRIPCION DE CASOS DE USO Nombre: Actores: Funcin: Descripcin: Referencias: Escuchar Mensaje Usuario Permite escuchar mensajes almacenados El usuario selecciona del men , una de las grabaciones listadas en pantalla De requerimientos: R2, R9.
Descripcin: El usuario selecciona la opcin grabar mensaje en el men , se grabar el mensaje con una duracin mxima de 3 minutos , se desplegar en pantalla la modulacin de voz. Referencias: De requerimientos: R1, R8,R10
Borrar mensaje Usuario Permite al usuario borrar un mensaje de la memoria del dispositivo.
Descripcin: El usuario elige la opcin borrar mensaje en el men , se desplegar en la pantalla la lista de grabaciones de donde el debe elegir la grabacin a eliminar. Tambin se desplegar la opcin de borrado luego de escuchar un mensaje. Referencias: De requerimientos: R3, R10.
Configurar alarma Usuario Permite que el usuario configure la alarma del dispositivo.
Descripcin: El usuario accesa a la opcin configurar alarma en el men , ah podra configurar su alarma colocando la hora de activacin de est (formato de hora 0- 24 horas / minutos). Referencias: De requerimientos: R5.
Descripcin: El usuario ingresa a la opcin a travs del men , luego puede configurar el reloj mediante el teclado del dispositivo con formato de hora 0- 24 horas / minutos. Referencias: De requerimientos: R4.
Descripcin: El usuario puede ver constantemente la hora en la esquina superior derecha del display , adems puede ver la carga de batera en la esquina superior izquierda. Referencias: De requerimientos R6 ,R4
Implementacin:
Para dar solucin a este est ejercicio transformamos los requisitos necesarios para la funcionalidad de la Grabadora Digital y las traducimos a clases, que es lo que se supone en la prctica que es trabajar en orientacin de objetos. Y escribimos las siguientes clases: y Display y Interfaz de usuario y Teclado y Batera y Alarma de reloj y Control de audio y Memoria de mensajes y Mensajes y Entrada de audio y Salida de audio y Micrfono y Parlante
Donde cada clase tiene los siguientes mtodos: y Display: 1. 2. public: 3. 4. 5. bool encendido(int OnOff); void fecha(); void hora();
8
6. 7. 8. 9. 10. 11.
void mensajesVacias(char mensajes[10]); void usuario(char nombre, int clave); void reproduccion(char nombreMensaje, int tiempoMensaje); int nivelBateria(); bool alarmaBateria(int nivelBateria); void menuMensajes();
void ingresarUsuario(char nombre, char apellido, int clave); void editarUsuario(char nombre, int clave); void borrarUsuario(char nombre, int clave); void mensajeUsuario(char mensaje, char nombre);
void derecha(int OnOff); void izquierda(int OnOff); void arriba(int OnOff); void abajo(int OnOff); void enter(int OnOff); void retroceder(int OnOff); void grabar(int OnOff);
2. 3. 4.
int nivelBateria(); int alarmaBateria(int nivelBateria); bool cargandoBataria(int OnOff);//si esta conectado al cargador se activa esta funcion y calcula el porcentaje de carga bool descargaBateria(int OnOff);// si no esta conectado al cargador calcula el porcentaje de carga restante a usar bool ahorroBateria(int OnOff);
5.
6. y Tiempo:
1. public: 2. 3. 4. void hora(int horas, int min, char PM-AM); void fecha(int dia, int mes, int ao); int alarma(int horas, int min, char PM-AM, char dias, int OnOff);
y Control de audio: 1. public: 2. 3. 4. 5. int nivelAudio(int nivel); bool muteAudio(int OnOff); void balanceAudio(int LeftRigth); int ecualizador(int hertz, int nivelHertz);
10
Ejercicio N 2
Enunciado: Se pide escribir un programa con una clase padre que contenga un el
nombre de un cliente, direccin, ciudad y regin y clases derivadas que aadan informacin sobre el nmero de puntos acumulados en un supermercado dado y kilmetros que ha rodado en una renta de autos.
Desarrollo: Para dar solucin a este ejercicio se implementa 3 clases, una clase padre y
dos clases herederas. La clase padre tiene por nombre ClassCliente, en esta clase es donde se encuentran los estructurados los datos de nuestro cliente. La segunda clase herenciaClienteSuper es una clase que hereda desde ClassCliente los datos del cliente y se le agregan los datos de este cliente de un supermercado dado y los puntos que lleva acumulado en este supermercado. La tercera clase herenciaClienteAutomotora tambin es una clase hereda desde ClassCliente los datos del cliente y se le agregan datos de la automotora y los kilmetros recorridos de el arriendo de vehculos. Para la implementacin de este programa se usan dos archivos ClassCliente.cpp y ClassCliente.h. En el archivo ClassCliente.h es el archivo de cabecera donde declaramos las 3 clases y una estructura llamada persona, que es donde se da el formato por decirlo as a la informacin necesaria para mostrar de l cliente. En el archivo ClassCliente.cpp es donde implementamos nuestro programa principal. En la clase ClassCliente se implementaron dos mtodos set y mostrar. El mtodo set es donde se agregan los datos a la estructura declarada en la clase padre con el nombre de objeto. En el mtodo mostrar es donde simplemente imprime los datos del cliente. Estos dos mtodos trabajan igual para las clases derivadas con sus nombres respectivos (setSuper, setAutomotora)
11
12
Desarrollo:
Se us una poblacin esttica de 40 individuos. La clase Individuo define al elemento bsico de la poblacin , sta clase posee dos atributos llamados Gen : es el arreglo de cromosomas del individuo , se utilizan cromosomas binarios (1 y 0) donde 1 es el cromosoma deseado . Fitness : es la suma de todos los cromosomas deseados. Funciones y mtodos: El constructor de individuo inicializa al individuo con un gen aleatorio para cada uno de sus cromosomas adems calcula el fitness del individuo.
La clase poblacin es la que maneja todo el algoritmo genetico y contiene 3 atributos principales : Conjunto : atributo de tipo individuo , el cual es un arreglo de 40 individuos que representa el total de la poblacin. fitnessPoblacion : es el fitness promedio de toda la poblacin. Funciones y mtodos: El constructor de Poblacin inicializa una poblacin de 40 individuos , se utiliza la funcion wait ya que sin ella dada la rapidez de las computadoras actuales generara una poblacin con genes iguales . Adems se calcula el fitness inicial y se inicializa la cantidad de mutaciones en la poblacin en cero. Calcula fitness : funcin que calcula el fitness de la poblacin luego de un proceso de seleccin Seleccin : es el proceso que selecciona a los individuos mas aptos , consta de 4 etapas 1. Torneo se realiza la eliminacin de los menos aptos por torneo (fitness mas alto gana) 2. Cruza :se cruzan los pares consecutivos del conjunto de ganadores del torneo generando dos hijos por cruza (20 hijos en total).
13
Mutacin : se establece un 5% de probabilidad de que un hijo presente una mutacin , si es as se elige un hijo aleatorio de la cruza y se realiza una mutacin a un cromosoma aleatorio de este individuo. 4. Nueva poblacin : se actualiza la poblacin con los ganadores del torneo y sus hijos colocndolos intercaladamente en la nueva poblacin.
3.
Funcin objetivo : establece el fitness deseado a buscar y comienza la seleccin hasta obtener el fitness deseado en la poblacin.
Resultados:
14
El algoritmo fue probado para todos los fitness en los rangos (5-8) 20 veces , el algoritmo fue ejecutado en una mquina con las siguientes caracteristicas : Procesador: e5300 2,6 dual core Intel Memoria :2,5 gb ddr2 frec 667 Cabe destacar que la velocidad del algoritmo no fue medida en base a tiempo continuo sino en base a los ciclos de seleccin que demoraban en lograr el fitness necesario. Los resultados obtenidos se especifican en las siguientes tablas:
15
16
fitness inicial 4.05 4.025 3.925 3.975 3.9 3.95 4.1 3.925
mutaciones 17 43 * * * * * *
fitness final 8 8 * * * * * *
18