Para ir conociendo el lenguaje de programacion en Java, el hacer ejercicios de generar series y calcular sumatorias nos ayuda a ir aprendiendo el uso correcto del for y el while.
SERIES
EJEMPLOS
1. Generar la serie de fibonacci
Si n=9 se tendra: 0,1,1,2,3,5,8,13,21
2. Generar la siguiente serie
Si n=18 se debe mostrar 1,2,2,3,3,3,4,4,4,4,5,5,5,5,5,6,6,
import java.util.Scanner; class Series { public static void main(String[] args) { int n,j,x,i; Scanner lee=new Scanner(System.in); n=lee.nextInt(); j=1; x=1; for (i = 1; i <= n; i++) { System.out.print(x+","); if (j < x) { j++; } else { j=1; x++; } } System.out.println(); } } |
3. Generar la siguiente serie
Si n=18 se debe mostrar 1,0,0,1,1,1,0,0,0,0,1,1,1,1,1,
import java.util.Scanner; class Series2 { public static void main(String[] args) { int n,x,j,b,i; Scanner lee=new Scanner(System.in); n=lee.nextInt(); x=1; j=1; b=1; for (i = 1; i <= n; i++) { System.out.print(b+","); if (j < x) { j++; } else { j=1; x++; b=1-b; } } } } |
4. Generar la serie de numeros primos
Si n=10 se debe mostrar 2,3,5,7,11,13,17,19,23,29
import java.util.Scanner; class Series { public static void main(String[] args) { int n,c,p,d; Scanner lee=new Scanner(System.in); n=lee.nextInt(); c=1; p=2; d=2; while(c<=n){ if(p%d==0){ if(p==d){ System.out.print(p+","); c++; } d=2; p++; } else d++; } } }
SUMATORIAS
EJEMPLOS
1. Resolver la siguiente sumatoria
import java.util.Scanner; public class Sumatorias { public static void main(String[] args) { int a, j, n, x; double m = 3, s = 0; System.out.println("valor de n : "); Scanner lee = new Scanner(System.in); n = lee.nextInt(); // para x System.out.println("valor de X : "); lee = new Scanner(System.in); x = lee.nextInt(); a = 1; j = 1; for (int i = 1; i <= n; i++) { s = s + (Math.pow(x, a)) / m; m = m + 3; if (j < a) j++; else { a++; j = 1; } } System.out.println("Resultado = " + s); } } |
(*) En esta parte del diagrama de flujo se tiene (x^a)/m, que en codigo Java se utiliza Math.pow(x,a) y la variable m en java es de tipo double, y todo se guarda en la variable s que tambien es double. RECUERDA que para obtener un valor real se debe dividir ValorReal/ValorEntero o tambien ValorEntero/ValorReal
Resolver la siguiente sumatoria
import java.util.Scanner; public class Sumatorias2 { static int fibo(int n){ int a,b,c; a = -1; b = 1; c=0; for (int i = 1; i <= n; i++) { c = a + b; a = b; b = c; } return c; } | |
static int primo(int n){ int c,d,p,primo; c=1; p=2; d=2; primo=2; while(c<=n){ if(p%d==0){ if(p==d){ primo=p; c++; } d=2; p++; } else d++; } return primo; } |
public static void main(String[] args) { int n,num; double den, s = 0; System.out.println("valor de n : "); Scanner lee = new Scanner(System.in); n = lee.nextInt(); for (int i = 1; i <= n; i++) { //llamamos a la funcion fibo el cual //nos devuelva el fibo que corresponde //al termino i-esimo num=fibo(i); //llamamos a la funcion primo el cual //nos devuelva el primo que corresponde //al termino i-esimo den=primo(i); if (i % 2 == 0) { System.out.print(num+"/"+den+"+"); s=s-num/den; } else { System.out.print(num+"/"+den+"-"); s=s+num/den; } } System.out.println("\nResultado = " + s); } } |
(*) En esta parte del diagrama de flujo se esta llamando a dos funciones una de ellas, la funcion fibo con el parametro i, para que nos devuelva el valor q corresponde a ese termino, y de la misma forma la funcion primo. Es decir
Si fibo(4) en la serie de fibonacci corresponde al valor 2, es decir 0,1,1,2
Si primo(4) en la serie de fibonacci corresponde al valor 7, es decir 2,3,5,7
Es asi que cuando la variable i vale 1, se pide el fibo(1)=0 y el primo(1)=2
cuando la variable i vale 2, se pide el fibo(2)=1 y el primo(2)=3
y asi sucesivamente..
Gracias amigo...me sirvió de mucho para mis examenes...
ResponderEliminarBuen aporte
ResponderEliminarnecesito uno amigo estoy barado 1,2,2,4,8,32,
ResponderEliminargracias
ResponderEliminarGracias
ResponderEliminarAyudame porfa nesecito saber cómo hacer 12121212 que me imprima en pantalla si es un número intercalo caso contrario si es 986046323 no es un número intercalado
ResponderEliminarSi se podría, necesito ayuda con una serie 1,0,1,0,1...
ResponderEliminar