Teoria dos Conjuntos — Diagramas de Venn

Matemática Computacional

02

Aviso Importante

Este é um material de suporte não oficial, desenvolvido por alunos com o auxílio de inteligência artificial. Não representa a posição oficial da instituição ou dos professores.
Não questione ou incomode os professores sobre este conteúdo. O material é baseado em anotações feitas durante as aulas e consultas complementares feitas pelos próprios alunos.
Este material pode conter imprecisões. Em caso de dúvida, consulte sempre o material oficial fornecido pelo professor e as referências listadas ao final.
Sugestões e Correções
Encontrou um erro ou tem uma sugestão de melhoria? Envie sua contribuição pelo grupo do WhatsApp da turma. Toda colaboração é bem-vinda para melhorar o material para todos.
03
ÍNDICE

Conteúdo

04
INTRODUÇÃO

O que são Conjuntos?

Um conjunto é uma coleção de elementos distintos — ou seja, cada elemento aparece apenas uma vez. Não importa a ordem: {1, 2, 3} e {3, 1, 2} representam exatamente o mesmo conjunto. Na programação, conjuntos funcionam como estruturas do tipo Set, onde duplicatas são automaticamente eliminadas.

Conjuntos são escritos com chaves. Podemos listar os elementos diretamente — A = {1, 2, 3} — ou descrever com uma regra: A = {x | x é par}, que se lê "A é o conjunto de todos os x tal que x é par". O Conjunto Universo (U) contém todos os elementos que estamos considerando em um dado contexto: tudo que "existe" no nosso problema.

Os Diagramas de Venn são a forma visual mais clássica de representar conjuntos: cada conjunto é um círculo, e o retângulo ao redor é o universo (U). Quando dois círculos se sobrepõem, a região de sobreposição representa os elementos que pertencem aos dois conjuntos ao mesmo tempo. As seções a seguir mostram cada operação com diagramas coloridos e exemplos práticos de software.

05
OPERAÇÕES COM CONJUNTOS

Exemplo 1 — Conjuntos Definidos por Lista

A = {1, 3, 5, 7, 9, 11, 13, 15}
B = {2, 3, 5, 7, 11, 13}
A ∪ BUnião
UAB191535711132
A ∪ B = {1, 2, 3, 5, 7, 9, 11, 13, 15}

TODOS os elementos de A e B combinados (sem repetição).

Juntar duas listas de IDs de usuários de bancos de dados diferentes — você quer TODOS os usuários únicos.

A ∩ BInterseção
UAB191535711132
A ∩ B = {3, 5, 7, 11, 13}

SOMENTE os elementos que estão em A E em B ao mesmo tempo.

Encontrar amigos em comum entre dois perfis de redes sociais.

06
OPERAÇÕES COM CONJUNTOS

Exemplo 1 — Conjuntos Definidos por Lista

A \ B • B \ A

A \ BDiferença (A menos B)
UAB191535711132
A \ B = {1, 9, 15}

Elementos que estão em A mas NÃO estão em B.

Usuários que têm conta mas nunca fizeram uma compra.

B \ ADiferença (B menos A)
UAB191535711132
B \ A = {2}

Elementos que estão em B mas NÃO estão em A.

Funcionalidades pedidas por clientes que ainda não estão no backlog do produto.

07
OPERAÇÕES COM CONJUNTOS

Exemplo 1 — Conjuntos Definidos por Lista

A' • B'

A'Complemento de A
UAB191535711132
A' = {2}

Tudo no universo que NÃO está em A (= elementos que só estão em B, não compartilhados).

Todos os usuários inativos (complemento do conjunto de usuários ativos).

B'Complemento de B
UAB191535711132
B' = {1, 9, 15}

Tudo no universo que NÃO está em B (= elementos que só estão em A, não compartilhados).

Produtos que não estão na categoria de desconto.

08
OPERAÇÕES COM CONJUNTOS

Exemplo 1 — Conjuntos Definidos por Lista

(A ∪ B)'

(A ∪ B)'Complemento da União
UAB191535711132
(A ∪ B)' = ∅ (vazio)

Tudo que NÃO está em A e NÃO está em B (aqui: vazio — todos os elementos pertencem a pelo menos um conjunto).

Usuários que não correspondem a NENHUM filtro — registros completamente não classificados.

09
OPERAÇÕES COM CONJUNTOS

Exemplo 2 — Conjuntos Definidos por Regra

U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}(Inteiros de 1 a 20)
A = {x | x é par} = {2, 4, 6, 8, 10, 12, 14, 16, 18, 20}
B = {x | x ≥ 10} = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}
U = A ∪ B ∪ {1, 3, 5, 7, 9}20 elementos
A ∪ BUnião
UAB2468101214161820111315171913579
A ∪ B = {2, 4, 6, 8, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}

Todos os números pares OU números ≥ 10 (ou ambos).

A ∩ BInterseção
UAB2468101214161820111315171913579
A ∩ B = {10, 12, 14, 16, 18, 20}

Números que são pares E ≥ 10.

10
OPERAÇÕES COM CONJUNTOS

Exemplo 2 — Conjuntos Definidos por Regra

B' • (A ∪ B)'

B'Complemento de B
UAB2468101214161820111315171913579
B' = {1, 2, 3, 4, 5, 6, 7, 8, 9}

Todos os inteiros de 1 a 20 que NÃO são ≥ 10 (ou seja, números < 10).

(A ∪ B)'Complemento da União
UAB2468101214161820111315171913579
(A ∪ B)' = {1, 3, 5, 7, 9}

Números que NÃO são pares E NÃO são ≥ 10 (ímpares menores que 10).

11
OPERAÇÕES COM CONJUNTOS

Exemplo 2 — Conjuntos Definidos por Regra

(A \ B)'

(A \ B)'Complemento da Diferença
UAB2468101214161820111315171913579
(A \ B)' = {1, 3, 5, 7, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20}

Tudo EXCETO elementos que estão só em A (mantém interseção, só em B, e fora).

12
CÓDIGO

Java — HashSet: Conjuntos na Prática

Como conjuntos funcionam em código real

Sets.java
import java.util.HashSet;
import java.util.Set;

public class Sets {
  public static void main(String[] args) {

    // Cria um conjunto vazio de números inteiros
    Set<Integer> numSet = new HashSet<>();
    System.out.println(numSet.size());  // → 0 (vazio)

    numSet.add(5);                       // Adiciona o 5
    System.out.println(numSet.size());  // → 1

    numSet.add(6);                       // Adiciona o 6
    System.out.println(numSet.size());  // → 2

    numSet.add(5);                       // Tenta adicionar 5 de novo
    System.out.println(numSet.size());  // → 2 (NÃO mudou! Set ignora duplicatas)

    System.out.println(numSet.add(4)); // → true  (4 era novo, foi adicionado)
    System.out.println(numSet.size());  // → 3

    System.out.println(numSet.add(4)); // → false (4 já existia, rejeitado)
    System.out.println(numSet.size());  // → 3 (continua 3)

    // Imprime todo o conjunto — a ordem pode variar!
    System.out.println(numSet);         // → [4, 5, 6]
  }
}
13
CÓDIGO

Java — Objetos Customizados em Sets

Por que equals() e hashCode() importam

CoolClass.java
// Classe simples com dois atributos
public class CoolClass {
    int value;        // um número
    String text;      // um texto

    public CoolClass(int value, String text) {
        this.value = value;
        this.text = text;
    }
}
Uso no Sets.java
// Criando objetos com os MESMOS valores
CoolClass object1     = new CoolClass(1, "One");
CoolClass object2     = new CoolClass(2, "Two");
CoolClass objectOther1 = new CoolClass(1, "One"); // mesmo valor que object1!

Set<CoolClass> coolSet = new HashSet<>();
System.out.println(coolSet.size());    // → 0

coolSet.add(object1);
coolSet.add(objectOther1);              // MESMO valor, mas objeto diferente
System.out.println(coolSet.size());    // → 2 (!!) — Deveria ser 1?

// ⚠ ATENÇÃO: Sem sobrescrever equals() e hashCode(),
// Java compara REFERÊNCIA (endereço na memória), não o conteúdo.
// object1 e objectOther1 têm valores iguais mas são objetos
// diferentes → o Set aceita os dois como "diferentes".
14
RESUMO

Resumo Rápido

OperaçãoSímboloSignificado
UniãoA ∪ BTudo que está em A ou em B (ou ambos)
InterseçãoA ∩ BSomente o que está em A e em B
DiferençaA \ BO que está em A mas não em B
ComplementoA'Tudo no universo que não está em A
Comp. da União(A ∪ B)'Tudo que não está em nenhum dos dois
15
EXERCÍCIOS

Exercícios Práticos

Resolva usando as operações que você aprendeu

01
Easy — Dados C = {2, 4, 6, 8} e D = {1, 2, 3, 4, 5}. Qual é C ∪ D?
Junte todos os elementos sem repetir.
02
Easy — Usando os mesmos C e D, qual é C ∩ D?
Quais números aparecem nos DOIS conjuntos?
03
Easy — Qual é C \ D (diferença de C menos D)?
Quais números estão em C mas NÃO estão em D?
04
Easy — Se U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}, qual é C'?
Tudo no universo que NÃO está em C.
05
Easy — Usando C = {2, 4, 6, 8} e D = {1, 2, 3, 4, 5} anteriores, qual é D \ C?
Quais números estão em D mas NÃO estão em C? Observe: D \ C é diferente de C \ D.
06
Easy — Se |A| = 12, |B| = 8 e |A ∩ B| = 5, qual é |A ∪ B|?
Use a fórmula da inclusão-exclusão: |A ∪ B| = |A| + |B| − |A ∩ B|.
07
Medium — Dados E = {a, b, c} e F = {b, c, d, e}. Qual é (E ∪ F)' se U = {a, b, c, d, e, f}?
Primeiro calcule E ∪ F, depois pegue o complemento.
08
Medium — Sejam G = {1, 2, 3, 4, 5} e H = {3, 4, 5, 6, 7} com U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Qual é (G ∩ H)'?
Primeiro encontre G ∩ H, depois pegue tudo em U que NÃO está nesse resultado.
09
Medium — Dados P = {10, 20, 30, 40, 50} e Q = {20, 40, 60, 80} com U = {10, 20, 30, 40, 50, 60, 70, 80}. Mostre que P \ Q = P ∩ Q' calculando ambos os lados.
Lado esquerdo: elementos em P que não estão em Q. Lado direito: primeiro encontre Q', depois faça a interseção com P.
10
Medium — A interseção de dois conjuntos é {5, 10} e a união é {1, 5, 7, 10, 12}. Encontre um possível par de conjuntos A e B.
Elementos na interseção devem estar nos DOIS conjuntos. Os demais elementos da união podem ser distribuídos entre A e B.
11
Hard — Sejam A = {1, 2, 3, 4}, B = {3, 4, 5, 6} e C = {2, 4, 6, 8} com U = {1, 2, 3, 4, 5, 6, 7, 8}. Qual é (A ∪ B) ∩ C'?
Três passos: (1) encontre A ∪ B, (2) encontre C', (3) faça a interseção dos dois resultados.
12
Hard — Sejam A = {1, 2, 3, 4, 5} e B = {4, 5, 6, 7, 8} com U = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}. Verifique a Lei de De Morgan: (A ∪ B)' = A' ∩ B'.
Calcule cada lado separadamente: o lado esquerdo precisa de A ∪ B e depois o complemento; o lado direito precisa de A' e B' e depois a interseção.
13
Challenge — Em uma turma de 40 alunos: 22 estudam Matemática (M), 18 estudam Ciências (S) e 15 estudam Arte (R). Além disso: |M ∩ S| = 8, |M ∩ R| = 6, |S ∩ R| = 5 e |M ∩ S ∩ R| = 3. (a) Quantos alunos estudam pelo menos uma matéria? (b) Quantos não estudam nenhuma das três? (c) Quantos estudam exatamente uma matéria?
Use a fórmula da inclusão-exclusão para três conjuntos: |M ∪ S ∪ R| = |M| + |S| + |R| − |M∩S| − |M∩R| − |S∩R| + |M∩S∩R|.
14
Code — Em Java, o que imprime o código abaixo?
Set<Integer> numbers = new HashSet<>();
numbers.add(3);
numbers.add(3);
System.out.println(numbers.size());
Lembre-se: Set não aceita duplicatas.
16
RESPOSTAS

Respostas

01
C ∪ D = {1, 2, 3, 4, 5, 6, 8}
União: todos os elementos de C e D combinados.
02
C ∩ D = {2, 4}
Interseção: apenas 2 e 4 estão em ambos.
03
C \ D = {6, 8}
6 e 8 estão em C mas não aparecem em D.
04
C' = {1, 3, 5, 7, 9, 10}
Complemento: todos de U exceto {2, 4, 6, 8}.
05
D \ C = {1, 3, 5}
A diferença não é simétrica: C \ D = {6, 8} mas D \ C = {1, 3, 5}. Os elementos 1, 3 e 5 estão em D mas não aparecem em C.
06
|A ∪ B| = 15
|A ∪ B| = 12 + 8 − 5 = 15. Subtraímos a interseção para não contar os elementos compartilhados duas vezes.
07
(E ∪ F)' = {f}
E ∪ F = {a,b,c,d,e}. Complemento no universo: só {f} sobra.
08
(G ∩ H)' = {1, 2, 6, 7, 8, 9, 10}
G ∩ H = {3, 4, 5}. O complemento é tudo em U exceto {3, 4, 5}: {1, 2, 6, 7, 8, 9, 10}.
09
P \ Q = {10, 30, 50} e P ∩ Q' = {10, 30, 50} — são iguais.
P \ Q = {10, 30, 50} (elementos em P que não estão em Q). Q' = {10, 30, 50, 70} (elementos em U que não estão em Q). P ∩ Q' = {10, 30, 50} (elementos em P e em Q'). Ambos os lados dão o mesmo resultado — essa identidade sempre vale.
10
Um par válido: A = {1, 5, 10, 12} e B = {5, 7, 10}
Tanto 5 quanto 10 devem estar em A e em B (estão na interseção). Os elementos restantes {1, 7, 12} podem ser divididos entre os conjuntos de qualquer forma, desde que cada elemento apareça em pelo menos um conjunto. Outro par válido: A = {5, 7, 10} e B = {1, 5, 10, 12}.
11
(A ∪ B) ∩ C' = {1, 3, 5}
Passo 1: A ∪ B = {1, 2, 3, 4, 5, 6}. Passo 2: C' = U \ C = {1, 3, 5, 7}. Passo 3: {1, 2, 3, 4, 5, 6} ∩ {1, 3, 5, 7} = {1, 3, 5}.
12
(A ∪ B)' = {9, 10} e A' ∩ B' = {9, 10} — a Lei de De Morgan se confirma.
Lado esquerdo: A ∪ B = {1, 2, 3, 4, 5, 6, 7, 8}, então (A ∪ B)' = {9, 10}. Lado direito: A' = {6, 7, 8, 9, 10}, B' = {1, 2, 3, 9, 10}, então A' ∩ B' = {9, 10}. Ambos os lados são iguais — essa identidade é chamada Lei de De Morgan e sempre vale para quaisquer conjuntos.
13
(a) 39 alunos estudam pelo menos uma matéria. (b) 1 aluno não estuda nenhuma. (c) 26 alunos estudam exatamente uma matéria.
(a) |M ∪ S ∪ R| = 22 + 18 + 15 − 8 − 6 − 5 + 3 = 39. (b) Alunos que não estudam nenhuma = 40 − 39 = 1. (c) Só M = 22 − 8 − 6 + 3 = 11. Só S = 18 − 8 − 5 + 3 = 8. Só R = 15 − 6 − 5 + 3 = 7. Exatamente uma = 11 + 8 + 7 = 26. Verificação: exatamente duas (não três) = (8−3) + (6−3) + (5−3) = 5 + 3 + 2 = 10. Total = 26 + 10 + 3 = 39 ✔.
14
Imprime: 1
O segundo add(3) é ignorado — o 3 já existia no conjunto 'numbers'.
17
REFERÊNCIAS

Referências

Fontes utilizadas na elaboração deste material

01
Set Operations (Union, Intersection, Complement, Difference)
Comprehensive set operations reference with formal definitions
Acessado em: 21 March 2026
02
Union, Intersection, and Complement — Mathematics for the Liberal Arts
Beginner-friendly explanations with visual examples
Acessado em: 21 March 2026
03
Set Operations — GeeksforGeeks
Set operations with formulas, properties, and worked examples
Acessado em: 21 March 2026
04
Sets and Venn Diagrams — Math is Fun
Interactive Venn diagram tool with visual explanations
Acessado em: 21 March 2026
05
Sets and Venn Diagrams — AMSI Teacher Modules
Comprehensive teaching module on sets and Venn diagrams
Acessado em: 21 March 2026
06
Set Operations with Venn Diagrams — Mometrix
Video + text tutorial on set operations visualization
Acessado em: 21 March 2026