Lenguajes de Programación Soluciones a pruebas de nivel

Slides:



Advertisements
Presentaciones similares
Juan F. Velazquez Mayra E. Beltran Jaime Lopez
Advertisements

Metodología de programación paralela
ADELACU Graballo APLICACIONES Desborde de Call Center Graballo Adelacu Ltda. AVIZA Grab all Desborde de Call Center.
Pasos a seguir para Utilizar las listas predefinidas por el I.N.E..... Generar sus propias listas.... Exportar la información a diferentes formatos....
Eurowin 2013 Gestión de Proyectos y Obras
Manual de uso para el sistema de pago en línea de
VOCABULARIO – el mercado 1.el mercado 2.el extranjero 3.hortaliza 4.cuyo 5.ocultarse 6.los demás 7.la oveja 8.el cerdo 9.el miedo 10.casera Tienda o lugar.
Uso de los corchetes ¿Qué hago si entre una columna y la siguiente no se visualiza todo el texto?
CAPÍTULO XIV – PERSONAL OCUPADO EN LA UPA BOLETA CENSAL DE LA UNIDAD DE PRODUCCIÓN AGROPECUARIA (UPA)
1 Introducción Seminario sobre las prácticas curriculares en América Central Guatemala, Abril 2006 Xavier ROEGIERS y Alexia PEYSER.
El Peso saludable Hay muchas tablas y fórmulas que sirven para calcular el peso ideal o el grado de exceso de peso, pero ¡ten cuidado! Con ellas se obtienen.
COMO USAR LA PC POR PIMERA VEZ SARAITH MACHORRO PACHECO 28 JOSE ALBERTO LOPEZ RAMIREZ 27 CAPACITACION DE INFORMATICA GRUPO 302.
INTEGRIDAD, INTEGRIDAD REFERENCIAL
Nuevo sistema de alertas Gloria Guirado Departamento de formación de VCG.
Examen FRAD Empezar. 1. ¿Cu á l es la diferencia entre FRAD y FRANAR? 1.FRAD son las siglas de un grupo de trabajo de OCLC y FRANAR las siglas de un grupo.
Bases para la programación por objetos
LABORATORIO DE IDIOMAS. El Tell Me More tiene 3 niveles.
ADELACU Graballo Graballo Adelacu Ltda. AVIZA Grab all Integración con Collaboration Suite.
Servicio de vigilancia, consulta y préstamos en la Biblioteca Escolar I.E.S. Número 5 de Avilés CURSO
Libro de Clases Electrónico Administrativo OTEC
Prof. Juan Carlos Lima Colegio IPTCE. Antes de comenzar: ¿Qué es una red informática? ¿Qué ventajas tiene instalar una red informática? ¿Qué servicios.
Adquirido a lo largo de la historia… Ver mas Ver mas Distintos conceptos de autores… Ver masVer mas Conjunto de información adquirida… Ver masVer mas Conocimientos.
EPI-Control Programa para la Vigilancia Epidemiológica Hospitalaria Ampliada y el Control de Infecciones Versión 7.0 Contacto Teléfono.
UNIVERSIDAD JUÁREZ DEL ESTADO DE DURANGO FACULTAD DE CIENCIAS QUÍMICAS MANUAL DE INSTRUCCIONES PARA ASIGNACIÓN DE HORARIOS DE ALUMNOS EN LAS CARRERAS DE.
Instrumentación Industrial
LUIS GONZALES SÁNCHEZ RESPONSABLE PROCESO DE REGISTRO DE DNI DE ESTUDIANTES UNIDAD DE GESTIÓN EDUCATIVA LOCAL LAMAS UNIDAD EJECUTORA 305.
Base de datos y Microsoft Access
Entrada y salida Fundamentos de programación/Programación I
EL SISTEMA OPERATIVO Presentación realizada por Virgilio Marco Aparicio Profesor de Apoyo al Área Práctica. IES Tiempos Modernos. ZARAGOZA.
MATLAB.
G OBIERNO DEL E STADO DE S ONORA MANUAL PARA SUPERVISORES SISTEMA DE ADMINISTRACIÓN VIRTUAL DEL PROGRAMA ESCUELAS DE CALIDAD SECRETARÍA DE E DUCACIÓN Y.
PORTAL WEB Manual de Usuario Perfil Centro de Costos
Visual basic Curso de Habilitación Laboral IV. ¿Qué es Visual Basic Visual Basic es uno de los tantos lenguajes de programación que podemos encontrar.
Un constructor es un método que inicia un objeto inmediatamente después de su creación. De esta forma nos evitamos el tener que iniciar las variables.
Avances de Microsoft PowerPoint y Office
ADMINISTRACION DE ARCHIVOS & ENTORNO DE WINDOWS
Nombre:Nº de Control: María del Carmen Raygoza Hernández Judith Itzel Requejo Hernández
Servicio de Correo Institucional
MS Tutorial de Medidores RQ Consultoría Técnica, S de RL de CV Revisión 27 Septiembre 2008 Este Turorial le ayudará a entender: 1.¿Que es un medidor?
TALLER BÁSICO DE VISUAL BASIC Por: Juan Alfredo Garduño Arias.
CENTRO DE BACHILLERATO TECNOLOGICO INDUSTRIAL Y DE SERVIVCIOS No 3
CONSTRUCCIÓN Y ARQUITECTURA DEL SOFTWARE
Para entrar al sistema GSFS de LG sólo se debe utilizar el Internet Explorer. Ningún otro navegador funciona.
A.E.D. Tema 0-2. Algorítmica Programa de teoría Parte I. Estructuras de Datos. 1. Abstracciones y especificaciones. 2. Conjuntos y diccionarios. 3. Representación.
Comunidades emprendedoras e innovadoras Agendas públicas... de desarrollo local Lic. Patricia Alessandroni 22 de marzo de 2011 Mar del Plata.
TEORÍAS DE LA ENSEÑANZA- APRENDIZAJE EN LÍNEA OBJETIVOS Poner en común las teorías personales sobre la enseñanza-aprendizaje A partir de lo anterior,
Prof. Fidel Gonzales Quincho
Pilas Laboratorio de Programación II. Definición de pila Consideremos una pila de platos: Si se añade un plato a la pila, los que están más abajo son.
Sistemas de ventilación y aire acondicionado
Pasos para realizar la declaración Jurada de Patrimonio Has clic en el botón naranja para iniciar el registro de datos Para llenar la planilla debe utilizar.
Una breve Introducción al proyecto Yussef Farrán Leiva
Studio7i - Alquiler de salas de ensayo musical poo-rentalmusic
Medición de la Satisfacción del Cliente 2010 Marzo de 2011.
2.5 Producto nominal, deflactación y Producto real
LOGO V IVAS A CTIVAS P RODUCTIVAS UNIÓN GUATEMALTECA.
Análisis transversal. Tablas de mortalidad
1.Origen del acompañamiento. Las condiciones educativas (como la cobertura, las condiciones actuales de los estudiantes), que hacen replantearse las nuevas.
Tema 5 – Relaciones Laborales
O Skydrive o Características Características o Privacidad Privacidad o App App o Ventajas Ventajas o Desventajas Desventajas o Movie Maker Movie Maker.
Las consultas. Son cuadros de información generados a partir de datos relacionados encontrados en otras tablas que se utilizan para filtrar, ver, modificar.
Capítulo 3 Fundamentos de Programación
Tema: Fundamentos de las Bases de Datos en el entorno empresarial
Procedimientos Almacenados y Disparadores
1 Entrada/Salida en Java Jaime Ramírez, Ángel Lucas González DLSIIS. Facultad de Informática Universidad Politécnica de Madrid.
ESTRUCTURAS DE CONTROL
Lenguajes de Programación Tema 4. Paradigma Orientado a Objetos Java 1.5 Pedro García López
Middleware Java 2 Enterprise Edition
Estructuras de Datos y Algoritmos TDA LISTA. Metáfora del TDA (repaso) Conjunto de operaciones forman una pared forman una interfase entre los programas.
OPERACIONES ALGEBRAICAS índice Términos algebraicos Términos algebraicos ¿Qué es un monomio? ¿Qué es un monomio? ¿Qué es un polinomio? ¿Qué es un polinomio?
Transcripción de la presentación:

Lenguajes de Programación Soluciones a pruebas de nivel Pedro García López pgarcia@etse.urv.es/

Grid Computing Se trata de modelar en un lenguaje orientado a objetos (Java) el problema de computación de recursos en una red de ordenadores. Un sistema Grid está formado por una lista de tareas y una lista de procesadores capaces de resolver tareas. De cada procesador del grid se sabe su identificador, IP, capacidad de proceso (GHz), memoria RAM (MB) y disco duro (GB).Para simplificar, supongamos que un procesador solo puede procesar una tarea en cada iteración, por lo que si tiene asignada una tarea estará ocupado y si no estará libre. Una tarea tiene un identificador, una lista de valores de entrada (enteros, double, ...), un resultado de la computación, y la operación que se ha de aplicar sobre la lista de entrada para producir el resultado. Por ejemplo, si nos pasan una lista de enteros (4,2,3) y la operación es el sumatorio, el resultado será (9). Si la operación fuese el producto el resultado será 24. Un objetivo claro de la práctica es que el sistema sea facilmente extensible y se puedan incorporar nuevas tareas con nuevas operaciones sin modificar el código.

Sobre el Grid podremos añadir nuevos procesadores, eliminar a algun procesador, obtener la lista de procesadores, así como añadir Tareas, eliminar Tareas, y listar Tareas. El Grid ademas ofrecerá una función de asignar tareaS a procesadores (una tarea por procesador) que esten libres. Por último el Grid tendrá una operación de resolver tareas, que hará que cada procesador resuelva su tarea asignada y cambie su estado a disponible. Crear un programa con un main que pruebe la funcionalidad del Grid (crear grid, crear procesadores, crear tareas, añadir tareas y procesadores al grid,asignar tareas, resolver tareas y ver resultados).

Solución básica 1

Soluciones

Solución básica 2: Interfaces

Preguntas ¿ Donde hay polimorfismo o sustitución de tipos ? Procesador.setTarea(Tarea t) acepta cualquier subtipo de tarea (solución 1) En el constructor de Tarea aceptamos cualquier implementación de Operación (Solucion 2) ¿ Donde hay ligadura dinámica ? Procesador.resolverTarea (Solución 1) Tarea.operar (Solución 2) ¿ Es necesario un ‘if’ para ejecutar diferentes operaciones ?

Mejoras para subir nota: Si en la lista que se le pasa a la tarea hay un tipo no compatible, al intentar resolver la tarea no podrá. Así que si mas tarde se quiere acceder a la tarea para ver resultado debería salir una excepción. EXCEPCIONES 2) Se debería poder listar los procesadores bien ordenados por capacidad de proceso, o por memoria RAM (COMPARATOR) 3) Se debería poder obtener de manera eficiente del Grid un procesador utilizando su identificador. HASHMAP 4) Permitir que la tarea pueda operar sobre diferentes tipos de datos (enteros, string). Por ejemplos podria tener una tarea con lista ("abc,'def','pepepep') y la operación maximalongitud que devuelva el elemento de mayor longitud de la lista. OBJECT [ver ejemplo del Map en Java]

Sistema de directorios Se trata de modelar en un lenguaje orientado a objetos (Java) el problema de gestión de sistema de directorios. Un directorio tiene un nombre y una lista de ficheros y directorios debajo de el. Un fichero tiene un nombre, extension, tamaño y fecha de modificación. Sobre el directorio podremos añadir ficheros y directorios, eliminar ficheros o directorios, listar ficheros o directorios y buscar ficheros o directorios. Además el administrador del sistema de directorios quiere que se puedan aplicar filtros sobre la información. Por ejemplo, un filtro podría retornar todos los ficheros con extension txt, otro filtro podria retornar todos los ficheros de tamaño mayor a 100. Otro filtro podría ser un antivirus que busque ficheros con nombres especiales (virus, soymalo, yaveras). El sistema debe permitir aplicar varios filtros a la vez. Es decir, seria absurdo hacer un recorrido por cada filtro, sino que se debe hacer un único recorrido ejecutando todos los filtros. Cada filtro tendrá una lista de resultados una vez ejecutado por el Directorio (aplicarFiltros, añadirFiltro, eliminarFiltro). Crear un programa con un main que pruebe la funcionalidad del Directorio (crear directorio, crear ficheros, añadir ficheros a directorio, crear filtros, añadir filtros, aplicarFiltros, verResultados).

Relaciones entre clases Clases: Directorio, Fichero, Filtro? Relaciones entre clases: Un Directorio tiene 1..N ficheros Un Directorio tiene 1..N Filtros Queremos crear diferentes tipos de filtro !!!! –> Herencia abstracta o de interfaces Ver ejemplo del Comparator o solucionar el ejemplo de la función Filter en Java

Mejoras para subir nota: Si un filtro no tiene ningun resultado el método obtener lista resultados debe devolver una excepción. EXCEPCION 2) Se debería permitir listar los ficheros bien ordenados por nombre o tamaño (COMPARATOR). 3) Se debería permitir la recursividad en las búsquedas y aplicación de filtros. Pista, se puede tratar de manera análoga a ficheros y directorios (Composite Pattern)

Preguntas ¿ Donde hay polimorfismo o sustitución de tipos ? Directorio.addFiltro(Filtro t) acepta cualquier subtipo de Filtro ¿ Donde hay ligadura dinámica ? Mirar Directorio.aplicarFiltros (…) ¿ Es necesario un ‘if’ para aplicar nuevos filtros ?

Agencia de actores/actrices y figurantes Se trata de modelar en un lenguaje orientado a objetos (Java) el problema de la selección de personal inscrito en una agencia, para los castings de películas y series de televisión. Estas personas son registradas en la agencia bajo dos roles: a) actores/actrices y b) figurantes. Todos ellos detallan una serie de características en su registro en la agencia. Para simplificar deben aparecer su nombre, edad, sexo, nacionalidad, teléfono de contacto y aspecto. Cuando a la agencia le llega una petición de personal por parte de una productora, para realizar películas o series de televisión, se les indica el número de personas que se necesitan y los detalles realmente importantes para cada uno de ellos. Por ejemplo, pueden solicitar tres personas de entre 25 y 35 años (edad) de nacionalidad brasileña (nacionalidad), o bien que sea una chica (sexo) con cabello largo (aspecto) y entre 18 y 22 años (edad). Por lo que tan sólo sería necesario filtrar el personal inscrito en la agencia y seleccionar la cantidad necesaria de cada perfil. Se debe crear un programa con un main que automatice la selección de personal de la agencia (crear agencia, crear actores/actrices y figurantes, crear perfiles, filtrar según perfiles, ver resultados).

Relaciones entre clases Clases: Agencia, Persona, Perfil? Relaciones entre clases: Una Agencia tiene 1..N Personas Una Agencia tiene 1..N Perfiles Queremos crear diferentes tipos de filtro !!!! –> Herencia abstracta o de interfaces Ver ejemplo del Comparator o solucionar el ejemplo de la función Filter en Java

Mejoras para subir nota: Si un filtro no tiene ningún resultado, el método obtener lista resultados debe lanzar una excepción. EXCEPCION Se debería permitir listar el personal inscrito en la agencia por nombre, edad y nacionalidad. (COMPARATOR). Se debería permitir obtener de forma eficiente a cualquier inscrito por su nombre. 4) Se debería permitir más de un detalle en el campo "aspecto" dentro de cada perfil y su aplicación en la operación de filtrado.

Preguntas ¿ Donde hay polimorfismo o sustitución de tipos ? Agencia.addPerfil(Perfil t) acepta cualquier subtipo de Perfil ¿ Donde hay ligadura dinámica ? Mirar Agencia.filtrar según perfiles (…) ¿ Es necesario un ‘if’ para filtrar por nuevos Perfiles ?

Conclusiones ¿ Sabéis encontrar la herencia, el polimorfismo y la ligadura dinámica en un enunciado ? De las tres pruebas de nivel, ¿ creéis que el Map, el Filter o Comparator tienen algún parecido ?