Autor Tema: JAVA sumatoria de una serie numérica donde interviene la Serie fibonacci  (Leído 9920 veces)

Novato David

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Alguien que sepa mucho de java, necesito ayuda en esto. Es para un exámen, adjunto la serie para que lo revisen. Por favor ya he buscado en todas partes y nadie me ha podido explicar bien, confío en esta comunidad.

Citar
Elabore un programa en Java que permita calcular la sumatoria de los n términos de la siguiente serie:

S = -(8/1)^3 - 5*sqr(2/13) + (21/3)^7 + 11*sqr(4/34) - (55/5)^13 - 17*sqr(6/89) + ...
« Última modificación: 12 de Mayo 2016, 08:20 por César Krall »
Quien no quiere luchar, ya ha perdido la batalla

César Krall

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2078
  • No vales por lo que dices, sino por lo que haces
    • Ver Perfil
    • aprenderaprogramar.com
Hola!

E foro "Comunidad" está destinado a presentarse a la comunidad, por favor leer este hilo https://www.aprenderaprogramar.com/foros/index.php?topic=1460.0 donde se explica cómo escribir en los foros, forma de poner títulos, etc.

Tú confías en esta comunidad, pero ¿esta comunidad confía en tí? Para que la comunidad confíe en tí es necesario que hayas ayudado antes a otras personas dentro de la comunidad.

Para recibir ayuda debes intentar antes resolver el problema indicando dónde no puedes avanzar y explicando lo que has hecho o el código que has podido generar.

Lo primero que debes hacer es determinar cuál es la lógica con la que se construye la serie: ¿cómo se genera? ¿cuáles serían los siguientes términos? Intenta orientarte con lo que se explica en el siguiente hilo: https://www.aprenderaprogramar.com/foros/index.php?topic=900.0

Saludos!
« Última modificación: 26 de Noviembre 2020, 18:45 por César Krall »
Responsable de departamento de producción aprenderaprogramar.com

Novato David

  • Sin experiencia
  • *
  • APR2.COM
  • Mensajes: 5
    • Ver Perfil
Hola me llamo David soy de Ecuador, 22 años y he comenzado a estudiar programación a distancia. Necesito de alguien que sepa programar en java, para esto. Es para un exámen, adjunto la serie para que lo revisen. Por favor ya he buscado en todas partes y nadie me lo ha podido explicar bien.



Mi código está casi completo, si no fuera por las líneas que corresponde a los cambios de signo. Como se ven existe varias series. Una de números primos, de intervalo potencia y raíz que ya he resuelto. Solo necesito saber que puedo añadir al código para que la serie concuerde con los signos. Adjutaré el código en java a continuación.

Código: [Seleccionar]
import java.util.Scanner;
public class Ejercicio3 {
 public static void main(String[] args) {
        Scanner lector = new Scanner(System.in);
        int limite;
        int genNum = 2;
        int cont = 0, contador=0,contSigno=0;
        double suma = 0,resultado = 0;
        int primero =3, segundo = 5, fibo;
        boolean esPrimo = false, signo = true;
        String sig="";
        System.out.print("ingrese los n términos; ");
        limite = lector.nextInt();
       
        while (cont < limite){
            genNum ++;
            esPrimo = true;
            for (int i = 2; i < genNum; i++){
                if (genNum % i == 0){
                    esPrimo = false;
                }
            }
            if (esPrimo == true){
                    cont ++;
                    if(signo){
                       contador=contador+1;
                       signo=true;
                       contSigno=0;
                       if(contador%2==0){     // Aquí empieza problema con el cambio de signos
                        sig="+";
                       }
                       else if(contador%3==0){
                           sig="-";
                       }
                       else{
                           sig="-";
                       }
                       
                    }
                   contSigno++;
                   if(contador==contSigno){
                       signo=true;
                   }
                    fibo = primero + segundo;
                    primero = segundo;
                    segundo = fibo;
                    if(cont %2!=0){
                        resultado =Math.pow((fibo/(genNum*1.0)),cont);   
                        System.out.println(sig+"potencia "+genNum+" de "+fibo+"/"+cont);
                       
                    }
                    else{
                        resultado=Math.pow(((genNum*1.0)/fibo),1.0/cont);
                        System.out.println(sig+"raiz "+genNum+" de "+cont+"/"+fibo);
                    }
                  if(sig=="+"){
                      suma=suma+resultado;
                  }
                  else{
                      suma=suma-resultado;
                  }
                }
            }
     System.out.printf("La suma %f\n", suma);
     
 }
}

Ahora como me ha compilado.



Ese es mi problema. Voy a sumar participaciones para así ganar su confianza, saludos y muchas gracias por leerlo.
« Última modificación: 12 de Mayo 2016, 11:46 por César Krall »
Quien no quiere luchar, ya ha perdido la batalla

Alex Rodríguez

  • Moderador Global
  • Experto
  • *******
  • Mensajes: 2050
    • Ver Perfil
Hola, puedes guiarte por este ejemplo para realizar el control de signos:

Código: [Seleccionar]
public class Test {

    public static void main (String[] Args) {
        int indice = 0;
        int cuentaInterna = 0;
        int limite = 20;

        while (indice < limite) {
            cuentaInterna = indice % 4;
            if (cuentaInterna == 0 || cuentaInterna ==1) {
                System.out.println ("Signo +");
            }
            if (cuentaInterna == 2 || cuentaInterna == 3) {System.out.println ("Signo -"); }
            indice++;

        }
    }
}

Saludos

 

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".