Garza Mndez Vanessa Garca Gonzlez Luis Mario Torres Balbuena Marco Antonio Rodrguez Ramrez Miguel ngel Profesor: Rivera Clavel Carlos
Universidad de la Repblica Mexicana Ingeniera en Sistemas computacionales Grupo: SC0501V Durante el curso reforzamos la teora que se tenia anteriormente, asi que estas partes que vimos, como la implementacin de clases, mejoramiento de las funciones. Y esto fue aplicado al siguiente proyecto. Este proyecto ser algo mas dirigido a el tronco comn de la carrera, implementando relacin entre conjuntos que se vio en nuestros primeros cuatrimestres. Se nos pidi generar un programa que sobre el relacin de conjuntos. Todo esto se hara en C++. Todo esto usando clases y funciones. El programa como ya es costumbre se dividio en 3 partes. 1.- El archivo .h 2.-El .cpp 3.-El main
Archivo .h Aqui se encuentra la clase, en este caso llamada ConjuntoEnteros, con su respectivo constructor y todos los mtodos que se usaron Codigo #ifndef ConjuntoEnteros_H #define ConjuntoEnteros_H
#include <string> #include <iostream.h> #include <conio.h> #include <set> using namespace std; class ConjuntoEnteros{ //atributos set<int> a, b; public:
int aux; //constructor ConjuntoEnteros(){ //inicia constructor basio
}//termina constructor basio //metodos void ingresaconjunto(); void leerConjunto(set<int> *, int);//lee los conjuntos ingresados void imprimirConjunto(set<int> *); //imprime en pantalla los conjuntos set<int> opUnion(set<int> *, set<int> *); //hace la union de los conjuntos ingresados set<int> opInterseccion(set<int> *, set<int> *); //da los valores que tienen interseccion set<int> opDiferencia(set<int> *, set<int> *); //da la diferencia de los conjuntos int biyectiva();//metodo que evalua para ver si es biyectiva con la funcion f(x)=x^2 void cardinalidad();//imprime la carnalidad del dominio y el contra dominio }; #endif
Parte cpp: En esta parte se colocaron todas las llamadas de los mtodos o funciones contenida en nuestro .h Codigo: #include "conjuntoEnteros.h" /******************************************************************************/ void ConjuntoEnteros::ingresaconjunto(){ cout << "Cuantos elementos son en el conjunto A: "; cin >> aux; leerConjunto(&a, aux);
cout << endl << "Cuantos elementos son en el conjunto B: "; cin >> aux; leerConjunto(&b, aux); cout << endl << "Conjunto A:"; imprimirConjunto(&a); cout << "Conjunto B:"; imprimirConjunto(&b); cout << "A union B:"; imprimirConjunto(&opUnion(&a, &b)); cout << "A interseccion B:"; imprimirConjunto(&opInterseccion(&a, &b)); cout << "A - B:"; imprimirConjunto(&opDiferencia(&a, &b)); cout << "B - A:"; imprimirConjunto(&opDiferencia(&b, &a)); } /******************************************************************************/ void ConjuntoEnteros::leerConjunto(set<int> *conj, int cantidad) { for (int i = 0; i < cantidad; ++i) { int elemento; cout << "Escribe un elemento: "; cin >> elemento; conj->insert(elemento); } } /******************************************************************************/ void ConjuntoEnteros::imprimirConjunto(set<int> *conj) { set<int>::iterator it;
for (it = conj->begin(); it != conj->end(); it++) { cout << " " << *it; }
int main(int argc, char *argv[]) { ConjuntoEnteros c; c.ingresaconjunto();
system("PAUSE"); return EXIT_SUCCESS; } El curso fue relativamente teorico, fue un repaso que se vio en el anterior curso, con algunas cosas nuevas como el set y el get, que se uso para ahorrar un poco de cdigo. Al momento se puso algo complicado ya que los programas generados no eran como para campo laboral, pero ayudo bastante a tener una mejor lgica de programacin que es lo importante.