/* Ejercicio 2 Especificación TAD Conjunto (a) Escriba un módulo de especificación para el TAD Conjunto no acotado de naturales, conteniendo un conjunto mínimo de constructores, selectores y predicados para: Crear un Conjunto vacío. Determinar si un Conjunto es vacío o no. Incluir y excluir elementos en el Conjunto. Saber si un elemento pertenece a un Conjunto. Construir unión, intersección y diferencia de Conjuntos. (b) ¿Qué operación u operaciones se deben agregar/quitar para que la especificación sea del TAD Conjunto acotado de naturales? */ #include /*TAD Conjunto no acotado*/ // Crea un Conjunto vacío Conjunto crearConjunto(); // Devuelve true si solo si un Conjunto es vacío, en otro caso devuelve false bool esVacioConjunto(conjunto c); //Incluye un elemento x en un conjunto c //PRE: el elemento x no pertenece al conjunto c void insertarConjunto(int x, Conjunto &c); //Excluye un elemento x de un conjunto c //PRE: el elemento x pertenece al conjunto c void excluirConjunto(int x, Conjunto &c); //Devuelve true si el elemento x pertenece al conjunto c bool perteneceConjunt(int x, Conjunto c); //Recibe dos conjuntos c1 y c2 y retorna la uniendo de ambos Conjunto union(Conjunto c1, Conjunto c2); //Recibe dos conjuntos c1 y c2 y retorna la interseccion de ambos Conjunto interseccion(Conjunto c1, Conjunto c2); //Recibe dos conjuntos c1 y c2 y retorna la diferencia de ambos Conjunto diferencia(Conjunto c1, Conjunto c2); /*TAD Conjunto acotado*/ // Crea un Conjunto vacío de tamano n Conjunto crearConjunto(int n); // Devuelve true si solo si el Conjunto esta lleno, en otro caso devuelve false bool llenoConjunto(conjunto c); //Incluye un elemento x en un conjunto c //PRE: el elemento x no pertenece al conjunto c //PRE: el conjunto no esta lleno void insertarConjunto(int x, Conjunto &c); int main() { printf("Hello World"); return 0; }