Está en la página 1de 11

A.

Título de la práctica

Operaciones Fundamentales de Conjuntos usando las funciones características

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.

Si a es un elemento del conjunto A se denota con la relación de pertenencia a Є A, en caso contrario, se


usa a ∉ A.

Ejemplos de conjuntos preestablecidos:

∙ Ф : el conjunto vacío, que carece de elementos.


∙ N: el conjunto de los números naturales.
∙ Z: el conjunto de los números enteros.
∙ Q : el conjunto de los números racionales.
∙ R: el conjunto de los números reales.
∙ C: el conjunto de los números complejos.

Un conjunto se suele denotar encerrando entre llaves a sus elementos.

Otros Ejemplos:

A = {1,2,3, ... ,n}


B = {p ε Z | p es par}

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.

Dos conjuntos A y B se dicen iguales, y se denota A = B, si simultáneamente A ⊆ B y B ⊆ A; esto equivale


a decir que tienen los mismos elementos.

Conjunto universo: es el conjunto que contiene a todos los elementos del discurso, se le denota por la
letra U.

Sean los conjuntos:


E = {mujeres}
F = {hombres}
Existe otro conjunto que incluye a los conjuntos E y F, que es:

U = {seres humanos}

Gráficamente se representa por un rectángulo tal como se observa a continuación

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.

Conjunto formado por las vocales:

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.

Ejemplo: Conjunto formado por los números naturales:

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}

Operaciones entre Conjuntos

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}

Dados dos conjuntos A y B, se llama diferencia a los elementos de A que no estén en 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

Los conjuntos se suelen representar gráficamente mediante “Diagramas de Venn“.

Así, todas las operaciones entre conjuntos se pueden representar gráficamente con el fin de obtener
una idea más intuitiva.

Ejemplos de operaciones con conjuntos

a) Unión de conjuntos: se denota A ∪ B = {x/x ∈ A ∨ x ∈ B}

Se pueden presentar los siguientes casos, en forma gráfica se representan:

A={0, 1, 2, 3, 4, 5} y B = {0, 2, 4}
A ∪ B = {0,1,2,3,4,5}

b) Intersección de conjuntos: Se denota por A ∩ B = {x/x ∈ A ∧ x ∈ B}

Se pueden presentar los siguientes casos, en forma gráfica se representan:

A = {0, 1, 2, 3, 4, 5} y B = {3, 5, 7},

A ∩ B = {3, 5}

c) Diferencia de conjuntos: Se denota por A - B = {x/x ∈ A ∧ x ∉ B}

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

Como fAa+fB da 2, tenemos que restarle la intersección, para que se transforme en


1
Fa-B(X)= Fa(x)-(Fa(x)xfB(x))
FA B(X)=
fA B(X)= FAuB(x)-FAIntB(x)
FA’(X)= FU(X)-FA(X)

D. Materiales y equipos

Tabla 1: Materiales utilizados en la práctica Nro. 1


Cantidad Denominación Figura
30 Computadores

1 Pizarra

1 Marcador tiza líquida

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;
}
}

public void llenarfA() {


//barrer A y comparar con U, la posición que coincide = 1
for (int i = 0; i < numelementosA; i++) {
for (int j = 0; j < numelementosU; j++) {
if (A[i].equals(U[j])) {
fA[j] = 1;
}
}
}
}

public void llenarfB() {


for (int i = 0; i < numelementosB; i++) {
for (int j = 0; j < numelementosU; j++) {
if (B[i].equals(U[j])) {
fB[j] = 1;

}
}
}
}

b. Para crear el método Unión puede utilizar las siguientes instrucciones:


public int[] Union() {

int[] fresultado = new int[numelementosU];


for (int i = 0; i < numelementosU; i++) {
fresultado[i] = fA[i] + fB[i] - fA[i] * fB[i];
}
return fresultado;
}

c. Para crear el método Intersección puede utilizar las siguientes instrucciones:


public int[] Interseccion() {
int[] fresultado = new int[numelementosU];
for (int i = 0; i < numelementosU; i++) {
fresultado[i] = fA[i] * fB[i]; //copiar formulas
}
return fresultado;
}

d. Para crear el método Diferencia puede utilizar las siguientes instrucciones:


public int[] Diferencia() {
int[] fresultado = new int[numelementosU];
for (int i = 0; i < numelementosU; i++) {
fresultado[i] = fA[i] - (fA[i] * fB[i]);
}
return fresultado;
}

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;
}

f. Para crear el método Complemento puede utilizar las siguientes instrucciones:


public int[] ComplementoA() {
int[] fresultado = new int[numelementosU];
for (int i = 0; i < numelementosU; i++) {
fresultado[i] = fU[i] - fA[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

En el botón Ingresar, puede colocar el siguiente código:


private void btnIngresarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-
FIRST:event_btnIngresarActionPerformed
String[] U = txtU.getText().split(","); // separa con ,
String[] A = txtA.getText().split(",");
String[] B = txtB.getText().split(",");
obj = new Conjuntos(U, A, B);
obj.llenarfA();
obj.llenarfB();
obj.llenarfU();
}
}//GEN-LAST:event_btnIngresarActionPerformed

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

Y de forma similar en los demás botones del form.

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.

También podría gustarte