Está en la página 1de 3

Lenguaje C

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

int main() {
double x, ln = 0, error, term;
int n = 0;

printf("Introduzca el valor de x: ");


scanf("%lf", &x);

while (x <= -1 || x >= 1) {


printf("Error: el valor de x debe estar en el rango -1 < x < 1\n");
printf("Introduzca el valor de x: ");
scanf("%lf", &x);

do {
term = pow(-1, n) * pow(x, n+1) / (n+1);
ln += term;
n++;
} while (fabs(term/ln) > 0.00001);

error = fabs((ln - log(1+x)) / log(1+x)) * 100;

printf("ln(1 + %.2lf) = %.6lf\n", x, ln);


printf("Error relativo: %.6lf%%\n", error);

return 0;
}
PYTHON

import math

x = float(input("Introduzca el valor de x: "))

if x <= -1 or x >= 1:
print("Error: el valor de x debe estar en el rango -1 < x < 1")
exit()

ln = 0
n = 0
error = float('inf')

while error > 0.00001:


term = (-1)**n * x**(n+1) / (n+1)
ln += term
n += 1
error = abs((ln - math.log(1+x)) / math.log(1+x)) * 100

print("ln(1 + {:.2f}) = {:.6f}".format(x, ln))


print("Error relativo: {:.6f}%".format(error))
OCTAVE

x = input("Introduzca el valor de x: ");

if x <= -1 || x >= 1
disp("Error: el valor de x debe estar en el rango -1 < x < 1");
return;
end

ln = 0;
n = 0;
error = inf;

while error > 0.00001


term = (-1)^n * x^(n+1) / (n+1);
ln += term;
n += 1;
error = abs((ln - log(1+x)) / log(1+x)) * 100;
endwhile

disp(["ln(1 + " num2str(x, "%.2f") ") = " num2str(ln, "%.6f")]);


disp(["Error relativo: " num2str(error, "%.6f") "%"]);

También podría gustarte