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

(Resolvido) Programa que armazena uma função f(x) no computador.


Justiceira

Pergunta

Pensar numa estrutura de dado para armazenar f(x).E depois calcular f(x) ondedeve ser informado pelo usuario.

Exemplo

x²-x-1

x³-x-6

x³-x²+3

.

.

etc

program funcao_matematica;
uses crt;
var
e,x,c,n,funcao,f,calc:integer;
begin
clrscr;
writeln('Informe um numero para a expoente da Fun‡Æo:');
readln(e);
writeln('Informe um numero pra a constante:');
readln©;
writeln('Informe um Numero para x:');
readln(x);
calc:=1;
n:=e;
f:=0;
while e<>0 do
begin
while n>=1 do
begin
calc:=calc*x;
n:=n-1;
f:=f+calc;
e:=e-1;
end;
end;
funcao:=f+c;
writeln('Função:',funcao);
readln;
end.[/CODEBOX]

me ajudem não consigo resolver,sei q tem problemas de lógica e muitos mais me deem dicas ai

vlw

Editado por Justiceira
Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Em Linguagem C


#include<stdio.h>
#include<math.h>
main()
{
float fx[80],f,p;
int i,grau;
f=0;
printf("\nEntre com o Grau:\n");
scanf("%d",&grau);
printf("\nAgora entre com a Função:\n");
printf("\nEntre com os Coeficientes da F(x):\n");
for(i=0;i<=grau;i++){
printf("\nCoeficientes de x^%d:",i);
scanf("%f",&fx[i]);
}
printf("\nCalcular a Função em qual ponto ? :\n");
scanf("%f",&p);
//Calculando
for(i=0;i<=grau;i++)
f=f+fx[i]*pot(p,i);
printf("\nF(x) no ponto %2.f\n",p,f);
}
[/codebox]

E de outro jeito também

[codebox]
#include<stdio.h>
float pot (float,int);
main()
{
float fx[80],f,p;
int i,grau;
f=0;
printf("\nEntre com o Grau:\n");
scanf("%d",&grau);
printf("\nAgora entre com a Função:\n");
printf("\nEntre com os Coeficientes da F(x):\n");
for(i=0;i<=grau;i++){
printf("\nCoeficientes de x^%d:",i);
scanf("%f",&fx[i]);
}
printf("\nCalcular a Função em qual ponto ? :\n");
scanf("%f",&p);
//Calculando
for(i=0;i<=grau;i++)
f=f+fx[i]*pot(p,i);
printf("\nF(x) no ponto %2.f\n",p,f);
}

float pot(float base,int exp)
{
float result=1;
if(exp>0)
for(i=0;i<exp;i++)
result=result*base
else
for(i=0;i<exp*-1;i++)
result=result*1/base;
return result;
}

Link para o comentário
Compartilhar em outros sites

  • 0

#include<stdio.h>
#include<math.h>

struct tEq {
    int grau;
    int coef;
} Eq;

int main() {
    int pontos;
    Eq *equac;
    float f;
        
    printf("\nNumero de pontos da equaçao:\n");
    scanf("%d",&pontos);
    
    equac = new Eq[pontos];
    
    //Preenche a equação com os graus e os coeficientes
    //por ex: +3x^2 -2
    //        -1x^4 +2x^2 +1
    for(i = 0; i < pontos; i++) {
        printf("\n Ponto: %d:",i);
        scanf("%d",&equac[i].coef); //ex: 3
        scanf("%d",&equac[i].grau); //ex: 2
                                       //3x^2
    }
    
    //...
    
    delete[] equac;
}

Eu fiz desse jeito que dá pra usar a estrutura, e usa menos variáveis. A sua parte de calcular deve estar correta, mas eu não entendi se é pra calcular a raiz ou se o usuário dá o valor de X e o programa calcula a função.

Se o usuário der o valor de X, então basta fazer outro FOR, como aquele alí em cima, e fazer como você fez no seu algoritmo, passando os valores de "equac.coef * pot(equac.grau, x)".

Editado por Mnemonic
Link para o comentário
Compartilhar em outros sites

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,2k
×
×
  • Criar Novo...