PROGRAMACIÓN EN JAVA

Francisco Javier Cruz Vílchez

EJERCICO RESUELTOS

  1. Escribir una solución en java que permita leer un número entero n mayor de cero y que imprima los n términos de la serie  10,15,23,35,53,80,. . . …. .. Además  debe imprimir la suma de los n términos.

 

public class CSerie {
      public static void main(String args []){
                  int n;
                  int te=10;
                  int k1 = 5, k2=3;
                  int con = 0;
                  double sum=0;         
                  System.out.println("Programa que calcula los terminos de una serie");
                  do{
                             System.out.print("Ingrese un Nº Positivo Mayor de Cero");
                             n=Leer.datoInt();
                             System.out.println();
                  }
                  while(n<=0);
                  do{
                             System.out.print("  ,"+te);
                             sum +=te;
                             con++;
                             if(con<n){
                                         te +=k1;
                                         k1 +=k2;
                                         k2 +=con;
                             }
                  }
                  while(con<n);                        
                  System.out.println("\n\n La suma de los Términos es "+sum);
      }
}

  1. Escribir un programa que permita leer un  número entero n mayor de cero y que imprima los n términos de la serie: 2, 1, 1,2, 8, 64, … … Además, debe imprimir la suma de n términos.

public class CTestSerie {
      public static void main (String args[]){
                  int n;
                  int ter = 2;
                  double  raz = 0.5;
                  int con = 0;
                  double  sum= 0;
                  System.out.println("programa que calcula los terminos de la serie");
                  do{
                             n= Leer.datoInt();
                  }
                  while(n<0);
                  do{
                             System.out.print(" ,"+ter);
                             sum +=ter;
                             con++;
                             if(con<n){
                                         ter *=raz;
                                         raz *=2;
                             }
                  }
                  while(con<n);
                  System.out.println();
                  System.out.println("La suma de los Términos es : "+sum);
      }
}

  1. Escribir un programa que calcule el factorial de un número entero mayor de cero. El programa debe repetirse mientras se desee.

import java.io.*;
class CFactorial {
            public static void main (String[] args)throws IOException {
            long fact=1;
            long n=0;
            char resp;
            do{
           
                                   do{
                                    System.out.print("Ingresar un Nº mayor de Cero = ");
                                    n=Leer.datoLong();
                                    System.out.println();
                                   }
                                   while(n<0);     
                                   if (n==0||n==1){
                                               fact=1;
                                   }
                                   else{
                                               for(long ter=1;ter<=n;ter++){
                                                           fact=fact*ter;
                                               }
                                   }
                                   System.out.println("El Factorial de N ="+n+" Es igual a : "+fact);
                                   System.out.print("Desea Continuar [S|N] =");       
                                   resp=(char)System.in.read();
                                   n=0;
                                   fact=1;
  }
  while(resp=='S');
}

  1. Escribir un programa que lea 3 números enteros positivos A,B,C y calcule la suma de los n términos de la serie :

 

class CTestSerie04 {
            public static void main(String args[]){
                        int a,b,n,cont=0, i=-1, num=1, den,k=1;
                        double suma=0;
                        //Ingresamos a,b,cy n
                        do{
                                   System.out.println("Ingrese el Valor de A : =  ");
                                   a=Leer.datoInt();
                                   System.out.println("Ingrese el Valor de B : =  ");
                                   b=Leer.datoInt();
                                   System.out.println("Ingrese el Valor de N : =  ");
                                   n=Leer.datoInt();
                                  
                        }
                        while (a<=0||b<=0||n<=0);
                       
                        suma=1.0/a; cont=1;
                       
                        System.out.print(" "+1+"/"+a);
                        while(cont<n){
                                   num=num+cont;
                                   den=1+k*b;
                                   k=k+2;
                                   System.out.print(" "+num+"/"+den);
                                   suma=suma+(num/den)*i;
                                   i=-i;
                                   cont=cont+1;                         
                        }
                        System.out.println();
                        System.out.print("La Suma es "+suma+" Total de Terminos "+cont);
            }
}

  1. Se desea ingresar los siguientes datos de n alumnos: nota(0-20), sexo (M,F) y estado civil (S,C,D).

Se quiere determinar:

    1. Número de hombres  y número de mujeres (h,m)
    2. No de hombres aprobados y No de mujeres aprobados (hap, map)
    3. No de hombres casados aprobados y desaprobados (hcap,hcdes )
    4. No de hombres casados (hcas)
    5. No de mujeres solteras aprobadas (msap)
    6. No de mujeres divorciadas (mdiv)
    7. No total de desaprobados

 

import java.io.*;
public class CTestAlumnos {
            public static void main(String args[])throws IOException{
                        int hap=0,map=0;         /*Hombres y Mujeres aprobadas.*/
                        int hcap=0,msap=0;      /* Hombres casados y mujeres Solteras*/
                        int hcdes=0;                 /* Hombres Casados Desaprobados*/
                        int hcas=0, hs=0;         /* Hombres casados y Hombres solteros*/
                        int h=0, m=0, n=0;        /* Nº de Hombres y mujeres y Nº Total de datos*/
                        int des=0, mdiv=0;        /* Total de Desaprobados y mujeres divorciadas*/
                        int nota, cont=0;
                        char sexo, est;              /* Estado Civil : Soltero, Casado o Divorciado*/
                        do{
                                   System.out.print("Ingrese el Nº de Datos :");
                                   n=Leer.datoInt();
                                   System.out.println();
                        }while(n<=0);
                       
                        while(cont<n){
                                   do{
                                               System.out.print("Ingrese Nota : ");
                                               nota=Leer.datoInt();
                                               System.out.println();
                                   }
                                   while(nota<0 ||nota>20);
                                  
                                   do{
                                               System.out.print("Ingrese Sexo [M|F] ");
                                               sexo=(char)System.in.read();
                                               System.out.print(" "+sexo);
                                   }
                                   while(sexo!='F' && sexo!='M'&&sexo!='f'&&sexo!='m');
                                  
                                   do{
                                               System.out.print("Ingrese Estado Civil [S|C|D] ");
                                               est=(char)System.in.read();
                                               System.out.println();
                                   }
                                   while(est!='S' && est!='C'&& est!='D');
                                   cont++;
                                  
                                   if(sexo=='M'){
                                               h++;
                                               if(nota>=11){
                                                   hap++;
                                                   if(est=='C'){
                                                           hcap++;
                                                           hcas++;
                                                      }   
                                                 }
                                                else{ des++;
                                                     if(est=='C')
                                                     {hcdes++;
                                                       hcas++;                                                  
                                                     }
                                                          
                                                  }
                                      }
                                    else{m++;
                                       if(nota>=11)
                                       { map++;
                                         if(est=='S') msap++;
                                       }
                                       else des++;
                                       if(est=='D') mdiv++;
                                    }
                        }
                        System.out.println("REPORTE DE RESULTADOS ");
                        System.out.println("Nº DE HOMBRES                                                 "+h);
                        System.out.println("Nº DE HOMBRES APROBADOS                        "+hap);
                        System.out.println("Nº DE HOMBRES CASADOS                           "+hcas);
                        System.out.println("Nº DE HOMBRES CASADOS APROBADOS      "+hcap);
                        System.out.println("Nº DE HOMBRES CASADOS DESAPROBADOS"+hcap);
                        System.out.println("Nº DE MUJERES                                                "+m);
                        System.out.println("Nº DE MUJERES APROBADAS                        "+map);
                        System.out.println("Nº DE MUJERES DESAPROBADAS                            "+mdiv);
                        System.out.println("Nº DE MUJERES SOLTERAS APROBADAS      "+msap);
                        System.out.println("TOTAL DE DESAPROBADOS                             "+des);
            }

}

  1. Escribir un programa que permita clacular el MCM y el MCD de 2  *Numeros enteros positivos

class CMcmMcd {
public static void main(String args[]){
   int n1,n2;
   int mcd =1, mcm, div =2;
   
    do{
                  System.out.println("Ingrese dos Numeros Enteros");
                  System.out.print("Ingrese dos N1 : = ");
                  n1=Leer.datoInt();
                  System.out.println();
                  System.out.print("Ingrese dos N2 : = ");
                  n2=Leer.datoInt();
    }
    while(n1<=0||n2<=0);
     
    while(div<=n1 && div<n2){
      if (n1%div ==0 && n2%div==0)
      {  n1=n1/div;
         n2=n2/div;
         mcd=mcd*div;                   
      }
      else
                  div =div+1;
    }
         mcm=mcd*n1*n2;
    System.out.println("El Máximo Común Divisor "+mcd);
    System.out.println("Minimo Común Múltiplo   "+mcm);
  }
}

  1. Escribir un programa que diga si un número es primo.

public class CNumPrimo {
      public static void main(String args[]){
      int n, i, band;
      System.out.println("Ingrese un Numero");
      n=Leer.datoInt();
      i=n/2;
      band=1;
      while(i>1){
                  if(n%i==0) band=0;
                  i=i-1;
      }
       if(band==1) System.out.println("Es Primo");
       else System.out.print("No es Primo");
     
      }
}

  1. Encuentre el promedio ponderado de n números.

public class Cpromedio {
      public static void main(String args[]){
                  int i,n,p;
                  float nro, sn=0,sp=0;
                  System.out.print("Cantidad de Números");
                  n=Leer.datoInt();
                  for(i=1;i<=n;i++){
                             System.out.print("Numero : = ");
                             nro=Leer.datoFloat();
                             System.out.println();
                             System.out.print("Peso    : =");
                             p=Leer.datoInt();
                             System.out.println();
                             sn=sn+nro*p;
                             sp=sp+p;
                  }
                  System.out.print("El promedio Ponderado es : "+sn/sp);
      }
}


EJERCICIOS PROPUESTOS

 

1. Escribir un programa que permita leer números enteros diferentes de cero y que al finalizar imprima.

El máximo y mínimo No positivo

La cantidad de pares e impares positivos.

El máximo y el mínimo No negativo

La cantidad de pares e impares negativos

La cantidad de datos leídos

La cantidad de No, positivos y negativos.

El programa termina cuando se ingresa No cero.

X es un No real mayor igual 0.1. La sumatoria termina cuando se tiene un término xn/n! <0.0001 también se debe indicar cuántos términos se sumaron.
3. Plantear una solución en java para imprimir una tabla de valores de la función.

 

Para valores de x de 0 a 20 en incrementos de 0.5 y alineados lado a lado con valores de sen(x) de la siguiente manera:
X         S(X)    SEN(X).

4.- Encontrar por computadora, el límite de [1-cos(x)]/sqrt(x), cuando x tiende a cero.
5.- Utilizar el producto para obtener el valor de pi.

 

Volver al índice