Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

valdir calixto

Função potência

Recommended Posts

Todos nós sabemos que existe a função exp(a,B) no visualg. Só que preciso desenvolver uma função manualmente que também faça esse recurso, o usuario vai entrar com um valor real a e um valor inteiro n ai retorna a elevado n. No caso tentei com uma estrutura de repetição.vara,n,resultado,i: inteiroinicioleia(a,n)i<-1repitai<-i+1resultado<-a*nate i=nescreva(resultado)fimalgoritmoSó que não conseguir fazer com que o resultado obtesse a elevado n

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema está aqui:

 

resultado <- a * n

Com isso a variável "resultado" sempre terá o valor de "a*n".

O que voce precisa é acumular os resultados e fazer corretamente a relacão da lógica com a matemática.

 

inicie "resultado" com o valor de "a" e faca algo mais ou menos assim:

 

resultado <- a * resultado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bem ficou dessa formavara,n,resultado1,i: inteiroinicioresultado1<-1leia(a,n)enquanto i < n facai<-i+1resultado1<-resultado1*afimenquantoescreva(resultado1)fimalgoritmoAgora preciso fazer isso dentro do recurso de função:var x:inteiro y: inteiro Funcao Potencia (a:inteiro):inteiro var n,i:inteiro resultado: inteiro Inicio resultado1<-1enquanto i < n facaretorne (resultado1<-resultado1*a)fimenquantofimfuncaoinicioleia(x,y)escreval("a potência é:",potencia(x,y))fimalgoritmoSó que não funciou um outro detalhe é que a base tem que ser do tipo real, tiver alguma idéia pode editar o código enquanto isso vou pensando aqui pq na função não ta funcionando e fora tá.

Compartilhar este post


Link para o post
Compartilhar em outros sites

retorne (resultado1<-resultado1*a)

Isso é Pascal né?Eu não conheço essa linguagem, mas em outras o comando retorna encerra a função.Por isso ele deve devolver o resultado de 1 * a.Se não for esse o erro, por favor nos informe-o.Outro detalhe
Funcao Potencia (a:inteiro):inteiro
Aqui voce declara dois argumentos?cadê o n?

um outro detalhe é que a base tem que ser do tipo real

Isso não muda muita coisa não. O que voce precisa é declarar "resultado1" também como real e iniciar ele com 1.0 http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.