3 Equações, 3 incógnitas
Publicado por Perfil removido 15/08/2008
[ Hits: 19.713 ]
Meu primeiro script tem como intenção auxiliar na resolução de um sistema de 3 equações, com 3 incógnitas pelo método de Cramer.
Agiliza muito os cálculos, já que você não precisa mais ficar mexendo com matrizes, etc!
# -*- coding: utf-8 -*-
## Script que resolve um sistema de 3 equações com 3 incógnitas!
## Por Daniel S. Koda
import sys
# Introdução
print "\n Programa em Python para resolver um sistema de equações com três incógnitas"
print "\n Estou definindo um sistema de três equações com três incógnitas desta forma:"
print "\n \n ax + by + cz = R1 \n dx + ey + fz = R2 \n gx + hy + iz = R3 \n"
print "\n Digite os valores para: \n"
# O usuário dá valores aos coeficientes
a = input("a \n")
b = input("b \n")
c = input("c \n")
r1 = input("r1 \n")
d = input("d \n")
e = input("e \n")
f = input("f \n")
r2 = input("r2 \n")
g = input("g \n")
h = input("h \n")
i = input("i \n")
r3 = input("r3 \n")
# Aqui é a regra de Cramer, propriamente dita.
det = ((a * e * i) + (b * f * g) + (c * d * h)) - ((c * e * g) + (a * f * h) + (b * d * i))
detx = ((r1 * e * i) + (b * f * r3) + (c * r2 * h)) - ((c * e * r3) + (r1 * f * h) + (b * r2 * i))
dety = ((a * r2 * i) + (r1 * f * g) + (c * d * r3)) - ((c * r2 * g) + (a * f * r3) + (r1 * d * i))
detz = ((a * e * r3) + (b * r2 * g) + (r1 * d * h)) - ((r1 * e * g) + (a * r2 * h) + (b * d * r3))
# Define os valores das incógnitas, com casas decimais.
if det == 0:
print "Divisão por zero! Não é possível completar a operação!"
sys.exit()
else:
x = (round(detx, 3) / round(det, 3))
y = (round(dety, 3) / round(det, 3))
z = (round(detz, 3) / round(det, 3))
# Mostra os resultados finais
print "\n Os resultados são (aproximados com 4 casas decimais):"
print "\n x = %.4f" % x
print "\n y = %.4f" % y
print "\n z = %.4f" % z
print
# Fim
Horá do descanso! Uma peque aplicação que fiz usando pygtk
Nenhum comentário foi encontrado.
librePods: liberte seus AirPods em 2026
Bluefin - A nova geração de ambientes de trabalho Linux
Instalando e definindo as novas fontes Adwaita no GNOME
Configurar aviso da temperatura da CPU no Conky
Pós-instalação do elementary OS 8.1
Quer auto-organizar janelas (tiling) no seu Linux? Veja como no Plasma 6 e no Gnome
Copiando caminho atual do terminal direto para o clipboard do teclado
Instalar Dual Boot, Linux+Windows. (11)
O WiFi não reconhece minha rede depois que o processo de suspensão é r... (3)









