matiasgomeza/lab_orga_1 — pull request #1 by Aitama (2014-10-06 04:11:54+00:00)
Title: Create Logaritmo1.c

#include
#include
#include

//Se definen las primeras 8 constantes utilizadas por la serie de taylor
static double c0 = 1.0;
static double c1 = 1.0/3;
static double c2 = 1.0/5;
static double c3 = 1.0/7;
static double c4 = 1.0/9;
static double c5 = 1.0/11;
static double c6 = 1.0/13;
static double c7 = 1.0/15;

double Taylor4(double y){//Entra el valor del logaritmo al calcular
//Se simplifica en algo el codigo y el calculo
double x = (y-1)/(y+1);
double y2 = x * x;
double y4 = y2 * y2;
double R = y2 * (c2 + y2 * (c3 + y2 * c4));
double L = y4 * ( y2 * (c5 + y2 * (c6 + y2 * c7)));
return 2 * y * (c0 + y2 * (c1 + R + L));//Se retorna la operacion matematica del logaritmo natural
}

int main(int argc,char *argv[]){//Entran los argumentos con getopt
int sgte_opcion;//Valor en ascii de la opcion -i o -n segun corresponda
char *tipo = "i:n:";//"i" y "n" son las opciones cortas correspondientes que reciben un argumento obligatorio cada una.
int x,iteracion;//x = logaritmo a calcular. iteracion = numero de iteraciones de la funcion logaritmo
double ultimo;// ultimo = ultimo valor del logaritmo calculado
while(1){//entra si o si al while
sgte_opcion = getopt_long(argc,argv,tipo,NULL,NULL);//Obtiene el tipo de argumento que se esta ingresando
if (sgte_opcion == -1) break;//Si no hay argumentos, se sale.
switch(sgte_opcion){
case 'i':	iteracion = atoi(optarg);//Si el argumento que viene es del tipo i
break; //este correspondera al numero de iteraciones
case 'n':	x = atoi(optarg);//Si el argumento que vienes es del tipo n
int i; //este correspondera al numero de logartimo a calcular
for (i = 0; i