Eliminação por Comparação em Código
Sobre a Matemática
Eliminar uma incógnita, entre várias equações simultâneas, é achar um sistema equivalente ao primeiro, que tenha uma equação e uma incógnita a menos. Os principais métodos de eliminação são os seguintes: 1º- por substituição, 2º- por comparação e 3º- por adição.
Eliminação por comparação – Para resolver um sistema de duas equações com duas incógnitas, por comparação:
1º- Tira-se o valor de uma mesma incógnita em ambas as equações, x, por exemplo, e igualam-se esses valores de x; vem uma equação com uma só incógnita y, que se resolve.
2º- Leva-se o valor de y para uma das equações que dão x e vem valor de x.
Seja o sistema de duas equações: 4x + 3y = 26 (1), 7x – 8y = 19 (2). De (1), tira-se x: x = (26 – 3y) / 4 (3). De (2), tira-se x: x = (19 + 8y) / 7 (4).
Igualando-se (3) e (4), tem-se: (26 – 3y)/4 = (19 + 8y)/7 (5). A expressão (5) é equação com uma só incógnita; sua resolução dá: 7(26 – 3y) = 4(19 + 8y), 182 – 21y = 76 + 32y, -21y – 32y = 76 – 182, -53y = -106. Multiplica-se por (-1) e acha-se: 53y = 106, y = 106/53 = 2. O valor de x será dado por (3), substituindo-se y por seu valor 2. Vem: x = (26 – 3y)/4 = (26 – 3·2)/4, x = (26 – 6)/4 = 20/4 = 5
As duas resoluções são: x = 5 e y = 2.
Sobre o Código
Na linguagem de programação Python,
def – é a palavra-chave usada para definir uma função.
return – é o comando que devolve um valor da função para quem a chamou.
from – é usado para importar partes específicas de um módulo ou biblioteca.
fractions – é a biblioteca padrão que permite trabalhar com frações exatas em vez de números decimais.
import – é a palavra-chave usada para trazer módulos ou bibliotecas para o código.
Fraction() – é a classe da biblioteca fractions que cria um número racional (fração), como Fraction(1, 2) para representar ½.
float() – é a função que converte um valor numérico em número decimal (ponto flutuante).
sympy – é a biblioteca para álgebra simbólica, usada para resolver equações, derivadas, integrais, etc.
symbols() – é a função da SymPy que cria variáveis simbólicas (como x, y) para manipulação matemática.
Eq() – é a função da SymPy que representa uma equação matemática (por exemplo, Eq(2*x + y, 5)).
solve() – é a função da SymPy que resolve equações ou sistemas de equações.
print() – é a função usada para exibir informações na tela (saída do programa).
# – é 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…
# Método manual - comparação (sem utilizar bibliotecas externas)
def resolver_por_comparacao():
# Equações:
# 4x + 3y = 26 -> x = (26 - 3y)/4
# 7x - 8y = 19 -> x = (19 + 8y)/7
# Passo 1: igualar as expressões de x
# (26 - 3y)/4 = (19 + 8y)/7
# Multiplicando cruzado:
# 7(26 - 3y) = 4(19 + 8y)
# Resolvendo para y:
from fractions import Fraction
y = Fraction(106, 53) # resultado da conta: y = 2
y = float(y) # convertendo para número decimal
# Passo 2: substituir em uma das expressões de x
x = (26 - 3*y) / 4
return x, y| Código Python (.py) | O que faz |
| def resolver_por_comparacao(): | Define uma função chamada resolver_por_comparacao. |
| # Equações: | Comentário indicando quais equações estão sendo usadas. |
| # 4x + 3y = 26 -> x = (26 – 3y)/4 | Comentário mostrando como isolar x na primeira equação. |
| # 7x – 8y = 19 -> x = (19 + 8y)/7 | Comentário mostrando como isolar x na segunda equação. |
| # Passo 1: igualar as expressões de x | Comentário explicando o próximo passo. |
| # (26 – 3y)/4 = (19 + 8y)/7 | Comentário com a equação resultante da comparação. |
| # Multiplicando cruzado: | Comentário indicando a operação feita. |
| # 7(26 – 3y) = 4(19 + 8y) | Comentário mostrando a equação após multiplicação cruzada. |
| # Resolvendo para y: | Comentário indicando que agora se resolve para y. |
| from fractions import Fraction | Importa a classe Fraction para trabalhar com frações exatas. |
| y = Fraction(106, 53) | Define y como a fração 106/53 (resultado da conta). |
| y = float(y) | Converte y para número decimal (2.0). |
| # Passo 2: substituir em uma das expressões de x | Comentário explicando que agora se calcula x. |
| x = (26 – 3*y) / 4 | Substitui y na equação para achar x. |
| return x, y | Retorna os valores de x e y. |
# Usando biblioteca SymPy
from sympy import symbols, Eq, solve
def resolver_com_sympy():
x, y = symbols('x y')
eq1 = Eq(4*x + 3*y, 26)
eq2 = Eq(7*x - 8*y, 19)
solucao = solve((eq1, eq2), (x, y))
return solucao| Código Python (.py) | O que faz |
| from sympy import symbols, Eq, solve | Importa funções da biblioteca SymPy para álgebra simbólica. |
| def resolver_com_sympy(): | Define uma função chamada resolver_com_sympy. |
| x, y = symbols(‘x y’) | Cria símbolos matemáticos x e y. |
| eq1 = Eq(4x + 3y, 26) | Define a primeira equação. |
| eq2 = Eq(7x – 8y, 19) | Define a segunda equação. |
| solucao = solve((eq1, eq2), (x, y)) | Resolve o sistema de equações para x e y. |
| return solucao | Retorna a solução encontrada. |
# Executando
x_manual, y_manual = resolver_por_comparacao()
print("Método manual: x =", x_manual, ", y =", y_manual)
solucao_sympy = resolver_com_sympy()
print("Usando SymPy:", solucao_sympy)| Código Python (.py) | O que faz |
| x_manual, y_manual = resolver_por_comparacao() | Chama a função manual e guarda os resultados em x_manual e y_manual. |
| print(“Método manual: x =”, x_manual, “, y =”, y_manual) | Imprime os valores obtidos pelo método manual. |
| solucao_sympy = resolver_com_sympy() | Chama a função com SymPy e guarda o resultado. |
| print(“Usando SymPy:”, solucao_sympy) | Imprime a solução obtida com SymPy. |
Saída do código (valor de retorno)…
Método manual: x = 5.0 , y = 2.0
Usando SymPy: {x: 5, y: 2}
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]