Hello,

Para realizar o cadastro, você pode preencher o formulário ou optar por uma das opções de acesso rápido disponíveis.

Welcome Back,

Por favor, insira suas informações de acesso para entrar ou escolha uma das opções de acesso rápido disponíveis.

Forgot Password,

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Captcha Click on image to update the captcha.

You must login to ask a question.

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

PergunteAqui Latest Questions

  • 0
Anônimo(a)

Código para função exponencial em C?

Ai gente, alguem pode me passar um exemplo simples de código para função exponencial em linguagem C?

You must login to add an answer.

3 Answers

  1. #include

    float pot(float t, int n)

    // t é a taxa e n e os anos

    {int i;
    float res;
    for (i=1, res=1.0;i<=n;i++)

    // nota o res e do tipo float inicializada com 1.0 (se fosse 0.0 dava mal pois dava sempre 0)
    // o i varia de 1 ate n(anos)

    res*=t;

    // equivale a fazer res=res*t e isto é: i=1 res=t, i=2 res=t*t,… ,
    //i=n res=t*t*…*t n vezes isto é a potencia de t de ordem n…

    return res; // vai devolver a potencia de t de ordem
    }

    // e com este programa obtemos o a função potencia, vemos isto do seguinte modo
    // se queremos a potencia de t elevado a n ou a potencia de t de ordem n chama a função
    // do seguinte modo potencia=pot(t,n); em que potencia e do tipo float…

    float val (float x, float t, int n)

    // x é a massa, t a taxa e n o anos

    { int i;
    float res;
    for(i=1, res=0.0;i<=n; i++)

    // o i varia de 1 ate n, e o res e iniciado por 0.0 (nota este res e diferente do res na funçao pot)
    // aqui resultado e iniciado por 0 porque eu quero "somar 1 valor ao valor anterior" e se inicializasse por 1
    // os valores estavam errados com uma diferenca de 1 unidade…

    res+=x/pot(1+t,n);

    // equivale a res=res+x/pot(1+t,n);
    // aqui efectuamos res=x/(1+t) + x/(1+t)^2 + x/(1+t)^3 + …… + x/(1+t)^n
    // consegues ver que temos a potencia de (t+1)
    // com o ciclo efectuamos isso para i=1 temos res=0+ x/(t+1)^1; i=2 temos res=x/(t+1)^1+x/(t+1)^2
    // …. para i=n temos res=x/(t+1)^1+….+x/(t+1)^n

    return res;

    // vai devolver o valor actual liquido

    }

    main()
    { float x, t;
    int n;
    printf("introduza a massa x, a taxa t e os anos n\n"); //pede os valores x, t, n
    scanf("%f %f %d",&x,&t,&n); // ler os valor x, t, n
    printf("o valor actual liquido, sendo x=%f, t=%f e n=%d e %f\n",x,t,n,val(x,t,n));
    // vai escrever no ecra os valores de x, t, n e o valor actual liquido(val)
    }

  2. Use a função pow(a,b) da biblioteca . É uma double, com a e b também double. Se for usar inteiros, não se esqueça de fazer a conversão (casting), como (int)pow(2,17), e declarar as variáveis com tipos corretos (int, long int, double? vai depender se sua aplicação).

Related Questions