Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

PREDA Enunciado Practica 1 23-24

Descargar como pdf o txt
Descargar como pdf o txt
Está en la página 1de 4

PROGRAMACIÓN Y ESTRUCTURAS DE

DATOS AVANZADAS
GRADO
ENUNCIADO PRÁCTICA 1
Curso 2023-2024

GRADO EN INGENIERÍA EN INFORMÁTICA Y EN TECNOLOGÍAS DE LA


INFORMACIÓN

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA


PROGRAMACIÓN Y ESTRUCTURAS DE DATOS AVANZADAS
1.- ENUNCIADO DE LA PRÁCTICA

Disponemos de un conjunto A finito de n tipos de monedas (n > 0), sin restricciones a sus
valores. Se desea pagar una cantidad C>0, utilizando un número mínimo de monedas y
suponiendo que la disponibilidad de cada tipo de moneda es ilimitada.

Por ejemplo, considérese el conjunto de monedas {1, 6, 10}. Se desea encontrar la forma
de devolver un cambio de valor 12 utilizando el número mínimo de monedas. Es decir,
tenemos que:

n=3
A= {1,6,10}
C=12

La solución sería (6,6). Es decir, la forma de devolver un cambio de valor 12 utilizando el


número mínimo de monedas del conjunto A es devolver dos monedas de valor 6.

Se pide diseñar un algoritmo, siguiendo el esquema de programación dinámica, que


resuelva este problema, tal como está planteado en el apartado 5.3 del texto base de la
asignatura.

2.- REALIZACIÓN DE LA PRÁCTICA

2.1.- 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.

2.2.- Argumentos y parámetros

La práctica se invoca usando la siguiente sintaxis:

java cambio-dinamica [-t][-h] [fichero entrada] [fichero salida]

java –jar cambio-dinamica.jar [-t][-h] [fichero entrada] [fichero salida]

Los argumentos son los siguientes:

• -t: traza cada paso de manera que se describa la aplicación del algoritmo utilizado.
• -h: muestra una ayuda y la sintaxis del comando.
• fichero_entrada: es el nombre del fichero del que se leen los datos de entrada.
• fichero_salida: es el nombre del fichero que se creará para almacenar la salida.

Por ejemplo:

$ java cambio-dinamica -h <ENTER>

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 2


|Orientaciones para el tutor

SINTAXIS: cambio-dinamica [-t][-h] [fichero entrada]


-t Traza el algoritmo
-h Muestra esta ayuda
[fichero entrada] Nombre del fichero de entrada
[fichero salida] Nombre del fichero de salida

2.3- Datos de entrada

El fichero de datos de entrada consta de:


• Una primera línea que indica el valor del parámetro n, número de tipos de monedas.
• Una segunda línea que indica los elementos del conjunto A, separados por
espacios; es decir, los valores de las distintas monedas disponibles.
• Una tercera línea que indica el valor de la cantidad a devolver C.

De esta forma, para el ejemplo utilizado en la definición del problema, el fichero de entrada
contendría lo siguiente:

3
1 6 10
12

En caso de que el fichero de entrada no exista, se leerán los datos por la entrada estándar.

2.4- Datos de salida

La salida consta de una línea con el número de monedas utilizado, seguida por una línea
con los valores o cuantías de las monedas utilizadas para resolver el problema. En el
ejemplo, la salida sería:

2
6 6

El programa debe indicar, así mismo, si no existe solución.

En caso de que el fichero de salida no se indique en la llamada al programa, se escribirá el


resultado por la salida estándar.

2.5.- Implementación del algoritmo

El programa se desarrollará en Java siguiendo un diseño orientado a objetos. Los detalles del
entorno recomendado se encuentran en la guía de la asignatura. Se valorará el diseño OO y la
eficiencia del desarrollo.

3.- CUESTIONES TEÓRICAS DE LA PRÁCTICA

1) Indica y razona sobre el coste temporal y espacial del algoritmo.


2) Explica qué otros esquemas pueden resolver el problema y razona sobre su idoneidad.

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 3


PROGRAMACIÓN Y ESTRUCTURAS DE DATOS AVANZADAS
4.- ENTREGA DE LA PRÁCTICA

4.1 Material que hay que entregar al Tutor

Se confeccionará una memoria, en PDF con el siguiente índice:

1. Portada de la memoria con nombre, apellidos, dni y dirección de correo.


2. Respuesta a las cuestiones teóricas planteadas en este enunciado.
3. Un ejemplo de ejecución para distintos tamaños del problema.
4. Un listado del código fuente completo.

4.2 Normativa de las prácticas en relación con el Centro Asociado:

1. La asistencia a las sesiones de prácticas es obligatoria.


2. El calendario y procedimiento para asistir a las sesiones de prácticas está publicado en
su Centro Asociado o bien aparece en el foro correspondiente a su centro en el curso
virtual.
3. El plazo de entrega de la documentación y de la práctica lo establece el Tutor de prácticas
de cada Centro Asociado o Campus.
4. El Tutor califica la práctica, informa al alumno y en su caso la revisa de acuerdo con los
horarios y procedimiento que establezca el Centro Asociado.
5. Todos los alumnos deberán registrarse a través del Curso Virtual en el grupo del Tutor/a
con el que hayan asistido a las sesiones presenciales obligatorias a fin de que su práctica
pueda ser calificada.
6. La práctica se debe aprobar en la misma o anterior convocatoria para que se pueda calificar
la asignatura. En caso contrario la calificación será de suspenso.
7. La práctica se entregará tanto en el entorno virtual como al Tutor. La falta de cualquiera de
ellas será motivo suficiente para quedar excluida de la convocatoria.

El alumno debe asegurarse de que no se da ninguna de las siguientes circunstancias, ya que


implican automáticamente una calificación de suspenso:

• Código: el código no compila, no está desarrollado en Java, no se corresponde con el


pseudocódigo recogido en la documentación, no es original, está copiado de la red,
academia, compañero, etc., o no sigue un diseño OO encapsulado o modular.
• Ejecutable: el ejecutable no termina, se queda sin memoria con ejemplares pequeños o
aborta sin justificación. El ejecutable no lee los ficheros previstos en el formato adecuado.
No trata los argumentos o no se ajusta a las especificaciones.
• Documentación: No se presenta en el soporte indicado por el tutor o está incompleta.
• Soporte: No se puede leer, o contiene un virus de cualquier tipo. A este respecto, las
prácticas en las que se detecte cualquier tipo de virus estarán suspensas.

Los alumnos estudiando en el EXTRANJERO se deberán poner en contacto con el profesor tutor
que se indicará en los foros.

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA 4

También podría gustarte