Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Título de la práctica
B. Objetivos de la práctica
Implementar en un lenguaje de programación las funciones características representando las
operaciones fundamentales de conjuntos.
C. Marco teórico
Funciones características
Para estudiar las funciones características es necesario iniciar con la revisión del tema conjuntos, su
definición y clasificación.
Un conjunto es la reunión en un todo de objetos bien definidos y diferenciables entre sí, que se llaman
elementos del mismo.
Otros Ejemplos:
Se dice que A está contenido en B (también que A es un subconjunto de B o que A es una parte de B), y
se denota A ⊆ B, si todo elemento de A lo es también de B.
Conjunto universo: es el conjunto que contiene a todos los elementos del discurso, se le denota por la
letra U.
U = {seres humanos}
Conjunto Finito: si consta de un cierto número de elementos distintos, es decir si al contar los diferentes
elementos del conjunto el proceso de contar puede acabar.
V = {a, e, i, o , u}
Conjunto Infinito: cuando no se puede contar sus elementos o es el que tiene principio pero no tiene fin.
N = {1, 2, 3, 4, 5, 6, .....}
A1={2,4,6,8,10,12,14}
A2={1,7,9,16,23,26}
A3 ={a, b}
Se llama unión de dos conjuntos A y B al conjunto formado por objetos que son elementos de A o de B.
A U B = { x | x Є A o x Є B}
Se llama intersección de dos conjuntos A y B al conjunto formado por objetos que son elementos de A y
de B.
A ∩ B = {x | x Є A y x Є B}
A - B = {x | x Є A y x ∉ B}
Se llama diferencia simétrica entre A y B a los elementos que tenga A y no tenga B, o a los que tenga B
y no tenga A.
A ⊕ B = (A - B) ∪ (B - A).
Se le llama complementario de A respecto de U, y se denota abreviadamente por •A (U se supone
fijado de antemano).
A=U-A
Diagramas de Venn
Así, todas las operaciones entre conjuntos se pueden representar gráficamente con el fin de obtener
una idea más intuitiva.
A={0, 1, 2, 3, 4, 5} y B = {0, 2, 4}
A ∪ B = {0,1,2,3,4,5}
A ∩ B = {3, 5}
A = {a, b, c, d, e} y B = {a, e}
A - B = {b, c, d}
d) Diferencia simétrica de conjuntos: Se denota por A ⊕ B = {x | (x ∈ A ∧ x ∉ B) ∨ (x ∈ B ∧ x ∉ A)}, es el
conjunto formado por los elementos que pertenecen a A ó a B, pero no pertenecen a su intersección.
Observe que las regiones sombreadas a la izquierda y a al derecha corresponden respectivamente a los
conjuntos A – B y B – A, por esto también:
A ⊕ B = {A – B} ∪ {B – A}
A ⊕ B = {A ∪ B} - {B ∩ A}
A = {1, 2, 3, 4} y B = {4 ,5}
A ⊕ B = {1, 2, 3, 5}
• COMPLEMENTO: Los elementos
Que no tiene A
Ejercicio
U={perro,tigre,elefante,gato,león}
A={gato,tigre}
B={elefante,perro,tigre}
elefante
gato tigre perro
león
A B
= {tigre}
= {gato,tigre,elefante,perro}
= {gato}
={gato,elefante,perro}
A’={elefante,perro,león}
Funciones Características
U= Perro tigre elefante gato león
Gato tigre
A=
B=
Elefante perro tigre
Fu=
1 1 1 1 1
Fa= 0 1 0 1 0
Fb= 1 1 1 0 0
Nota: Todas las funciones tienen que ser del mismo tamaño del universo
fA Int B (X)=fA(x) x fB (x)
fA Int B= 0 1 0 0 0
f AUB (X)= fA(x) + fB(x) – fA(x) x fB(x)
Fa+fB – Fa Int B 1 2 1 1 0
F AUB 1 1 1 1 0
D. Materiales y equipos
1 Pizarra
1 Proyector
E. Procedimiento Experimental
Implementar las operaciones fundamentales de conjuntos utilizando las funciones características: unión,
intersección, diferencia, diferencia simétrica, complemento.
1. Crear una librería con los métodos: unión, intersección, diferencia, diferencia simétrica, complemento
(utilizando las funciones características).
a. El constructor de la clase debe recibir como parámetros: el conjunto universo, A y B.
Las siguientes instrucciones pueden ser parte del constructor.
public Conjuntos(String[] U, String[] A, String[] B) {
this.U = U;
this.A = A;
this.B = B;
numelementosA = A.length;
numelementosB = B.length;
numelementosU = U.length;
fU = new int[numelementosU];
fA = new int[numelementosU]; // llena con 0
fB = new int[numelementosU];
}
Antes de crear los métodos propios de la clase, es necesario implementar aquellos que
permiten llenar los conjuntos A, B y Universo recibidos en el constructor.
//llenar
public void llenarfU() {
for (int i = 0; i < numelementosU; i++) {
fU[i] = 1;
}
}
}
}
}
}
e. Para crear el método Diferencia Simétrica puede utilizar las siguientes instrucciones:
public int[] DiferenciaSimetrica() {
int[] fresultado = new int[numelementosU];
for (int i = 0; i < numelementosU; i++) {
fresultado[i]=fA[i]+fB[i]-2*(fA[i]*fB[i]);
}
return fresultado;
}
2. Crear un proyecto que utilice la librería creada, a partir de un forms que permita ingresar al usuario
los elementos de los conjuntos: universo, A y B.
3. Invocar desde sendos botones a cada uno de los métodos creados y evidenciar la ejecución de las
operaciones
Desde cada botón de las operaciones de conjuntos debe invocarse al método correspondiente de la
clase.
private void btnUnionActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_btnUnionActionPerformed
int[] respuesta = obj.Union();
txaResultado.setText(obj.RetornarStringConjunto(respuesta));
}//GEN-LAST:event_btnUnionActionPerformed
F. Resultados
La práctica generará dos resultados específicos:
• Una aplicación en java que permite verificar la validez de las funciones características.
• Relacionar la matemática con las ciencias de la computación.
G. Conclusiones
Al finalizar la práctica de laboratorio, será posible verificar la validez de las funciones características para
representar las operaciones fundamentales de conjuntos y las diversas aplicaciones que éstas pueden tener en
casos de la vida diaria o problemas específicos de ingeniería.
H. Recomendaciones
• Grabar el proyecto en una misma carpeta e aplicar la organización de archivos.
• Cuidar la escritura de las instrucciones y buscar razones lógicas de los posibles errores durante la
digitación del código.
• Probar alternativas diferentes a las presentadas en el documento con el fin de utilizar o
aprender nuevas opciones de codificación.