Last active
March 9, 2024 14:56
-
-
Save nosrednawall/b89c14a70f8f399874a62aadf1ff1a34 to your computer and use it in GitHub Desktop.
Código que calcula sistemas de primeiro grau, precisa necessariamente ter duas incógnitas que estão sendo igualadas a algum valor.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env python3 | |
# coding=utf8 | |
# ---------------------------------------------------------------------------- | |
# Created By : Anderson José de Souza Inácio | |
# Created Date: 2024-03-09 | |
# version ='1.0' | |
# --------------------------------------------------------------------------- | |
""" Curso Estatística 2024 UFPR | |
Disciplina CI182 Fundamentos de Programacao de Computadores | |
Aula 3 Exercício 3.6 - 3 eqSist | |
Código que realiza o calculo de sistemas de primeiro Grau, utilizando o | |
método de substituição, mais informações em | |
https://www.todamateria.com.br/sistemas-de-equacoes-do-1-grau-exercicios/""" | |
# --------------------------------------------------------------------------- | |
# Import | |
# --------------------------------------------------------------------------- | |
# from string import * | |
# from math import * | |
print('Bem vindo ao programa calcula sistemas!\n' | |
'Para que o programa funcione corretamente,\n' | |
'sera necessario informar 6 valores no formato de inteiro ou decimal' | |
'(separado em virgula) mais o operador entre x e y:\n' | |
' - Se o valor de X e igualdade for negativo é necessário colocar' | |
' o menos junto,\n' | |
' - Se o valor de X ou Y for 1 deve ser informado 1,\n' | |
' - Exemplos:\n' | |
' x + y = -12 Seria igual a 1 + 1 = -12\n' | |
' 3x - y = 20 Seria igual a 3 - 1 = 20\n') | |
# Recebe o valor de X da primeira equacao | |
valorX1 = float(input('Informe o valor X na primeira equação: ')) | |
# Recebe o sinal entre as icognitas da primeira equacao | |
operador1Equacao = str(input('Informe o operador matemático (+ou-): ')) | |
# Recebe o valor de Y da primeira equacao | |
valorY1 = float(input('Informe o valor Y na primeira equação: ')) | |
# Recebe o valor de igualdade da primeira equacao | |
igualdade1Equacao = float(input('Informe o valor da igualdade da ' | |
'primeira equacao: ')) | |
# Recebe o valor de X da segunda equacao | |
valorX2 = float(input('Informe o valor X na segunda equação: ')) | |
# Recebe o sinal entre as icognidas da segunda equacao | |
operador2Equacao = str(input('Informe o operador matemático (+ou-): ')) | |
# Recebe o valor de Y da segunda equacao | |
valorY2 = float(input('Informe o valor Y na segunda equação: ')) | |
# Recebe o valor de igualdade da primeira equacao | |
igualdade2Equacao = float(input('Informe o valor da igualdade da ' | |
'segunda equacao: ')) | |
# Inverte a ordem das equações, para as questões | |
# na qual se usa o método de adição | |
if (valorX1 < valorX2): | |
# Parte de cima da divisão final | |
resultadoNumerador = (igualdade2Equacao) - ( | |
(valorX2) * (igualdade1Equacao) | |
) | |
# Parte de baixo da divisão final | |
if (operador1Equacao == '+' and operador2Equacao == '+'): | |
resultadoDenominador = ((valorX2) * (- (valorY1))) + (valorY2) | |
elif (operador1Equacao == '+' and operador2Equacao == '-'): | |
resultadoDenominador = ((valorX2) * (- (valorY1))) - (valorY2) | |
elif (operador1Equacao == '-' and operador2Equacao == '+'): | |
resultadoDenominador = ((valorX2) * (+ (valorY1))) + (valorY2) | |
else: | |
resultadoDenominador = ((valorX2) * (+ (valorY1))) - (valorY2) | |
# Se obtem o valor de Y | |
resultadoFinalY = resultadoNumerador / resultadoDenominador | |
# Se obtem o valor de X | |
resultadoFInalX = igualdade1Equacao - resultadoFinalY / valorX1 | |
else: | |
# Parte de cima da divisao final | |
resultadoNumerador = (igualdade1Equacao) - ( | |
(valorX1) * (igualdade2Equacao) | |
) | |
# Parte de baixo da divisao final | |
if (operador2Equacao == '+' and operador1Equacao == '+'): | |
resultadoDenominador = ((valorX1) * (- (valorY2))) + (valorY1) | |
elif (operador2Equacao == '+' and operador1Equacao == '-'): | |
resultadoDenominador = ((valorX1) * (- (valorY2))) - (valorY1) | |
elif (operador2Equacao == '-' and operador1Equacao == '+'): | |
resultadoDenominador = ((valorX1) * (+ (valorY2))) + (valorY1) | |
else: | |
resultadoDenominador = ((valorX1) * (+ (valorY2))) - (valorY1) | |
# Se obtem o valor de Y | |
resultadoFinalY = resultadoNumerador / resultadoDenominador | |
# Se obtem o valor de X | |
resultadoFInalX = igualdade2Equacao - resultadoFinalY / valorX2 | |
print(resultadoNumerador, resultadoDenominador) # Para debbug | |
print('O valor de Y é: ', round(resultadoFinalY, 2)) | |
print('O valor de X é: ', round(resultadoFInalX, 2)) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment