Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
ENUNCIADO
Planificar torneo de tenis.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 2
Enunciado
Necesitamos organizar un torneo de tenis con n jugadores en donde
cada jugador ha de jugar exactamente una vez contra cada uno de sus
posibles n–1 competidores, y además ha de jugar un partido cada día,
teniendo a lo sumo un día de descanso en todo el torneo. Se supone que
hay campos de tenis suficientes para jugar cada día todos los partidos
necesarios.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 3
Diseño del algoritmo
La práctica constará de una memoria y de un programa en java original que
resuelva el problema aplicando el esquema indicado.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 4
Argumentos y parámetros
La práctica se invoca usando la siguiente sintaxis:
• -t: traza cada invocación recursiva de manera que se describa la parametrización de cada
llamada recursiva.
• -h: muestra una ayuda y la sintaxis del comando. Por ejemplo:
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 5
Datos de entrada y salida
Datos de entrada
El dato de entrada es el número de jugadores que deben realizar la liga de partidos. El fichero opcional lis
nombres de los jugadores. Debe contener uno por línea y debe tener n entradas (líneas).
Datos de salida
La salida es una tabla que indique en qué día juegan cada uno de los jugadores. Por ejemplo:
Donde Jx hace referencia al jugador x, y el valor de la tabla indica con qué jugador se enfrenta x
en el día dy n caso de que haya nombres, se sustituye J1, J2,… y el valor interno en la tabla por
el nombre del jugador.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 6
Entrega por correo
electrónico en
fichero *.zip
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 7
Entrega El programa se ha de
poder abrir, compilar
y ejecutar desde BlueJ
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 8
Calificación
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 9
Fechas
• Dia 21 de Octubre de 2020: Sesión orientativa Práctica 1
• Día 18 de Noviembre de 2020: Sesión orientativa Práctica 2
• Día 16 de Diciembre de 2020: Sesión de control Práctica 1
• Día 13 de Enero de 2021: Sesión de control Práctica 2
• La fecha límite para entrega de informes finales para calificación en convocatoria ordinaria es
el 20 de Enero de 2021.
• No es obligatoria la asistencia a las sesiones, pero se ha de realizar al menos un control
previo a la entrega final de ambas prácticas. Ese control se puede hacer por webconferencia
o correo electrónico (jquesada@gasteiz.uned.es)
• Si el equipo docente sigue el método de otros cursos habilitará en su momento un enlace en
este entorno en el que será posible inscribirse para prácticas en este centro asociado. Es
imprescindible la inscripción en ese entorno para poder ser calificados.
• En relación con la convocatoria extraordinaria en Septiembre se fijarán fechas límite en su
momento tras conocer el calendario de evaluación, pero en todo caso para que se puedan
entregar para esa convocatoria ha de haberse contactado durante el cuatrimestre y expresar
la intención de realizar las prácticas para entrega en esa convocatoria.
• Entregas por correo electrónico dirigido a jquesada@gasteiz.uned.es e indicando en el
asunto que se trata de entrega de práctica para curso 20/21 de la asignatura PREDA (tengo
más asignaturas )
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 10
ALGORITMO APLICABLE
Divide y vencerás
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 11
Ejemplo n=8=23 . Llamadas
recursivas
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 12
Ejemplo n=8=23 . Casos triviales
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 13
Ejemplo n=8=23 . Combinar
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 14
IMPLEMENTACIÓN
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 15
Sujerencia de diagrama de clases
Esta clase es
análoga en todos
lo algoritmos que
se programen
para prácticas
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 16
Clase Practica_2021(es solo una sugerencia …)
En un método principal lee argumentos, luego
lee datos y lanza ejecución del algoritmo
concreto que soluciona el problema (Que puede
ser el constructor de la clase Torneo.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 17
Clase Torneo (solo es una sugerencia de cómo plantear)
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 18
Coste asintótico
• Recurrencia:
• Solución:
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 19
Orientaciones para caso en que n no es
potencia de 2
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 20
Caso en que n es par pero no es potencia de 2
En este caso puede suceder que al dividir el problema en el
proceso recursivo los subproblemas resultantes sean con
número de participantes impar, esto no permitiría división por
dos sucesiva y por tanto se ha de buscar alternativa.
10/24/2020 jquesada@gasteiz.uned.es 21
Ejemplo de proceso de tabla de 6 participantes,
n/2 = 3 impar
Se sigue el proceso
recursivo normal
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 22
Ejemplo de proceso de tabla de 6 participantes,
n/2 = 3 impar Reducción de tabla
Reasignación de
partidos con X e Y y
ampliación con el resto
de equipos
Ejemplo 4 5 6 fuera 4
5 6 4 fuera 5
Etc.
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 23
Comentarios sobre implementación
Mientras que en la
solución recursiva para n
potencia de 2 es posible
que se pase referencia a
una tabla global y sobre
ella se va completando la
solución, en el caso
general esto resulta más
complicado. Es
aconsejable crear tablas
locales en cada llamada
recursiva (tabla1, tabla2),
estas tablas luego se
combinan para completar
la tabla que entra como
parámetro (tabla p)
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 24
¿Y qué pasa si n es impar?
Reconocimiento – NoComercial – CompartirIgual (by-nc-sa): No se permite un uso comercial de la obra original ni de las
posibles obras derivadas, la distribución de las cuales se debe hacer con una licencia igual a la que regula la obra original.
10/24/2020 jquesada@gasteiz.uned.es 25