Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda por favor


Sherek

Pergunta

1. Entrar com o grau do polinômio;

2. Entrar com o coeficiente em função do grau;

3. Derivada de F(x);

4. Atribuir o primeiro valor de Xn;

5. Rodar o programa

5. Apresentar o Polinomio;

5. Apresentar a Raiz;

5. Apresentar o numero de iterações;

6. Quer calcular mais raiz?

7. Quer fazer uma nova função?

------//------

o programa só da um loop e encerra voltando pra "decisao". não consigo ver o porque disso

package trabalhomatematica;

import javax.swing.JOptionPane;

import java.util.*;

import java.util.Scanner;

import java.text.DecimalFormat;

public class TrabalhoMatematica {

public static void main(String[] args) {

int grau = 0, decisao = 0, j = 0;

int cont = 1, base = 0, n = 10, con = 0,exp=-4;

double Ec = 0;

double somaFx = 0, somaFlinha = 0;

double Ea = 0.000001; //Math.pow(n , exp);

DecimalFormat Deci = new DecimalFormat("0.0000");

do {

String Grau = JOptionPane.showInputDialog("Digite o maior grau da sua funçao: ");

grau = Integer.parseInt(Grau);

if (grau < 2) {

JOptionPane.showMessageDialog(null, "O grau do Polinomio deve ser pelo menos 2\nTente de novo");

} else {

con = con + 3;

}

} while (con == 0);

double[] vFlinhax = new double[grau+1];

//F(x)

double[] vFx = new double[grau + 1];

double[] vBase = new double[grau + 1];

for (int i = 0; i <= grau; i++) {

String Base = JOptionPane.showInputDialog("Digite o 'b' na funcao bX^" + i + "\nNao se esqueca do Sinal !!");

vBase = Integer.parseInt(Base);

}

do{

String Chute = JOptionPane.showInputDialog("Chute um valor para X: ");

int x = Integer.parseInt(Chute);

double Xn = x;

for (int i = 0; i <= grau; i++) {

vFx = (vBase * (Math.pow(Xn, i)));

somaFx = somaFx + vFx;

}

//F'(x)

for (int i = grau; i > 0; i--) {

vFlinhax = (i * vBase * (Math.pow(Xn, (i - 1))));

somaFlinha = somaFlinha + vFlinhax;

}

do {

// CALCULAR Xn+1

double Xn1 = (Xn - (somaFx / somaFlinha));

//CALCULAR Erro Ec

Ec = (Xn - Xn1);

//Comparando erro

if (Ec <= Ea) {

j = 0;

} else {

cont++;

j = 3;

Xn = Xn1;

}

} while(j == 0);

JOptionPane.showMessageDialog(null, "Raiz do polinomio para X = " + x + " é: " + Xn + "\nNumero de interacoes: " + cont);

//exibiçao de F(x)

String Fx = "";

for (int a = grau; a >= 0; a--) {

Fx += String.valueOf(vFx[a]) + " | ";

}

//exibiçao de F'(x)

String Flinha = "";

for (int a = grau; a > 0; a--) {

Flinha += String.valueOf(vFlinhax[a]) + " | ";

}

JOptionPane.showMessageDialog(null, "F(x) = " + Fx + "\nF'(x) = " + Flinha + "\n soma F(x): " + somaFx + "\nsoma F'(x): " + somaFlinha);

decisao = JOptionPane.showConfirmDialog(null, "Deseja calcular outra raiz? ");

somaFx = 0;

} while (decisao == 0);

}

}

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,3k
×
×
  • Criar Novo...