abril 2, 2026

Subconjuntos em Código

Por admin

Sobre a Matemática

Consideremos os exemplos: A = {a,b,c,d….x,y,z}

Seja agora o conjunto V das vogais do alfabeto: V = {a,e,i,o,u}

Ora, qualquer que seja o elemento de V, ele também pertence a A. Indica-se:

V ⊂ A ⇔ está contido em A

ou

 V ⇔ A contém V

Define-se então, que um conjunto V é subconjunto de A quando, e somente quando, todo elemento de V é também elemento de A. Esta, pois, é a definição exata para um subconjunto, e a ideia dos símbolos contém e está contido ilusta bem a ideia geral do que é um conjunto e um subconjunto.

Sobre o Código

Na linguagem de programação Python,

from – é a palavra-chave usada para importar partes específicas de um módulo ou biblioteca. Biblioteca, por sua vez, é um conjunto de códigos prontos que oferecem funções e ferramentas para resolver problemas específicos, sem precisar programar tudo do zero.

itertools – é a biblioteca padrão que fornece funções para criar e manipular iteradores eficientes (como combinações e permutações).

import – é a palavra-chave usada para trazer módulos ou funções externas para o código.

chain() – é a função da biblioteca itertools que junta vários iteradores em um só, permitindo percorrê-los como se fossem um único.

combinations() – é a função da biblioteca itertools que gera todas as combinações possíveis de elementos de um conjunto, de tamanho r.

set() – é a estrutura de dados nativa que representa conjuntos (coleções sem elementos repetidos).

print() – é a função nativa que exibe informações na saída padrão (geralmente a tela).

.issubset() – é o método de conjuntos que verifica se todos os elementos de um conjunto estão contidos em outro.

.issuperset() – é o método de conjuntos que verifica se um conjunto contém todos os elementos de outro.

def – é a palavra-chave usada para definir uma função.

docstring – é o texto explicativo dentro de aspas triplas (“””) que documenta o propósito de uma função, classe ou módulo.

return – é a palavra-chave usada para devolver um valor como resultado da execução de uma função.

\n – é a sequência especial (escape sequence) que representa uma quebra de linha.

for...in... – é a estrutura de repetição usada para percorrer elementos de uma sequência (lista, conjunto, string, etc.).

# – é usado para criar comentários ao código, que são notas para se entender melhor o que o código faz.

Vamos ao código…

from itertools import chain, combinations

# Conjunto A: todas as letras do alfabeto
A = set("abcdefghijklmnopqrstuvwxyz")

# Conjunto V: vogais
V = set("aeiou")

# Verificação se V é subconjunto de A
print("V ⊆ A ?", V.issubset(A))   # True
print("A ⊇ V ?", A.issuperset(V)) # True

# Função para gerar todos os subconjuntos de um conjunto
def todos_subconjuntos(conjunto):
    """Retorna todos os subconjuntos possíveis de um conjunto."""
    return list(chain.from_iterable(combinations(conjunto, r) for r in range(len(conjunto)+1)))

# Exemplo: subconjuntos das vogais
subconjuntos_vogais = todos_subconjuntos(V)

print("\nSubconjuntos de V:")
for s in subconjuntos_vogais:
    print(set(s))
Código Python (.py)O que faz
from itertools import chain, combinationsImporta funções da biblioteca itertools para gerar combinações (subconjuntos).
A = set(“abcdefghijklmnopqrstuvwxyz”)Cria o conjunto A com todas as letras do alfabeto.
V = set(“aeiou”)Cria o conjunto V com as vogais.
print(“V ⊆ A ?”, V.issubset(A))Verifica se V é subconjunto de A e imprime o resultado (True).
print(“A ⊇ V ?”, A.issuperset(V))Verifica se A é superconjunto de V e imprime o resultado (True).
def todos_subconjuntos(conjunto):Define uma função para gerar todos os subconjuntos de um conjunto.
“””…”””Esta é a docstring da função, ou seja, um comentário especial que descreve o que a função faz.
return list(chain.from_iterable(combinations(conjunto, r) for r in range(len(conjunto)+1)))Usa combinations para gerar subconjuntos de tamanho r (de 0 até o tamanho do conjunto) e retorna todos em uma lista.
subconjuntos_vogais = todos_subconjuntos(V)Gera todos os subconjuntos possíveis do conjunto V.
print(“\nSubconjuntos de V:”)Imprime um título para a lista de subconjuntos.
for s in subconjuntos_vogais:Inicia um loop para percorrer cada subconjunto gerado.
print(set(s))Converte cada subconjunto em set e imprime.

Saída do código (valor de retorno)…

V ⊆ A ? True
A ⊇ V ? True

Subconjuntos de V:
set()
{'u'}
{'o'}
{'e'}
{'i'}
{'a'}
{'o', 'u'}
{'e', 'u'}
{'i', 'u'}
{'a', 'u'}
{'o', 'e'}
{'o', 'i'}
{'o', 'a'}
{'e', 'i'}
{'e', 'a'}
{'i', 'a'}
{'o', 'e', 'u'}
{'o', 'i', 'u'}
{'o', 'a', 'u'}
{'e', 'i', 'u'}
{'e', 'a', 'u'}
{'i', 'u', 'a'}
{'o', 'e', 'i'}
{'o', 'e', 'a'}
{'o', 'i', 'a'}
{'e', 'i', 'a'}
{'o', 'e', 'i', 'u'}
{'o', 'e', 'a', 'u'}
{'o', 'i', 'u', 'a'}
{'e', 'i', 'u', 'a'}
{'o', 'e', 'i', 'a'}
{'u', 'o', 'e', 'i', 'a'}

Fonte:

  • Editora Didática Paulista. Ensino Didático 2000: Ensino Fundamental e Ensino Médio. Sorocaba: Editora Didática Paulista, [s.d.].
  • Códigos e comentários gerados por Microsoft Copilot com revisão nossa.
  • https://docs.python.org/pt-br/3/ [Documentação Oficial do Python]