março 15, 2026

Corolário em Código

Por admin

Sobre a Matemática

Se o produto de dois números é igual ao de outros dois, com os quatro números podemos formar uma proporção, sendo termos extremos, os fatores de um dos produtos, e meios, os fatores do outro.

Se ad=bc, tem-se: a/b=c/d, a/c=b/d.

Consequências – Do que se precede, resulta que se pode mudar a ordem dos termos de uma proporção, contanto que o produto dos extremos fique igual ao dos meios. A essas mudanças dá-se o nome de transformações.

Assim, a proporção: a/b = c/d (1) dá origem a sete outras.

Alternando-se os meios: a/c = b/d (2). Alternando-se os extremos: d/b = c/a (3). Invertendo-se as razões: b/a = d/c (4). Permutando-se as razões de (1): c/a = d/b (5). Permutando-se as razões de (2): (b – a) / (d – c) (6). Permutando-se as razões de (3): c/b = d/a (7). Permutando-se as razões de (4): (d – b) / (c – a) (8). Em cada uma dessas oito razões, temos sempre: ad = bc.

Sobre o Código

Na linguagem de programação Python,

from – é a palavra-chave usada para importar módulos ou partes específicas de uma biblioteca.

sympy – é a biblioteca para álgebra simbólica, usada em cálculos matemáticos exatos.

import – é a palavra-chave que permite trazer funções, classes ou módulos externos para o código.

symbols() – é a função da Sympy que cria variáveis simbólicas (ex.: a, b, c, d) para manipulação algébrica.

Eq() – é a função da Sympy que representa uma equação (igualdade) entre duas expressões.

simplify() – é a função da Sympy que simplifica expressões matemáticas, reduzindo-as à forma mais simples.

{} – define um dicionário, estrutura que armazena pares chave-valor.

def – é a palavra-chave usada para definir funções.

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

for..in..: – é a estrutura de repetição que percorre elementos de uma sequência (lista, dicionário, etc.).

eq.lhs – é o atributo da Sympy que retorna o lado esquerdo (Left Hand Side) da equação.

eq.rhs – é o atributo da Sympy que retorna o lado direito (Right Hand Side) da equação.

f"..{}" (f-string) – é a forma de interpolar variáveis dentro de strings. O conteúdo entre {} é avaliado e inserido no texto.

# – é 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 sympy import symbols, Eq, simplify

# Definindo os símbolos
a, b, c, d = symbols('a b c d')

# Condição fundamental da proporção
condicao = Eq(a*d, b*c)

# Lista de transformações possíveis
transformacoes = {
    "Proporção original": Eq(a/b, c/d),
    "Alternando meios": Eq(a/c, b/d),
    "Alternando extremos": Eq(d/b, c/a),
    "Invertendo razões": Eq(b/a, d/c),
    "Permutando razões (1)": Eq(c/a, d/b),
    "Permutando razões (2)": Eq((b - a)/(d - c), (a - b)/(c - d)),  
    "Permutando razões (3)": Eq(c/b, d/a),
    "Permutando razões (4)": Eq((d - b)/(c - a), (b - d)/(a - c))   
}
Código Python (.py)O que faz
from sympy import symbols, Eq, simplifyImporta funções da biblioteca Sympy: symbols para criar variáveis simbólicas, Eq para definir equações, e simplify para simplificar expressões matemáticas.
a, b, c, d = symbols(‘a b c d’)Cria quatro variáveis simbólicas (a, b, c, d) que representam os números da proporção.
condicao = Eq(a*d, b*c)Define a condição fundamental da proporção: 𝑎𝑑=𝑏𝑐.
transformacoes = { … }Cria um dicionário com todas as transformações possíveis da proporção, cada uma representada como uma equação simbólica (Eq).
“Proporção original”: Eq(a/b, c/d),Primeira transformação: a proporção inicial 𝑎/𝑏=𝑐/𝑑.
“Alternando meios”: Eq(a/c, b/d),Segunda transformação: alterna os meios da proporção 𝑎/𝑐=𝑏/𝑑.
“Alternando extremos”: Eq(d/b, c/a),Terceira transformação: alterna os extremos 𝑑/𝑏=𝑐/𝑎.
“Invertendo razões”: Eq(b/a, d/c),Quarta transformação: inverte as razões 𝑏/𝑎=𝑑/𝑐.
“Permutando razões (1)”: Eq(c/a, d/b),Quinta transformação: permuta as razões da proporção original 𝑐/𝑎=𝑑/𝑏.
“Permutando razões (2)”: Eq((b – a)/(d – c), (a – b)/(c – d)),Sexta transformação: outra permutação envolvendo diferenças entre termos.
“Permutando razões (3)”: Eq(c/b, d/a),Sétima transformação: permuta razões da forma 𝑐/𝑏=𝑑/𝑎.
“Permutando razões (4)”: Eq((d – b)/(c – a), (b – d)/(a – c))Oitava transformação: outra permutação envolvendo diferenças.
# Função para verificar se cada transformação mantém a condição ad = bc
def verificar_transformacoes():
    print("Condição fundamental:", condicao)
    print("\nTransformações possíveis:\n")
    for nome, eq in transformacoes.items():
        # Simplifica a diferença entre os dois lados da igualdade
        resultado = simplify(eq.lhs - eq.rhs)
        print(f"{nome}: {eq} | Verificação: {resultado == 0}")

if __name__ == "__main__":
    verificar_transformacoes()
Código Python (.py)O que faz
def verificar_transformacoes():Define uma função chamada verificar_transformacoes que vai verificar se cada transformação é válida.
print(“Condição fundamental:”, condicao)Exibe a condição fundamental 𝑎𝑑=𝑏𝑐.
print(“\nTransformações possíveis:\n”)Exibe um cabeçalho para listar as transformações.
for nome, eq in transformacoes.items():Percorre cada transformação do dicionário, pegando o nome e a equação.
resultado = simplify(eq.lhs – eq.rhs)Calcula a diferença entre os dois lados da equação e simplifica. Se for igual a 0, significa que a proporção é válida.
print(f”{nome}: {eq} Verificação: {resultado == 0}”)Exibe a transformação e se ela é válida (True ou False).
if __name__ == “__main__”:Garante que o código só execute automaticamente se o arquivo for rodado diretamente (não importado).
verificar_transformacoes()Chama a função para verificar e imprimir todas as transformações.

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

Condição fundamental: Eq(ad, bc)

Transformações possíveis:

Proporção original: Eq(a/b, c/d) | Verificação: False
Alternando meios: Eq(a/c, b/d) | Verificação: False
Alternando extremos: Eq(d/b, c/a) | Verificação: False
Invertendo razões: Eq(b/a, d/c) | Verificação: False
Permutando razões (1): Eq(c/a, d/b) | Verificação: False
Permutando razões (2): Eq((-a + b)/(-c + d), (a - b)/(c - d)) | Verificação: True
Permutando razões (3): Eq(c/b, d/a) | Verificação: False
Permutando razões (4): Eq((-b + d)/(-a + c), (b - d)/(a - c)) | Verificação: True

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]