Está en la página 1de 2

package taller1;

import java.util.Scanner;

public class Taller1 {

public static void main(String[] args) {


Scanner sc = new Scanner(System.in);

System.out.println("Digite el numero que desea evaluar en grados este se


pasara a radianes");
double numero = sc.nextDouble();
double angRadianes = Math.toRadians(numero);
System.out.println("Deg a Rad: " + numero + "� = " + angRadianes + " rad");

//declarando variables de conteo


int cambiodesigno = 1;
int incremento = 2;
int iteracion = 0;
//se especifica el error especifico y se imprime
double erroresp = (0.5 * Math.pow(10, -8)) * 100;
System.out.println("error esperado = " + erroresp);
//se declara la variable de error aproximado para hacer la comparacion en
el while
double erroraprox = 1;
//primera operacion aparte
double aproxactual = 1;
double aproxant = 0;

while (erroraprox > erroresp) {

if (cambiodesigno > 0) {
System.out.println("\nValor actual del aproximado anterior = " +
aproxant);
aproxactual = aproxactual - Math.pow(angRadianes, incremento) /
factorial(incremento, 1);
System.out.println("Valor valor estimado = " + aproxactual);
iteracion++;
incremento = incremento + 2;
System.out.println("Numero de iteraciones = " + iteracion);
cambiodesigno = -1;
erroraprox = Math.abs(aproxactual - aproxant / aproxactual) * 100;
System.out.println("Valor error aproximado = " + erroraprox);
aproxant = aproxactual;
System.out.println("Valor actual del aproximado anterior = " +
aproxant);
System.out.println("salio de restar");

} else {
System.out.println("\nValor actual del aproximado anterior = " +
aproxant);
aproxactual = aproxactual + Math.pow(angRadianes, incremento) /
factorial(incremento, 1);
System.out.println("Valor aproximacion actual = " + aproxactual);
iteracion++;
System.out.println("Numero de iteraciones = " + iteracion);
incremento = incremento + 2;
cambiodesigno = 1;
erroraprox = Math.abs(aproxactual - aproxant / aproxactual) * 100;
System.out.println("Valor error aproximado = " + erroraprox);
aproxant = aproxactual;
System.out.println("Valor actual del aproximado anterior = " +
aproxant);
System.out.println("salio de sumar");
}
}

public static long factorial(long numero, long factorial) {


while (numero != 0) {
factorial = factorial * numero;
numero--;
}
return factorial;
}

También podría gustarte