domingo, 13 de noviembre de 2011

Numeros Impares

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;
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);}


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