You are on page 1of 11

TRABAJO DE PROGRAMACION DIGITAL II 10.-Leer 3 nmeros (da , mes y ao) y decir si corresponden a una fecha correcta .

Usando la seleccin mltiple switch. El programa es :


import java.util.Scanner ; public class pregunta7 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int mes,dia,a ; System.out.print("Ingrese el dia :"); dia=entrada.nextInt(); System.out.print("Ingrese el mes :"); mes=entrada.nextInt(); System.out.print("Ingrese el anio :"); a=entrada.nextInt(); switch (mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: if (dia<=31){ System.out.print("Fecha correcta"); } else System.out.print("Error en la fecha"); break ; case 4: case 6: case 9: case 11: if (dia<=30) System.out.print("Fecha correcta"); else System.out.print("Error en la fecha"); break; case 2: if((a%400==0 || a%4==0) && a%100!=0){ if (dia<=29) System.out.print("Fecha correcta"); else System.out.print("Error en la fecha"); } else if (dia<=28) System.out.print("Fecha correcta "); else System.out.print("Error en la fecha"); break ; default: System.out.print("Error en la fecha"); } }//fin del metodo }//fin de la clase

11.-Dadas las variables enteras (v1,v2,v3), escribir condiciones que expresen lo siguiente :

Todas las variables son cero Todas las variables son positivas Todas las variables tienen el mismo signo Todos sus valores son distintos Dos de sus valores coinciden Como maximo, dos de sus variables coinciden El valor de v2 esta contenido entre los valores de v1 y de v3

SOLUCION: El programa queda:


//Programa que asigna condiciones a tres variables import java.util.Scanner ; public class variables { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); double v1,v2,v3 ; System.out.print("Ingrese el valor de v1 :"); v1=entrada.nextInt(); System.out.print("Ingrese el valor de v2 :"); v2=entrada.nextInt(); System.out.print("Ingrese el valor de v3 :"); v3=entrada.nextInt(); if(v1==0 && v2==0 && v3==0) System.out.println("Todas las variables son cero"); if(v1>0 && v2>0 && v2>0) System.out.println("Todas las variables son positivas"); if((v1>=0 && v2>=0 && v3>=0) ||(v1<0 && v2<0 && v3<0)) System.out.println("Todas las variables tienen el mismo signo"); if(v1!=v2 && v2!=v3 && v1!=v3) System.out.println("Todos sus valores son distintos"); if(v1==v2 || v2==v3 || v1==v3) System.out.println("Dos de sus valores coinciden"); if((v1==v2 || v2==v3 || v1==v3)||(v1!=v1||v2!=v3 || v1!=v3)) System.out.println("Como maximo 2 de sus valores coinciden"); if((v2>v1 && v2<v3)||(v1>v2 && v1<v3)||(v3>v2 && v3<v1)||(v2>v3 && v2<v1)||(v1>v3 && v1<v2)||(v3>v1 && v3<v2)) System.out.println("El valor de uno de ellos esta comprendido entre los restantes"); } }

12.-Leer un numero de mes y escribir el numero de dias que tiene dicho mes. Teniendo en cuenta que el anio puede ser bisiesto. SOLUCION : En el caso de los meses, estos tiene , comenzando desde Enero, 30 das; se intercala con 31 das excepto Febrero, el cual puede tener 28 o 29 das dependiendo si el ao no es o es Bisiesto. Luego , el programa quedara como :
import java.util.Scanner; public class pregunta12 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int mes,a ; System.out.print("Ingrese el mes :"); mes=entrada.nextInt(); System.out.print("Ingrese el anio :"); a=entrada.nextInt(); switch (mes){ case 1: case 3: case 5: case 7: case 8: case 10: case 12: System.out.println("El numero de dias es 31"); break ; case 4: case 6: case 9: case 11: System.out.println("El numero de dias es 30"); break; case 2: if((a%400==0 || a%4==0) && a%100!=0) System.out.print("El numero de dias es 29"); else System.out.print("El numero de dias es 28");

break ; default: System.out.print("Error en el numero de mes"); } }//fin del metodo }//fin de la clase

13.-Dado un numero, decir si es primo SOLUCION: Un nmero primo es aquel que tiene como divisores a la unidad y a el mismo nmero. Por tanto, solo basta construir un algoritmo que verifique si tiene 2 divisores.

/Programa para saber si un numero es o no primo import java.util.Scanner ; public class primo { public static void main(String[] args) { Scanner entrada=new Scanner(System.in); int N,i,c=0; System.out.print("Ingrese un numero para saber si es primo :"); N=entrada.nextInt(); for(i=1;i<=N;i=i+1) { if(N%i==0) c=c+1; } if(c<=2&& c>1) System.out.print("El numero "+N+"es primo"); else System.out.print("El numero"+N+"no es primo"); } }

14.-Escribir los 50 primeros nmeros primos. SOLUCION : En este caso, solo basta con seleccionar un intervalo en el que encontremos 50 nmeros primos, y usando un algoritmo similar al anterior, nos queda :
//programa que muestra los 50 primeros numeros primos import java.util.Scanner; public class pregunta14 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int i,j,c=0,N; System.out.print("Los 50 primeros numeros primos son"); for(i=1;i<=232;i=i+1) { c=0; for(j=1;j<=i;j=j+1){ if(i%j==0) c=c+1; } if(c<=2 && c>1){ System.out.print(+i+","); } }//fin de for }//fin del metodo main }//fin de la clase pregunta 14

15.-Dados 2 nmeros, realizar el algoritmo que calcule el cociente y el resto (sin utilizar las operaciones de cociente y de resto, esto es: / y %) SOLUCION: Como no podemos usar los operadores que definen el cociente y el resto, podemos usar sentencias repetitivas, definiendo as al cociente como el nmero de veces enteras que esta contenido en el divisor .El algoritmo siguiente es indiferente en el orden en que sean puestos los nmeros:
//programa que calcula el cociente y resto dados 2 numeros import java.util.Scanner ; public class pregunta15 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int N,n,c=0; System.out.print("Ingrese el valor de N:"); N=entrada.nextInt(); System.out.print("Ingrese el valor de n:"); n=entrada.nextInt(); if(N>=n) while (N>=n) { N=N-n; c=c+1; }; System.out.println("El cociente es "+c); System.out.println("El resto es "+N); if (n>N) while (n>=N) { n=n-N; c=c+1; }; System.out.println("El cociente es "+c); System.out.println("El resto es "+n); } }

16.-Leer una lista de nmeros (hasta que se lea el cero) y calcular la suma y la media entera de ellos. SOLUCION:
import java.util.Scanner ; public class pregunta2 { public static void main(String arg[]) { Scanner entrada=new Scanner (System.in); double S,numero,i;

System.out.print("Ingrese un numero :"); numero=entrada.nextInt(); S=0; i=0; while (numero!=0){ S=S+numero; i++; System.out.print("Ingrese un numero :"); numero=entrada.nextInt(); } if (i>0){ System.out.println("La suma es :" +S); int j1=(int) (S/i); System.out.println("La media entera es :" +j1); } else

System.out.println("Debe ingresar un numero"); }//fin del metodo main }//fin de la clase

17.-Disear un algoritmo que permita al usuario la introduccin de los 50 primeros nmeros enteros y encuentre el mximo y el mnimo. SOLUCION:
import java.util.Scanner ; public class pregunta5 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); double n,s=0,i=0,p,d=-1,z=10000000 ; System.out.println("Ingrese numero :"); n=entrada.nextInt(); while (i<50){ if(n>d) {d=n; } else {d=d; } if (n<z && n!=0){ z=n; } else {z=z ; } if (n>0){ s=s+n ; i++; System.out.print("Ingrese un numero :"); n=entrada.nextInt(); } }//fin de while p=s/i ;

System.out.println("El mayor numero es :"+d); System.out.println("El menor numero es :"+z); } }

18.-Modificar el algoritmo anterior para que adems de calcular el mximo y el mnimo, calcule el valor medio. SOLUCION:
import java.util.Scanner ; public class pregunta5 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); double n,s=0,i=0,p,d=-1,z=10000000 ; System.out.println("Ingrese numero :"); n=entrada.nextInt(); while (i<50){ if(n>d) {d=n; } else {d=d; } if (n<z && n!=0){ z=n; } else {z=z ; } if (n>0){ s=s+n ; i++; System.out.print("Ingrese un numero :"); n=entrada.nextInt(); } }//fin de while p=s/i ; System.out.println("El mayor numero es :"+d); System.out.println("El menor numero es :"+z); System.out.println("El promedio de numeros es :"+p ); } }

19.-Leer un nmero n por teclado y escribir el sumatorio entre 1 y n. SOLUCION:


import java.util.Scanner ; public class pregunta6 { public static void main(String[] args) {

Scanner entrada=new Scanner(System.in); double n,i,S=0; System.out.print("Ingrese limite de sumatoria :"); n=entrada.nextInt(); for (i=1;i<=n;i++){ S=S+i ; }//fin de for System.out.print ("La suma desde 1 hasta" +n+ "es :" +S ); }//fin del metodo }//fin de la clase

21.-Leer un numero y decir si es capica. En una primera versin, se consideraran nmeros hasta con un mximo de 6 cifras. SOLUCION:
public class capicua { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int N,nI,resto,falta ; System.out.print("Ingrese un numero :"); N=entrada.nextInt(); nI=0;resto=0; falta=N; while (falta!=0){ resto=falta%10; nI=nI*10+resto ; falta=falta/10; }//fin de while if (nI==N) System.out.print("El numero"+N+"es capicua"); else System.out.print("El numero"+N+ "no es capicua");

22.-Leer un numero y decir si es capicua.No consideraremos que tiene como maximo 6 cifras, sino cualquer numero. NOTA: Esto no es necesariamente cierto, ya que el formato tipo long tiene un limite. SOLUCION:
public class capicua { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); long N,nI,resto,falta ; System.out.print("Ingrese un numero :"); N=entrada.nextInt(); nI=0;resto=0; falta=N; while (falta!=0){ resto=falta%10; nI=nI*10+resto ; falta=falta/10;

}//fin de while if (nI==N) System.out.print("El numero"+N+"es capicua"); else System.out.print("El numero"+N+ "no es capicua");

24.-Leer dos nmeros n y m y escribir el combinatorio de n sobre m:

n n! = )!m m (n m !
SOLUCION:
import java.util.Scanner; public class pregunta1{ public static void main(String arg[]){ Scanner entrada = new Scanner(System.in); int temp=1 ,i,n,m,j,Temp=1,k,T=1; double G ; System.out.print("Digite el indice superior:"); n=entrada.nextInt(); for( i=1;i<=n;i++){ temp=temp*i; } System.out.print("Digite el indice inferiror :"); m=entrada.nextInt(); for(j=1;j<=m;j++){ Temp=Temp*j; } for (k=1;k<=(n-m);k++){ T=T*k; } G=temp/(Temp*T); System.out.print("La combinacion de n en grupos de m es :" +G); }//fin del metodo main }//fin de la clase pregunta1

25.-Leer un numero n por teclado y escribir el triangulo de tarataglia hasta la fila n-esima. SOLUCION:
//triangulo de tartaglia import java.util.Scanner ;

public class pregunta8 { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int n,i,j,m,p,Temp=1,temp=1,C,T=1,y; System.out.print("Ingrese fila n-esima del triangulo de tartaglia :"); n=entrada.nextInt(); for (i=0;i<=n;i++){ for (j=0;j<=i;j++){ if(i==0 || j==0){ C=1; } else{ Temp=1;temp=1;T=1 ; for (m=1;m<=i;m++){ Temp=Temp*m; }//fin de for for (p=1;p<=j;p++){ temp=temp*p; }//fin de for for (y=1;y<=(i-j);y++){ T=T*y; } C=Temp/(T*temp); }//fin de else if(i!=j){ System.out.print("("+i+j+")="+C); } else { System.out.println("("+i+j+")="+C); } } }//fi }

26.-Realizar un programa que lea un numero y lo pueda escribir como numero romano. SOLUCION:
//numeros romanos import java.util.Scanner; public class numerosprimos { public static void main(String[] args) { Scanner entrada=new Scanner (System.in); int N; System.out.print("Escriba un numero para espresar en romano :");

N=entrada.nextInt(); if(N/1000==1)System.out.print("M"); if(N/1000==2)System.out.print("MM"); if(N/1000==3)System.out.print("MMM"); N=N%1000; if(N/100==1)System.out.print("C"); if(N/100==2)System.out.print("CC"); if(N/100==3)System.out.print("CCC"); if(N/100==4)System.out.print("CD"); if(N/100==5)System.out.print("D"); if(N/100==6)System.out.print("DC"); if(N/100==7)System.out.print("DCC"); if(N/100==8)System.out.print("DCCC"); if(N/100==9)System.out.print("CM"); N=N%100; if(N/10==1)System.out.print("X"); if(N/10==2)System.out.print("XX"); if(N/10==3)System.out.print("XXX"); if(N/10==4)System.out.print("XL"); if(N/10==5)System.out.print("L"); if(N/10==6)System.out.print("LX"); if(N/10==7)System.out.print("LXX"); if(N/10==8)System.out.print("LXXX"); if(N/10==9)System.out.print("XC"); N=N%10; if(N==1)System.out.print("I"); if(N==2)System.out.print("II"); if(N==3)System.out.print("III"); if(N==4)System.out.print("IV"); if(N==5)System.out.print("V"); if(N==6)System.out.print("VI"); if(N==7)System.out.print("VII"); if(N==8)System.out.print("VIII"); if(N==9)System.out.print("IX"); } }

You might also like