prob. 1-29

18
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA 1. Leer dos números por el teclado e intercambiar sus valores. import javax.swing.JOptionPane; public class prob1 { public static void main(String[] args) { int a,b; a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: ")); b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo valor: ")); JOptionPane.showMessageDialog(null,"El primer valor es: "+b++); JOptionPane.showMessageDialog(null,"El segundo valor es: "+a++);}} 2. Leer dos números y decir cuál es el menor. import javax.swing.JOptionPane; public class prob2 { public static void main(String[] args) { int a,b; a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: ")); b=Integer.parseInt(JOptionPane.showInputDialog("ingrese el segundo valor: ")); if (a!=b) if(a>b) {JOptionPane.showMessageDialog(null,"El menor valor es : "+b++);} else {JOptionPane.showMessageDialog(null,"El menor valor es : "+a++);} else JOptionPane.showMessageDialog(null,"Los números son iguales");}} 3. Leer tres números y decir cuál es el mayor. import javax.swing.JOptionPane; public class prob3 { public static void main(String[] args) { int a,b,c; a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: ")); b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo valor: ")); c=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tercer valor: ")); if (a>b && a>c) JOptionPane.showMessageDialog(null,"El mayor valor es : "+a); if (b>c && b>a) PROGRAMACIÓN DIGITAL II

Transcript of prob. 1-29

Page 1: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

1. Leer dos números por el teclado e intercambiar sus valores.

import javax.swing.JOptionPane;public class prob1 {public static void main(String[] args) {int a,b;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: "));b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo valor: "));JOptionPane.showMessageDialog(null,"El primer valor es: "+b++);JOptionPane.showMessageDialog(null,"El segundo valor es: "+a++);}}

2. Leer dos números y decir cuál es el menor.

import javax.swing.JOptionPane;public class prob2 {public static void main(String[] args) {int a,b;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: "));b=Integer.parseInt(JOptionPane.showInputDialog("ingrese el segundo valor: "));if (a!=b)if(a>b)

{JOptionPane.showMessageDialog(null,"El menor valor es : "+b++);}else

{JOptionPane.showMessageDialog(null,"El menor valor es : "+a++);}else

JOptionPane.showMessageDialog(null,"Los números son iguales");}}

3. Leer tres números y decir cuál es el mayor.

import javax.swing.JOptionPane;public class prob3 {public static void main(String[] args) {int a,b,c;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer valor: "));b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo valor: "));c=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el tercer valor: "));

if (a>b && a>c)JOptionPane.showMessageDialog(null,"El mayor valor es : "+a);

if (b>c && b>a)JOptionPane.showMessageDialog(null,"El mayor valor es : "+b);

if (c>b && c>a)JOptionPane.showMessageDialog(null,"El mayor valor es : "+c);

if (a==b && b==c)JOptionPane.showMessageDialog(null,"Los números son iguales");}}

PROGRAMACIÓN DIGITAL II

Page 2: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

4. Leer tres números y escribirlos en orden decreciente.

import javax.swing.JOptionPane;public class prob4 {public static void main(String[] args) {int n1, n2, n3;n1 =Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer número ")); n2 =Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer número ")); n3 =Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer número ")); if (n1>n2 && n1>n3)

{if (n2>n3){JOptionPane.showMessageDialog(null,"Los números en forma decreciente

son: "+n1+"-"+n2+"-"+n3);} else

{JOptionPane.showMessageDialog(null,"Los números en forma decreciente son: "+n1+"-"+n3+"-"+n2);}}if (n2>n3 && n2>n1)

{if (n3>n1){JOptionPane.showMessageDialog(null,"Los números en forma decreciente

son: "+n2+"-"+n3+"-"+n1);}else

{JOptionPane.showMessageDialog(null,"Los números en forma decreciente son: "+n2+"-"+n1+"-"+n3);}}if (n3>n2 && n3>n1)

{if (n2>n1){JOptionPane.showMessageDialog(null,"Los números en forma decreciente

son: "+n3+"-"+n2+"-"+n1);}else

{JOptionPane.showMessageDialog(null,"Los números en forma decreciente son: "+n3+"-"+n1+"-"+n2);}}if (n1==n2 && n2==n3)

JOptionPane.showMessageDialog(null,"Los números son iguales " );}}

5. ¿Los siguientes fragmentos de código son equivalentes?

A.- if (n>10) n=n-1;else n=n+1;

B.- if (n>10) n=n-1;if (n<=10) n=n+1;

import javax.swing.JOptionPane;public class prob5 {public static void main(String[] args) {int n,m;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer caso (a): "));m=Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo caso (b): "));if(n>10)

{n=n-1;}

PROGRAMACIÓN DIGITAL II

Page 3: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

else{n=n+1;}

if(m>10){m=m-1;}

if(m<=10){m=m+1;}

if(n==m){JOptionPane.showMessageDialog(null,"Son casos iguales");}

else{JOptionPane.showMessageDialog(null,"Son casos diferentes");}}}

6. ¿Los siguientes fragmentos de código son equivalentes?

A.- if (n>10) n=n+1;else n=n-1;

B.- if (n>10) n=n+1;if (n<=10) n=n-1;

import javax.swing.JOptionPane;public class prob6 {public static void main(String[] args) {int n,m;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese primer caso (a): "));m=Integer.parseInt(JOptionPane.showInputDialog("Ingrese segundo caso (b): "));if(n>10)

{n=n+1;}else

{n=n-1;}if(m>10)

{m=m+1;}if(m<=10)

{m=m-1;}if(n==m)

{JOptionPane.showMessageDialog(null,"Son casos iguales");}else

{JOptionPane.showMessageDialog(null,"Son casos diferentes");}}}

7. Leer una nota (número entre 0 y 10) y escribir la correspondiente nota numérica (suspenso, aprobado, notable, sobresaliente o matrícula).

import javax.swing.JOptionPane;public class prob7 {public static void main(String[] args) {int nota;nota=Integer.parseInt(JOptionPane.showInputDialog("Ingrese Nota: "));if(nota<=10)

{if(nota<=9){if(nota<=7)

{if(nota<=5)

PROGRAMACIÓN DIGITAL II

Page 4: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

{if(nota==0){JOptionPane.showMessageDialog(null,"Matricula

condicional");}else{JOptionPane.showMessageDialog(null,"Suspenso");}}

else{JOptionPane.showMessageDialog(null,"Aprovado");}}

else{JOptionPane.showMessageDialog(null,"Notable ");}}

else{JOptionPane.showMessageDialog(null,"Sobresaliente");}}}}

8. Leer dos números y decir si uno es múltiplo del otro.

import javax.swing.JOptionPane;public class prob8 {public static void main(String[] args) {int a,b,c;a=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el primer número: "));b=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el segundo número: "));if(a>b)

{c=a%b;if(c==0)

{JOptionPane.showMessageDialog(null,+a+" es múltiplo de "+b++);}else

{JOptionPane.showMessageDialog(null,"No son múltiplos");}}if(b>a)

{c=b%a;if(c==0)

{JOptionPane.showMessageDialog(null,+b+" es múltiplo de " +a++);}else{JOptionPane.showMessageDialog(null," No son múltiplos ");}}}}

9. Leer 3 números (día, mes y año) y decir si corresponde a una fecha correcta. Un año es bisiesto si es divisible por 4 excepto si acaba en 00 en cuyo caso es bisiesto sólo si es divisible por 400.

import javax.swing.JOptionPane;public class prob9 {public static void main(String[] args) {int año,a,b,c,dia,mes;dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el día: "));mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el mes: "));año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el año: "));a=año%400;b=año%4;c=año%100;if(mes<=12)

{if(mes==1||mes==3||mes==5||mes==7||mes==8||mes==10||mes==12){if(dia<=31)

{JOptionPane.showMessageDialog(null,"La fecha existe");

PROGRAMACIÓN DIGITAL II

Page 5: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

if(b==0 && (a==0||c!=0)){JOptionPane.showMessageDialog(null,"y es bisiesto");}

else{JOptionPane.showMessageDialog(null,"y no es bisiesto");}}

else{JOptionPane.showMessageDialog(null,"La fecha no existe");}}

if(mes==4||mes==6||mes==9||mes==11){if(dia<=30)

{JOptionPane.showMessageDialog(null,"La fecha existe"); if(b==0 && (a==0||c!=0))

{JOptionPane.showMessageDialog(null,"y es bisiesto");}else

{JOptionPane.showMessageDialog(null,"y no es bisiesto");}}else

{JOptionPane.showMessageDialog(null,"La fecha no existe");}}if(mes==2)

{if(dia<=28){JOptionPane.showMessageDialog(null,"La fecha existe");

if(b==0 && (a==0||c!=0)){JOptionPane.showMessageDialog(null,"y es bisiesto");}

else{JOptionPane.showMessageDialog(null,"y no es bisiesto");}} else{JOptionPane.showMessageDialog(null,"La fecha no existe");}}}

else{JOptionPane.showMessageDialog(null,"La fecha no existe");}}}

10.Leer 3 números (día, mes y año) y decir si corresponde a una fecha correcta. Programarlo utilizando la instrucción de selección múltiple: switch.

import javax.swing.JOptionPane;public class prob10 {public static void main(String[] args) {int dia,mes,año,a=0;dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese día: "));mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese mes: "));año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese año: "));switch(mes){case 1: a=31; case 2: if(año%4==0 && (año%400==0||año%100!=0))

a=29;else

a=28;break;

case 3: a=31;break; case 4: a=30;break; case 5: a=31;break; case 6: a=30;break; case 7: a=31;break; case 8: a=31;break; case 9: a=30;break; case 10: a=31;break;

PROGRAMACIÓN DIGITAL II

Page 6: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

case 11: a=30;break; case 12: a=31;break;}if(año>0 && (mes>0 && mes<=12) && (dia>=1 && a>=dia))

JOptionPane.showMessageDialog(null,"La fecha existe");else

JOptionPane.showMessageDialog(null,"La fecha no existe");}}

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

import javax.swing.JOptionPane;public class prob11 {public static void main(String[] args) {int v1,v2,v3;v1=Integer.parseInt(JOptionPane.showInputDialog("Ingrese primera variable: "));v2=Integer.parseInt(JOptionPane.showInputDialog("Ingrese segunda variable: "));v3=Integer.parseInt(JOptionPane.showInputDialog("Ingrese tercera variable: "));

a) Todas las variables son cero.

if (v1==v2 && v2==v3 && v3==0)JOptionPane.showMessageDialog(null,"Todas las variables son cero");

elseJOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

b) Todas las variables son positivas.

if (v1>0 && v2>0 && v3>0)JOptionPane.showMessageDialog(null,"Todas las variables son positivas");

elseJOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

c) Todas las variables tienen el mismo signo.

if (v1>0 && v2>0 && v3>0)JOptionPane.showMessageDialog(null,"Todas las variables tienen el mismo

signo");else if (v1<0 && v2<0 && v3<0)

JOptionPane.showMessageDialog(null,"Todas las variables tienen el mismo signo");else

JOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

d) Todos sus valores son distintos.

if (v1!=v2 && v2!=v3 && v3!=v1)JOptionPane.showMessageDialog(null,"Todas las variables son distintas");

else

PROGRAMACIÓN DIGITAL II

Page 7: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

JOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

e) Dos de sus valores coinciden.

if (v1==v2 && v2==v3 && v3==v1)JOptionPane.showMessageDialog(null,"No cumplen la condición inicial");

else if (v1==v2 || v2==v3 || v3==v1)JOptionPane.showMessageDialog(null,"Dos de las variables coinciden");

elseJOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

f) Como máximo dos de sus valores coinciden.

if (v1==v2 && v2==v3 && v3==v1)JOptionPane.showMessageDialog(null,"Todas las variables coinciden");

else if (v1==v2 || v2==v3 || v3==v1)JOptionPane.showMessageDialog(null,"Dos de las variables coinciden");

elseJOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

g) El valor de v2 está comprendido entre los de v1 y v3.

if (v1<v2 && v2<v3)JOptionPane.showMessageDialog(null,"v2 está comprendido entre v1 y v3");

else if (v3<v2 && v2<v1)JOptionPane.showMessageDialog(null,"v2 está comprendido entre v3 y v1");

elseJOptionPane.showMessageDialog(null,"No cumplen la condición inicial");}}

12.Leer un número de mes y un número de año y escribir el número de días que tiene dicho mes, teniendo en cuenta que el año puede ser bisiesto.

import javax.swing.JOptionPane;public class prob12 {public static void main(String[] args) {int dia,mes,año,a=0;año=Integer.parseInt(JOptionPane.showInputDialog("Ingrese año: "));mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese mes: "));if(año>0 && 0<mes && mes<13){switch(mes) {case 1: a=31; case 2: if(año%4==0 && (año%400==0||año%100!=0))

a=29; else a=28; break;

case 3: a=31;break;

PROGRAMACIÓN DIGITAL II

Page 8: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

case 4: a=30;break;case 5: a=31;break;case 6: a=30;break;case 7: a=31;break;

case 8: a=31;break;case 9: a=30;break;case 10: a=31;break;case 11: a=30;break;case 12: a=31;break;}

JOptionPane.showMessageDialog(null,"El número de días del mes ("+mes+") es : "+a++);}else

JOptionPane.showMessageDialog(null,"La fecha no existe");}}

13.Dado un número decir si es primo.

import javax.swing.JOptionPane;public class prob13 {public static void main (String[] args) {int n,c=0,i;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));for(i=1;i<=n;i++)

{if(n%i==0)c++;}

if(c<=2)JOptionPane.showMessageDialog(null,"El número es primo");

elseJOptionPane.showMessageDialog(null,"El número no es primo");}}

14.Escribir los 50 primeros números primos.

import javax.swing.JOptionPane;public class prob14 {public static void main(String[] args) {int i,j,m=0;for(j=1;j<=1000;j++)

{int n=0;for(i=1;i<=j;i++) {if(j%i==0) {n=n+1;}}

if(n==2) {m=m+1; if(m<=50)

{JOptionPane.showMessageDialog(null," "+j+" ");}}}}}

15.Dados dos números enteros, realizar el algoritmo que calcule el cociente y el resto (sin utilizar las operaciones de cociente y resto en Java, esto es, / y %).

import javax.swing.JOptionPane;public class prob15 {

PROGRAMACIÓN DIGITAL II

Page 9: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

public static void main(String[] args) {int c,d,n,a=0,b,x,y;d=Integer.parseInt(JOptionPane.showInputDialog("Ingrese denominador: "));n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese numerador: "));

for(b=1;(b*n)<=d;b++){c=b*n;

if(c<=d){a++;}}

x=a;y=d-(x*n);JOptionPane.showMessageDialog(null,+x+" = Cociente\n"+y+" = Resto");}}

16.Leer una lista de números por teclado (hasta que se lea el 0) y calcular la suma y la media entera de todos ellos.

import javax.swing.JOptionPane;public class prob16 {public static void main(String[] args) {float s=0,n,p;int c=0;do

{n=Integer.parseInt(JOptionPane.showInputDialog("(NOTA: ingrese 0 para finalizar)\n Ingrese número: "));

if(n!=0){s=s+n; c++;}}

while(n!=0);if(c>0)

{p=s/c;JOptionPane.showMessageDialog(null,"La suma es: " +s+"\nLa media es: "

+p++);}}}

17.Diseñar un algoritmo que permita al usuario la introducción de 50 números enteros y encuentre el máximo y el mínimo.

import javax.swing.JOptionPane;public class prob17 {public static void main(String[] args) {int max,min,numero,i;numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));max=numero;min=numero;for(i=2;i<=50;i++)numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));

if(numero<min)min=numero;

if(numero>max)max=numero;

if(max!=min){JOptionPane.showMessageDialog(null,"El mayor número es: "+max++);

PROGRAMACIÓN DIGITAL II

Page 10: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

JOptionPane.showMessageDialog(null,"El menor número es: "+min++);}else

JOptionPane.showMessageDialog(null,"Los números son iguales");}}

18.Modificar el algoritmo anterior para que además de calcular el máximo y el mínimo, calcule también el valor medio (entero).

import javax.swing.JOptionPane;public class prob18 {public static void main(String[] args) {int max,min,numero,i;float med;numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));max=numero;min=numero;for(i=2;i<=50;i++)numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));

if(numero<min)min=numero;

if(numero>max)max=numero;

med=(max+min)/2;if(max!=min)

{JOptionPane.showMessageDialog(null,"El mayor número es: "+max++); JOptionPane.showMessageDialog(null,"El menor número es: "+min++);JOptionPane.showMessageDialog(null,"El valor medio es: "+med++);}

else{JOptionPane.showMessageDialog(null,"Los números son iguales");

JOptionPane.showMessageDialog(null,"No tiene valor medio");}}}

19.Leer un número n por teclado y escribir el sumatorio de todos los números entre 1 y n.

import javax.swing.JOptionPane;public class prob19 {public static void main(String[] args) {int n,s;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));s=(n*(n+1))/2;JOptionPane.showMessageDialog(null,"La sumatoria de los "+n+" primeros números es: "+s++);}}

20.Se considera la siguiente serie definida por:a1= 0; a2 = 1; ...; an= 3*an-1 + 2*an-2; con n>=3

Los primeros términos de la serie son: 0, 1, 3, 11, 39,...; se desea obtener el valor y rango del primer término de esta serie superior o igual a 1000.

import javax.swing.JOptionPane;

PROGRAMACIÓN DIGITAL II

Page 11: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

public class prob20 {public static void main(String[] args) {int r=2,a1=0,a2=1,an;

for(an=0;an<=1000;r++){an=(3*a2)+(2*a1); a1=a2; a2=an;}

JOptionPane.showMessageDialog(null," número = "+an+" de rango n"+r+" ");}}

21.Leer un número y decir si es capicúa. En una primera versión supondremos que como máximo es un número de 6 cifras (entre 0 y 999.999).

import javax.swing.JOptionPane;public class prob21 {public static void main(String[] args) {int n,i=0,r;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número menor a seis cifras: "));if (n>=1 && n<=9)

JOptionPane.showMessageDialog(null,"No es capicúa");else if (n<=999999){r=n;while(r>0){i=(i*10)+(r%10);

r/=10;}if(n==i)

{JOptionPane.showMessageDialog(null,"Es capicúa");}else

{JOptionPane.showMessageDialog(null,"No es capicúa");}}else

JOptionPane.showMessageDialog(null,"Número incorrecto");}}

22.Leer un número y decir si es capicúa. No supondremos que es como máximo de 6 cifras sino cualquier número. NOTA: no es exactamente cierto ya que se lee un número de tipo long y tiene un límite.

import javax.swing.JOptionPane;public class prob22 {public static void main(String[] args) {int n,i=0,r;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));if (n>=1 && n<=9)

JOptionPane.showMessageDialog(null,"No es capicúa");else if (n>=10){r=n;while(r>0){i=(i*10)+(r%10);

r/=10;}if(n==i)

PROGRAMACIÓN DIGITAL II

Page 12: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

{JOptionPane.showMessageDialog(null,"Es capicúa");}else

{JOptionPane.showMessageDialog(null,"No es capicúa");}}}}

24.Leer dos números n y m y escribir el número combinatorio n sobre m.

import javax.swing.JOptionPane;public class prob24 {public static void main(String[] args) {int n=0,i,m=0,j,k,c,fact1,fact2,fact3;fact1=1;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese índice superior: "));if(n!=0)

for(i=n;i>=1;i--)fact1*=i;

fact2=1;m=Integer.parseInt(JOptionPane.showInputDialog("Ingrese índice inferior: "));if(m!=0)

for(j=m;j>=1;j--)fact2*=j;

fact3=n-m;fact3=1;if((n-m)!=0)

for(k=(n-m);k>=1;k--)fact3*=k;

c=(fact1)/((fact2)*(fact3));if(n>=m)JOptionPane.showMessageDialog(null,"La combinatoria es: "+c++);elseJOptionPane.showMessageDialog(null,"Los números son incorrectos");}}

25.Leer un número n y escribir el triángulo de Tartaglia hasta la fila n-ésima.

import javax.swing.JOptionPane;public class prob25 {public static void main(String[] args) {int[] a = new int[1];int n;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número de elementos: "));

for (int i=1; i<=n; i++){int[] x = new int[i]; for (int j=0; j<i; j++) {if(j==0 || j== (i-1))

{x[j]=1;} else {x[j]=a[j]+a[j-1];}System.out.print(x[j]+" ");}

a = x;

PROGRAMACIÓN DIGITAL II

Page 13: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

System.out.println();}}}

26.Realizar un programa que lea un número por teclado y lo escriba como número romano (aparecen en negrita los números que se han introducido por teclado).

import javax.swing.JOptionPane;public class prob26 {public static void main(String[] args) {int n;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));switch(n/1000){case 1: System.out.print("M");break;case 2: System.out.print("MM");break;case 3: System.out.print("MMM");break;case 4: System.out.print("__\nIV");break;case 5: System.out.print("_\nV");break;case 6: System.out.print("__\nVI");break;case 7: System.out.print("___\nVII");break;case 8: System.out.print("____\nVIII");break;case 9: System.out.print("__\nIX");break;}switch((n/100)%10){case 1: System.out.print("C");break;case 2: System.out.print("CC");break;case 3: System.out.print("CCC");break;case 4: System.out.print("CD");break;case 5: System.out.print("D");break;case 6: System.out.print("DC");break;case 7: System.out.print("DCC");break;case 8: System.out.print("DCCC");break;case 9: System.out.print("CM");break;}switch((n/10)%10){case 1: System.out.print("X");break;case 2: System.out.print("XX");break;case 3: System.out.print("XXX");break;case 4: System.out.print("XL");break;case 5: System.out.print("L");break;case 6: System.out.print("LX");break;case 7: System.out.print("LXX");break;case 8: System.out.print("LXXX");break;case 9: System.out.print("XC");break;}switch(n%10){case 1: System.out.print("I");break;case 2: System.out.print("II");break;case 3: System.out.print("III");break;case 4: System.out.print("IV");break;case 5: System.out.print("V");break;case 6: System.out.print("VI");break;case 7: System.out.print("VII");break;case 8: System.out.print("VIII");break;case 9: System.out.print("IX");break;}}

PROGRAMACIÓN DIGITAL II

Page 14: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

27.Leer un número del teclado y decir si es un número perfecto. Un número es perfecto si es igual a la suma de todos sus divisores (incluyendo al 1 pero excluyéndose a él mismo).

import javax.swing.JOptionPane;public class prob27 {public static void main(String[] args) {int n,c=0,i,x,a;n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese número: "));for(i=1;i<=n;i++)

{x=n%i;if(x==0)

{c=c+i;}} a=c-n;

if(n==a){JOptionPane.showMessageDialog(null,"El número "+n+" es perfecto");}

else{JOptionPane.showMessageDialog(null,"El número "+n+" no es perfecto");}}}

28.Realizar un programa que escriba todos los números perfectos entre el 1 y el 10000.

import javax.swing.JOptionPane;public class prob28 {public static void main(String[] args) {int j,i,a;for(j=2;j<=1000;j++)

{int n=0;for(i=1;i<=j;i++)

{if(j%i==0){n=n+i;}}

a=n-j;if(j==a)

{JOptionPane.showMessageDialog(null," "+j+" ");}}}}

29.Realizar un programa que escriba los 4 primeros números perfectos.

import javax.swing.JOptionPane;public class prob29 {public static void main(String[] args) {int n,p,c,i;n=1;p=0;do {c=0;

for(i=1;i<=n-1;i++)if(n%i==0) c+=i;if(c==n)

PROGRAMACIÓN DIGITAL II

Page 15: prob. 1-29

UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERÍA ELÉCTRICA Y ELECTRÓNICA ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA

{JOptionPane.showMessageDialog(null," es perfecto: "+n++);p++;} n++;}

while(p<4);}}

PROGRAMACIÓN DIGITAL II