diff --git a/fundamentos-programacion/PR2/README.md b/fundamentos-programacion/PR2/README.md index a683c6b..f33f1b6 100644 --- a/fundamentos-programacion/PR2/README.md +++ b/fundamentos-programacion/PR2/README.md @@ -889,6 +889,42 @@ end algorithm 3. Solución ```alg +function potencia(n: real, m: integer): real + var + i: integer; + resultado: real; + end var + + resultado:= 1.0; + + for i:= 1 to m do + resultado:= resultado * n; + end for + + return resultado; + +end function + +algorithm main + var + base, resultado: real; + exponente: integer; + end var + + writeString("[+] Introduce la base: "); + base:= readReal(); + + writeString("[+] Introduce el exponente: "); + exponente:= readInteger(); + + writeString("[i] El resultado de elevar "); + writeReal(base); + writeString(" a la potencia "); + writeInteger(exponente); + writeString(" es: "); + writeReal(potencia(base, exponente)); + +end algorithm ``` diff --git a/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia b/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia new file mode 100755 index 0000000..2fe0664 Binary files /dev/null and b/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia differ diff --git a/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia.c b/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia.c new file mode 100644 index 0000000..431e0c7 --- /dev/null +++ b/fundamentos-programacion/PR2/soluciones_c/solucion3/potencia.c @@ -0,0 +1,34 @@ +/* Función que calcula n (real) elevado a la potencia m (entero) */ + +#include + +double potencia(double n, int m) +{ + int i; + double resultado = 1.0; + + for (i = 0; i < m; i++) + { + resultado = resultado * n; + } + + return resultado; +} + +int main() +{ + double base, resultado; + int exponente; + + printf("\n[+] Introduce la base: "); + scanf("%lf", &base); + + printf("\n[+] Introduce el exponente: "); + scanf("%d", &exponente); + + resultado = potencia(base, exponente); + + printf("\n[i] El resultado de elevar %.2f a la potencia %d es: %.2f\n\n", base, exponente, resultado); + + return 0; +}