Académique Documents
Professionnel Documents
Culture Documents
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
son:
son:
son:
son:
son:
son:
5. Los siguientes fragmentos de cdigo 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;}
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
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 cdigo 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 (nmero entre 0 y 10) y escribir la correspondiente nota numrica (suspenso, aprobado, notable, sobresaliente o matrcula).
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)
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
{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");}}}}
9. Leer 3 nmeros (da, mes y ao) y decir si corresponde a una fecha correcta. Un ao es bisiesto si es divisible por 4 excepto si acaba en 00 en cuyo caso es bisiesto slo si es divisible por 400.
import javax.swing.JOptionPane; public class prob9 { public static void main(String[] args) { int ao,a,b,c,dia,mes; dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el da: ")); mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el mes: ")); ao=Integer.parseInt(JOptionPane.showInputDialog("Ingrese el ao: ")); a=ao%400; b=ao%4; c=ao%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");
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
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 nmeros (da, mes y ao) y decir si corresponde a una fecha correcta. Programarlo utilizando la instruccin de seleccin mltiple: switch.
import javax.swing.JOptionPane; public class prob10 { public static void main(String[] args) { int dia,mes,ao,a=0; dia=Integer.parseInt(JOptionPane.showInputDialog("Ingrese da: ")); mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese mes: ")); ao=Integer.parseInt(JOptionPane.showInputDialog("Ingrese ao: ")); switch(mes) {case 1: a=31; case 2: if(ao%4==0 && (ao%400==0||ao%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;
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
case 11: a=30;break; case 12: a=31;break;} if(ao>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: "));
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
12. Leer un nmero de mes y un nmero de ao y escribir el nmero de das que tiene dicho mes, teniendo en cuenta que el ao puede ser bisiesto.
import javax.swing.JOptionPane; public class prob12 { public static void main(String[] args) { int dia,mes,ao,a=0; ao=Integer.parseInt(JOptionPane.showInputDialog("Ingrese ao: ")); mes=Integer.parseInt(JOptionPane.showInputDialog("Ingrese mes: ")); if(ao>0 && 0<mes && mes<13) {switch(mes) {case 1: a=31; case 2: if(ao%4==0 && (ao%400==0||ao%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;
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
8: a=31;break; 9: a=30;break; 10: a=31;break; 11: a=30;break; 12: a=31;break;} JOptionPane.showMessageDialog(null,"El nmero de das del mes ("+mes+") es
15. Dados dos nmeros 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 { 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: "));
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
16. Leer una lista de nmeros 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 nmero: ")); 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. Disear un algoritmo que permita al usuario la introduccin de 50 nmeros enteros y encuentre el mximo y el mnimo.
import javax.swing.JOptionPane; public class prob17 { public static void main(String[] args) { int max,min,numero,i; numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero: ")); max=numero; min=numero; for(i=2;i<=50;i++) numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero: ")); if(numero<min) min=numero; if(numero>max) max=numero; if(max!=min) {JOptionPane.showMessageDialog(null,"El mayor nmero es: "+max++); JOptionPane.showMessageDialog(null,"El menor nmero es: "+min++);} else JOptionPane.showMessageDialog(null,"Los nmeros son iguales");}}
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
18. Modificar el algoritmo anterior para que adems de calcular el mximo y el mnimo, calcule tambin 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 nmero: ")); max=numero; min=numero; for(i=2;i<=50;i++) numero=Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero: ")); if(numero<min) min=numero; if(numero>max) max=numero; med=(max+min)/2; if(max!=min) {JOptionPane.showMessageDialog(null,"El mayor nmero es: "+max++); JOptionPane.showMessageDialog(null,"El menor nmero es: "+min++); JOptionPane.showMessageDialog(null,"El valor medio es: "+med++);} else {JOptionPane.showMessageDialog(null,"Los nmeros son iguales"); JOptionPane.showMessageDialog(null,"No tiene valor medio");}}}
19. Leer un nmero n por teclado y escribir el sumatorio de todos los nmeros 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 nmero: ")); s=(n*(n+1))/2; JOptionPane.showMessageDialog(null,"La sumatoria de los "+n+" primeros "+s++);}}
nmeros
es:
20. Se considera la siguiente serie definida por: a1= 0; a2 = 1; ...; an= 3*an-1 + 2*an-2; con n>=3 Los primeros trminos de la serie son: 0, 1, 3, 11, 39,...; se desea obtener el valor y rango del primer trmino de esta serie superior o igual a 1000.
import javax.swing.JOptionPane; public class prob20 { public static void main(String[] args) { int r=2,a1=0,a2=1,an;
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
for(an=0;an<=1000;r++) {an=(3*a2)+(2*a1); a1=a2; a2=an;} JOptionPane.showMessageDialog(null," nmero = "+an+" de rango n"+r+" ");}}
21. Leer un nmero y decir si es capica. En una primera versin supondremos que como mximo es un nmero 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 nmero menor a seis cifras: ")); if (n>=1 && n<=9) JOptionPane.showMessageDialog(null,"No es capica"); else if (n<=999999) {r=n; while(r>0) {i=(i*10)+(r%10); r/=10;} if(n==i) {JOptionPane.showMessageDialog(null,"Es capica");} else {JOptionPane.showMessageDialog(null,"No es capica");}} else JOptionPane.showMessageDialog(null,"Nmero incorrecto");}}
22. Leer un nmero y decir si es capica. No supondremos que es como mximo de 6 cifras sino cualquier nmero. NOTA: no es exactamente cierto ya que se lee un nmero de tipo long y tiene un lmite.
import javax.swing.JOptionPane; public class prob22 { public static void main(String[] args) { int n,i=0,r; n=Integer.parseInt(JOptionPane.showInputDialog("Ingrese nmero: ")); if (n>=1 && n<=9) JOptionPane.showMessageDialog(null,"No es capica"); else if (n>=10) {r=n; while(r>0) {i=(i*10)+(r%10); r/=10;} if(n==i) {JOptionPane.showMessageDialog(null,"Es capica");} else {JOptionPane.showMessageDialog(null,"No es capica");}}}}
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
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; System.out.println();}}}
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
26. Realizar un programa que lea un nmero por teclado y lo escriba como nmero romano (aparecen en negrita los nmeros 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 nmero: ")); 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;}}
PROGRAMACIN DIGITAL II
UNIVERSIDAD NACIONAL DEL CALLAO FACULTAD DE INGENIERA ELCTRICA Y ELECTRNICA ESCUELA PROFESIONAL DE INGENIERA ELECTRNICA
27. Leer un nmero del teclado y decir si es un nmero perfecto. Un nmero es perfecto si es igual a la suma de todos sus divisores (incluyendo al 1 pero excluyndose 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 nmero: ")); 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 nmero "+n+" es perfecto");} else {JOptionPane.showMessageDialog(null,"El nmero "+n+" no es perfecto");}}}
28. Realizar un programa que escriba todos los nmeros 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+" ");}}}}
PROGRAMACIN DIGITAL II