La Web del Programador: Comunidad de Programadores
https://www.lawebdelprogramador.com/foros/Pascal-Turbo-Pascal/22707-RECrear-una-funcion-potencia.html

Crear una funcion potencia

Crear una funcion potencia

Publicado por Dario (1 intervención) el 09/01/2001 00:00:00
Por favor, me pueden ayudar en como puedo crear una funcion o un procedimiento que me calcule la potencia de x elevado a un n, plissss
me ayudaria mucho muchas gracias por escucharme

RE:Crear una funcion potencia

Publicado por adrian15 (15 intervenciones) el 09/01/2001 00:00:00
Yo creo que debe haber en turbo pascal alguna function parecida a exp o ^ que lo haga auto-
mático. Aunque tomando la definición de potencia me parece chupado.

Elevar el numero numero al exponente exponente. Y mostrar el resultado resultado.

function(f_numero,f_exponente,f_resultado:integer);

begin

resultado:=1;

If f_exponente < 1 then

begin (* Si el exponente es negativo *)

f_exponente:=-f_exponente; (* Quizas sea mejor con una funcion que saque siempre el valor positivo, hay en tpascal seguro*)
For 1 to f_exponente do
begin
f_resultado=f_resultado*f_numero;
end;
f_resultado := 1 / f_resultado;

end; (* si el exponente es negativo *)

else

begin (* no es negativo*)

if f_exponente = 0 then f_resultado:=1 else
begin (* Es mayor que 1 *)
begin (* Si el exponente es positivo *)

f_exponente:=-f_exponente; (* Quizas sea mejor con una funcion que saque siempre el valor positivo, hay en tpascal seguro*)
For 1 to f_exponente do
begin
f_resultado=f_resultado*f_numero;
end;
f_resultado := 1 / f_resultado;

end; (* si el exponente es positivo *)
end; end; end; (* y si falta algun end lo pones tu *)

Espero haberte sido de ayuda. No he depurado el programa y así que igual
tiene muchos fallos, pero eso ya es fácil

RE:Crear una funcion potencia

Publicado por DanAde (1 intervención) el 11/01/2001 00:00:00
(* Funcion potencia para potencias mayores que cero *)
Function Potencia ( x,n:integer ) : integer;
Var
i:integer; (* contador *)
pot:integer; (* variable potencia *)
Begin
pot:=1;
If n>0 Then
For i:=1 to n do
pot:=pot*x;
Potencia:=pot;
End;

RE:Crear una funcion potencia

Publicado por Maverick01 (26 intervenciones) el 01/02/2001 06:09:50
Existe una forma de hacerlo e incluso te calcula raices :D

Claro es aplicando las definiciones y propedades de exp y ln

function potencia(base,expon:real):real;
Begin
potencia:=exp(expon*ln(2));
End;

un errorcillo dedográfico :p

Publicado por Maverick01 (26 intervenciones) el 01/02/2001 06:11:28
perdón en la parte que puse
"ln(2)"
es
"ln(base)"

en q parte d la fnc potencia se guarda el valor?

Publicado por Maximiliano Masi (1 intervención) el 06/11/2008 22:53:25
EN QUE PARTE DE LA FUNCION POTENCIA SE GUARDA EL VALOR PARA QUE SE CUMPLA LA POTENCIA COMO TAL? ME EXPLICO? ES EN EL CICLO FOR? GRACIAS,.

Crear una funcion potencia

Publicado por Agustin Murray (2 intervenciones) el 15/03/2022 16:26:21
program potencia;
function potencia(i,n:integer):integer;
var j:integer;
begin
potencia:=i;
for j:=2 to n do potencia:=potencia*i;
end;
var
base,exponente:integer;
begin
read(base);
read(exponente);
writeln(potencia(base,exponente));
end.