Competencia: Aplica las ciencias de la ingenieria
Curso:Programacion II
Actividad: Numeros impares
Descripcion
Mostrara los numeros impares de un numero de 4 digitos de forma inversa.
Para esta actividad tambien debe crear el programa con una interfaz grafica.
Ejemplos
Entrada Salida
1234 <proceso> 31
3343 <proceso> 333
22 <proceso> ingrese un numero de 4 dogitos
2464 <proceso> no tiene numeros impares
Analisis.
Lo primero es como descomponer el numero de cuatro digitos para verificar si es o no par, para esto utilizaremos la tecnica de divicion y modulo, la division por 100 nos dara el primer numero de la serie el cual lo guardamos en una variable, luego el nuemro ingresado por el usuario determinas el % por 100 y se guarda en la misma variable, para disminuir el numero menos el 1er digito , luego se ace el mismo proceso para determinar los digitos del numero.
como se muestra en el siguiente extracto de codigo.
n1=numero/1000;
numero=numero%1000;
n2=numero/100;
numero=numero%100;
n3=numero/10;
numero=numero%10;
numero=numero%1000;
n2=numero/100;
numero=numero%100;
n3=numero/10;
numero=numero%10;
Una vez guardados los digitos del numero ingresados por el suario en variables diferentes iniciamos la verificacion de que si es opara o no mediante la sentencia if,
en la cual al numero se deteermina el resto de la division por dos, y de ser mayor a 0 quiere decir de que es par
if(numero%2>0)
{output=output +String.valueOf(numero);
/*empezamos por el ultimo digito para q de esta manera
se imoprima el numero de forma inversa
*/}
if(n3%2>0)
{output=output+String.valueOf(n3);}
if(n2%2>0)
{output=output +String.valueOf(n2);}
if(n1%2>0)
{output=output +String.valueOf(n1);}
{output=output +String.valueOf(numero);
/*empezamos por el ultimo digito para q de esta manera
se imoprima el numero de forma inversa
*/}
if(n3%2>0)
{output=output+String.valueOf(n3);}
if(n2%2>0)
{output=output +String.valueOf(n2);}
if(n1%2>0)
{output=output +String.valueOf(n1);}
Codigo Fuente
/**
* Mostrar los numeros impares de un numero de 4 digitos de forma inversa
*
* @author Patricio Riquelme
*/
import java. awt.event.*;
import java. awt.*;
import javax. swing.*;
import java. util.*;
public class impares implements ActionListener{
private static final int ANCHO=300;
private static final int ALTO=200;
private static final int ANCHO_TEXTO=20;
/*rangos de la ventana*/
private static final FlowLayout ESTILO_LAYOUT=new FlowLayout();
private static final String LEYENDA="determinemos que numero es impar";
private JFrame ventana= new JFrame("numeros impares");
private JTextArea leyenda=new JTextArea (LEYENDA,1,ANCHO_TEXTO);
private JLabel numEtiq = new JLabel("ingrese el numero");
private JTextField numTexto= new JTextField(ANCHO_TEXTO);
private JLabel resEtiq = new JLabel ("resultado");
private JTextField resTexto= new JTextField(ANCHO_TEXTO);
private JButton Boton = new JButton("mostrar");
public impares(){
ventana. setSize(ANCHO,ALTO);
Boton.addActionListener(this);
leyenda.setEditable(false);
ventana.setLayout(ESTILO_LAYOUT);
ventana.add (leyenda);
ventana.add(numEtiq);
ventana.add(numTexto);
ventana.add(Boton);
ventana.add(resEtiq);
ventana.add(resTexto);
ventana. setVisible(true);
}
public void actionPerformed (ActionEvent z){
int n3,n2,n1;
String output="";
int numero=Integer.parseInt(numTexto.getText());
if (numero>999 && numero<10000)
{//descomponemos el numero de 4 digitos ingresado por el usuario
n1=numero/1000;
numero=numero%1000;
n2=numero/100;
numero=numero%100;
n3=numero/10;
numero=numero%10;
/*comprobamos si son su modulo es > 0 es
es decir el resto de la divicion po2 es mayor a 0 es por
que es impar*/
if(numero%2>0)
{output=output +String.valueOf(numero);
/*empezamos por el ultimo digito para q de esta manera
se imoprima el numero de forma inversa
*/}
if(n3%2>0)
{output=output+String.valueOf(n3);}
if(n2%2>0)
{output=output +String.valueOf(n2);}
if(n1%2>0)
{output=output +String.valueOf(n1);}
resTexto.setText(output);
}
else
{ output=String.valueOf("error de numero");
resTexto.setText(output);
}
}
public static void main (){
impares gui= new impares();
}
}
Conclusion
Siempre es efectivo realizar laboratorios y ejercicios para que se estimule al estudiante, ademas de mejorar la ortografia de programacion y agregar conocimiento al mismo. Este programa necesita conocimiento aplicacion de ciencias basicas como lo son las matematica, la base de las ingenierias.
No hay comentarios:
Publicar un comentario