Академический Документы
Профессиональный Документы
Культура Документы
1. NORMAS GENERALES
1. La práctica deberá realizarse en grupo. El grupo estará formado por dos
alumnos del mismo grupo de laboratorio.
2. Se valorará la modularidad, calidad y legibilidad del código, el uso apropiado
de estructuras y la inclusión de comentarios.
3. La práctica deberá realizarse sobre la plantilla proporcionada. Deberá
rellenarse el fichero Autores.xls con los datos de los autores.
4. La entrega de la práctica se realizará a través de la tarea habilitada en el Aula
Virtual, hasta el 18 de Marzo (inclusive). Está práctica deberá ser aprobada
para poder superar la asignatura. La subida a Moodle deberá realizarse
únicamente por uno de los alumnos del grupo.
5. Se deberá subir únicamente un fichero *.rar, nombrado del siguiente modo:
PR2_Nombre1Apellido1_Nombre2Apellido2.rar (Ejemplo:
PR2_AntonioPerez_JulianLopez. rar). El nombre y el apellido del alumno
no deberá contener acentos.
6. El fichero *.rar contendrá un fichero Excel con los datos de los autores y los
ficheros fuente de las partes 1, 2 y 3 de esta práctica, nombrados siguiente
modo: PR2_Autores.xls, PR2_P1_Nombre1Apellido1_Nombre2Apellido2.c,
PR2_P2_Nombre1Apellido1_Nombre2Apellido2.c y
PR2_P3_Nombre1Apellido1_Nombre2Apellido2.c (Ejemplo: Autores.xls,
PR2_P1_AntonioPerez_JulianLopez.c,
PR2_P2_AntonioPerez_JulianLopez.c ,
PR2_P3_AntonioPerez_JulianLopez.c). En el nombre de los ficheros
fuente, el nombre y apellido del alumno no deberán contener acentos.
7. Aquellas entregas que no cumplan la normativa de nombrado de entrega
(nombre de ficheros, archivos a incluir) se calificarán con 0 puntos.
1
8. Los profesores de la asignatura podrán seleccionar un conjunto de
alumnos a los que se les realizarán diversas cuestiones sobre su práctica
de forma presencial con el fin de decidir su calificación definitiva en la
práctica.
2. OBJETIVOS
Uso de conjuntos y sus operaciones básicas.
Utilización de pilas y colas y sus operaciones básicas.
3. ENUNCIADO
3.1. Primera parte: uso de conjuntos y sus operaciones básicas.
Esta práctica consiste en leer un archivo de texto que contiene varios conjuntos,
calcular el resultado de aplicar sobre ellos una serie de operaciones y almacenarlos en un
archivo de texto. Para ello, deberán implementarse algunas operaciones básicas sobre
conjuntos.
2
El elemento es correcto, es decir, pertenece al conjunto universal, los
números primos dentro del intervalo (0, 100).
Si no se cumple alguna de estas condiciones se indicará al usuario.
8. Quitar elemento. Esta opción permitirá eliminar un elemento de un conjunto. El
programa solicitará al usuario el nombre del conjunto donde se desea eliminar el
elemento y el elemento a eliminar. Deberá comprobarse que:
El conjunto es A, B, o C.
El elemento que el usuario desea añadir está incluido en el conjunto.
El elemento es correcto, es decir, pertenece al conjunto universal, los
números primos dentro del intervalo (0, 100).
Si no se cumple alguna de estas condiciones se indicará al usuario.
9. Crear conjunto unitario. Esta opción permitirá crear un conjunto unitario.
Deberá comprobarse que:
El elemento es correcto, es decir, pertenece al conjunto universal, los
números primos dentro del intervalo (0, 100).
Si no se cumple esta condición se indicará al usuario.
10. Comprobar existencia. Esta opción permitirá comprobar la existencia de un
elemento en un conjunto. El programa solicitará al usuario el nombre del
conjunto donde se desea comprobar la existencia del elemento y el elemento.
Se indicará al usuario si el elemento existe o no en el conjunto. Deberá
comprobarse que:
El conjunto es A, B, o C.
El elemento es correcto, es decir, pertenece al conjunto universal,
los números primos dentro del intervalo (0, 100).
Si no se cumple alguna de estas condiciones se indicará al usuario.
11. Calcular cardinal de conjunto. Esta opción permitirá calcular el número de
elementos de un conjunto. El programa solicitará al usuario el nombre del
conjunto cuyo número de elementos se desea calcular. Se indicará al usuario
el cardinal del conjunto. Deberá comprobarse que:
El conjunto es A, B, o C.
12. Salir.
3
Cualquier otra opción que el usuario introduzca se considerará inválida y
se deberá volver a mostrar el menú.
Si el alumno decide realizar la parte opcional de esta práctica, descripta en
el apartado 3.1.3, deberá implementar la siguiente opción:
Este apartado de la práctica consistirá en leer del archivo de texto toda la información y
almacenarla en el siguiente registro.
tConjunto Conjuntos[MAX_CONJUNTOS];
typedef struct {
char Nombre[MAX_NOMBRE_CONJUNTO];
short int Elementos[N];
short int Ultimo;
} tConjunto;
4
Este apartado de la práctica consiste en implementar en C las siguientes
operaciones sobre conjuntos, cuyos prototipos se proporcionan a continuación:
/* Función: IniCjtos
* Inicializa la variable que guardará los conjuntos que se leerán
* del fichero.
* Parámetros de entrada:
* no tiene
* Precondiciones:
* no tiene
* Parámetros de salida:
* Conjuntos. Valor devuelto por referencia.
*/
5
* Conjunto. Valor devuelto por la función.
*/
6
/* Función: Complementario
* Obtiene el complementario de un conjunto y devuelve el resultado.
* Parámetros de entrada:
* Conjunto.
* Precondiciones:
* no tiene
* Parámetros de salida:
* Conjunto complementario. Valor devuelto por la función.
*/
/* Función: ImprimeCjto
* Imprime el conjunto que se le pasa como parámetro, en la salida
standard o en un fichero.
* Parámetros de entrada:
* Conjunto.
* Valor que indica si se escribe en la salida stardard (FALSE) o en un
* fichero (TRUE).
* Precondiciones:
* no tiene
* Parámetros de salida:
* no tiene.
*/
7
* Precondiciones:
* no tiene
* Parámetros de salida:
* no tiene.
*/
8
3.2. Segunda parte: Utilización de pilas y sus operaciones básicas.
Diseñar y codificar en C un programa que muestre por la salida estándar un menú con
las siguientes opciones:
MENU
1. Llenar pila.
2. Sumar elementos pila.
3. Salir
tPila **AsignarMemoria(void);
/* Función: Apilar
* Devuelve el resultado de la operación (correcto o error).
* Parámetros de entrada:
* Elemento añadir a la pila.
* Precondiciones:
* no tiene
* Parámetros de salida:
* Pila. Valor devuelto por referencia.
* Resultado de la operación. Valor devuelto por la función.
*/
9
* Elemento añadir a la pila.
* Precondiciones:
* no tiene
* Parámetros de salida:
* Pila. Valor devuelto por referencia.
* Elemento desapilado. Valor devuelto por referencia.
* Resultado de la operación. Valor devuelto por la función.
*/
10
Diseñar y codificar en C un programa que muestre por la salida estándar un menú con
las siguientes opciones:
MENU
1. Llenar cola.
2. Sumar elementos cola.
3. Salir
tCola *AsignarMemoria(void);
/* Función: Encolar
* Devuelve el resultado de la operación (correcto o error).
* Parámetros de entrada:
* Elemento añadir a la cola.
* Precondiciones:
* no tiene
* Parámetros de salida:
* Cola. Valor devuelto por referencia.
* Resultado de la operación. Valor devuelto por la función.
*/
11
* Precondiciones:
* no tiene
* Parámetros de salida:
* Cola. Valor devuelto por referencia.
* Elemento desapilado. Valor devuelto por referencia.
* Resultado de la operación. Valor devuelto por la función.
*/
4. MATERIAL ADICIONAL
12
Se proporcionan los siguientes archivos, tal y como se ha explicado en el enunciado:
PR2_Plantilla_Parte1.c
conjuntos.txt
PR2_Plantilla_Parte2.c
PR2_Plantilla_Parte3.c
Autores.xlsx
13