octubre 31, 2011

Comparaciones

Este programa compara dos numero y nos imprime en pantalla si son iguales, quien es mayor o quien es menor.primero importamos la librería para poder utilizar "JOptionPane"(linea 7), declaramos una variable de tipo String para poder guardar los valores que no de el usuario(linea 12), y declaramos dos variable de tipo int para hacer la conversión del los valores que de el usuario(linea 13 y 14),hacemos el proceso para pedir los numero asignandole el primero a la variable "valor" y haciendo la conversión(se hace los mismo con el segundo valor, solo que este se guarda en la variable "segundoNumero"). después de esto usamos unos if para para saber si son iguales o quien es menor o quien es mayor, cuando alguna de las tres condiciones se cumpla lo único que hará sera imprimir en consola la información que se requiere, ahora bien si ninguna de las tres condiciones se cumple el programa no hará NADA(se terminara el proceso).

/**
* Archivo: NumeroMayorOMenor.java
* @author Bello Cerecero
* @version 1.0
* @since 31/10/2011
*/
import javax.swing.JOptionPane;
public class NumeroMayorOMenor
{
   public static void main(String[] args)
   {
     String valor;
     int primerNumero;
     int segundoNumero;
 
     valor=JOptionPane.showInputDialog("Dame un numero");
     primerNumero=Integer.parseInt(valor);
     valor=JOptionPane.showInputDialog("Dame otro numero");
     segundoNumero=Integer.parseInt(valor);
 
     if(primerNumero == segundoNumero)
       System.out.println("Los numeros son iguales");
 
     if(primerNumero < segundonumero) 
       System.out.println(primerNumero +
                        "es menor que " + segundoNumero);

     if(primerNumero > segundoNumero)
       System.out.println(primerNumero +
                        "es mayor que " + segundoNumero);
   }
}

switch

switch es otra estructura de control, a diferencia de que esta es una estructura de selección múltiple que trabaja con casos, múltiples opciones que un usuario pueda introducir.

                                                  switch (parámetro a evaluar)
                                                            caso 1
                                                                      sentencia a ejecutar
                                                            caso 2
                                                                      sentencia a ejecutar
                                                            caso 3
                                                                      sentencia a ejecutar
                                                            default
                                                                      sentencia a ejecutar por default

En el algoritmo anterior podemos observar que se escribe la instrucción switch con su respectivo parámetro para ser evaluado, si el parámetro cumple la condición del caso 1, se ejecuta el cuerpo del caso 1; si se cumple la condición del caso 2, se ejecuta el cuerpo del caso 2 y así sucesivamente para tantos casos como puedan existir en la instrucción switch. El parámetro evaluado por switch solo puede ser un valor constante entero (int, char, byte, short)

Vamos a poner manos a la obra en JAVA para entender mejor el funcionamiento de switch. Vamos a enumerar los meses del año del 1 al 12 (Enero - 1, Febrero - 2, Marzo - 3....etc), teniendo en cuenta lo anterior haremos un programa que pida al usuario un numero de mes y que el programa imprima en pantalla el nombre del mes correspondiente al numero que el usuario introdujo. El código:

octubre 30, 2011

Numero Primo

Esta semana realizare programas que regularmente piden los maestros, hoy empezaremos con el programa que nos imprimirá en consola si un numero que es introducido por el usuario es primo o no, primero que nada tenemos que sabes que es un numero primo (para poder hacer el programa) la definición es la siguiente:

"Un número primo es un número natural mayor que 1, que tiene únicamente dos divisores distintos: él mismo y el 1"

Ahora tomando esta definición, ya podemos hacer nuestro programa primero que nada tenemos que analizar que es lo que necesitamos para realizar esta tarea, entonces como le vamos a pedir datos al usuario(el numero), declaramos una variable de nombre "valor" de tipo String(linea 12), con esta variable podremos utilizar el JOptionPane.showInputDialog (mas a delante), ahora también necesitamos una variable de tipo int que utilizaremos para hacer la conversión de la String que se reciba así que la declaramos(linea 13), ahora declaramos otra variable de tipo int a la que llamaremos "divisores"(linea 14) esta la usaremos para saber cuantos divisores tiene el numero que introdujo el usuario(recordar que un numero primo solo tiene 2 divisores), en la linea 16 y 17 hacemos que a la variable valor se le asigne lo que introduzca el usuario y a la variable "numero" se le asigna la conversión de la variable "valor", después utilizamos un for(linea 19) el indice "i" inicializara en 1(de acuerdo a la definición) y se detendrá hasta que "i" sea menor o igual a "numero" cada iteracion "i" aumentara +1, dentro del for colocamos un if en el cual colocamos la condición:
si numero % i es igual a cero entonces (el signo % significa operación por modulo)
aumentar +1 a la variable "divisores"

de lo contrario
no se hará nada (así que se pasa a la siguiente iteracion)

después de que se concluya con todas las iteraciones ponemos un if en el cual colocamos la siguiente condición:

si la variable divisores ES IGUAL 2(recordar que un numero primo tiene 2 divisores)
entonces "imprimir es primo"

de lo contrario
imprimir "no es primo"

/**
* Archivo: NumeroPrimo.java
* @author Bello Cerecero
* @version 1.0
* @since 30/10/2011
*/
import javax.swing.JOptionPane;
public class NumeroPrimo
{
   public static void main(String[] args)
   {
     String valor;
     int numero;
     int divisores = 0;
 
     valor=JOptionPane.showInputDialog("Introduce un numero");
     numero = Integer.parseInt(valor);
 
     for(int i = 1; i <= numero; i++)  
     {      
        if((numero%i) == 0)   
          divisores++;  
     }    

     if(divisores == 2)      
        System.out.println("El numero es primo");  
     else      
        System.out.println("El numero no es primo");     
   } 
} 

dudas enviar un mensaje a mi correo :)

octubre 29, 2011

Calcular Factorial

Ya que hemos dado algunas referencias sobre el uso del "if" y de el "for", ahora le daremos uso en este programa, que lo que hace es calcular el factorial de un numero(el cual sera pedido al usuario con "JOptionPane.showInputDialog"), primero que nada tenemos que saber que es el factorial de un numero natural la definicion es la siguiente:
Para todo número natural n, se llama n factorial o factorial de n al producto de todos los naturales desde 1 hasta n:
n!=1*2*3*4*...*(n-1)*n.
hay que recordar que el factorial de 0 es 1.
/**
* Archivo: Factorial.java
* @author Bello Cerecero
* @version 1.0
* @since 29/10/2011
*/
import javax.swing.JOptionPane;
public class Factorial
{
 public static void main(String[] args)
 {
   String valor;
   valor=JOptionPane.showInputDialog("Introduce un numero:");
   int numero = Integer.parseInt(valor);

   if(numero == 0)
   System.out.println("1");
   else
   {
     int factorial=1;

     for(int i = 1 ; i <= numero;= numero ; i++)
       factorial = factorial*i;                    
     System.out.println(factorial);            
    }       
 }  
} 

En la linea 13 le pedimos al usuario que introduzca el numero al cual se le calculara el factorial, en la linea 14 convertimos el String recibido a tipo int, recordando que el caso de 0 su factorial es 1, en la linea 16 ponemos un if que no evalúa si es 0 en caso de que esto sea cierto imprimirá en consola 1(linea 18), en caso de que no sea cierto (introdujeron un numero diferente de 0) pasara a ejecutar todo lo que esta en las llaves del else (de la linea 20 a la linea 25). Ahora ya dentro del else esta el proceso que se llevara acabo para el calculo del factorial vemos que se declara una la variable factorial de tipo int inicial izada en 1, después se coloco un for que inicia liza la variable i en 0 y se repetirá mientras i sea menor o igual a la variable numero, en cada iteración a la variable se le sumara 1.
dentro del for la única instrucción que se ejecutara es la que se encuentra en la linea 23 que vemos que a la variable factorial se le asignara lo que de el producto de la variable factorial por la variable i, ya que se termine las iteraciones lo unico que se hace es mandar a imprimir la variable factorial.

do...while

El do...while es otra instrucción mas de control, que es muy similar al ya estudiado while; anteriormente estudiamos el while como una estructura de control de repetición de acciones, se evalúa una condición y si la condición se cumple se ejecuta el cuerpo del while. El do...while funciona al revés  primero se ejecuta el cuerpo y después se evalúa la condición para que se haga el ciclo, si la condición no se cumple, se termina el do...while y se siguen ejecutando las demás instrucciones fuera del do...while, si la condición si se cumple se hace el ciclo y vuelve a ejecutarse desde el inicio de do...while. Por lo anteriormente dicho entenderemos que al ejecutarse un do...while el cuerpo de este se va a ejecutar por lo menos una vez ya que primero se ejecuta el cuerpo y luego la condición. Aquí el código para entenderlo mejor:
//Archivo: EjemploDoWhile.java

public class EjemploDoWhile {

    public static void main(String args[]){
     
     int contador = 1;
     
     do{ //primero se ejecuta el cuerpo y despues la condicion.
      System.out.println(contador);
      ++contador;
     }
     while(contador<=20); //fin del do...while.
     
     System.out.println("Fin del programa");
    }
}
El programa anterior muestra los números del 1 al 20. Nótese que primero se ejecuta el cuerpo del do...while, en donde imprimimos lo que contiene nuestra variable int contador (previamente declarada, con valor de 1) de manera que en pantalla veremos: "1". Después se pasa al while donde esta establecida la condición de que contador tiene que ser menor o igual a 20 para seguir ejecutando el ciclo, y como esta condición se cumple, el ciclo seguirá y regresara a ejecutarse desde el do, hasta que la condición deje de cumplirse, se terminará nuestro do...while y seguir con la impresión del mensaje "Fin del programa" y hasta ahí nuestro programa habrá terminado.

octubre 28, 2011

For Anidados

Estos nos son muy útiles en el manejo de arreglo, en este ejemplo solo imprimiresmos en consola para dar una idea de como funcionan.
/**
 * Archivo: ForAnidados.java
 * @author Bello Cerecero
 * @version 1.0
 * @since 28/10/2011
 */ 
public class ForAnidados
{
 public static void main(String args[])
 {
 
  int i;
  int j;
  
  for(i=1 ; i<=10 ; i++)
  {
  
   for(j=1 ; j<=5 ; j++)
    System.out.println(i+"\t"+j);
  }
 }
}

JOptionPane.showInputDialog();

En esta ocasión aprenderemos a utilizar la clase JOptionPane en nuestros programas, esta clase genera cuadros de dialogo para pedir datos a un usuario o para arrojar un cuadro de dialogo de aviso. Son de gran utilidad, ya que en la mayoría de los programas se necesita pedir datos al usuario para que el programa realice la tarea que se le programó. Hasta ahora nosotros como programadores hemos asignado los datos (los valores) a nuestra variables para que nuestro programa trabaje con ellas, pero ahora haremos que el usuario del programa le de esos valores de manera directa sin necesidad modifiquemos nuestro valor de variable para cada problema diferente. A continuación un código de ejemplo:

Pedir un nombre al usuario

//Archivo: PruebaJOption.java

import javax.swing.JOptionPane;

public class PruebaJOption{
 
 public static void main(String args[]){
  
  String nombre;
  nombre = JOptionPane.showInputDialog("¿Cual es tu nombre?");
  
  System.out.println("Hola "+nombre);
 }
}
Este es un programa sencillo que pide datos al usuario, en este caso, le pide el nombre al usuario, este programa solo saluda al usuario, osea imprime una linea de texto con el mensaje "Hola" seguido del nombre que el usuario introduzca.

Para poder usar la clase JOptionPane necesitamos importar la librería donde se encuentra esa clase a nuestro programa, esto lo hacemos en la linea numero 3. Despues declaramos nuestra clase, nuestro main, y en la linea 9 declaramos una variable String nombre. En la linea 10 empieza lo interesante ya que estamos asignándole el valor a nuestra variable nombre; Convencionalmente como lo habíamos hecho anteriormente para asignarle un valor a nuestra variable nombre solo escribiríamos en nuestro código la variable nombre y asignarle algún nombre cualquiera, por ejemplo: nombre="Alberto";.

Pero con el uso del JOptionPane.showInputDialog(), java arroja una ventana donde hay una caja de texto el la cual el usuario ingresara su nombre. En nuestra instrucción nombre = JOptionPane.showInputDialog("¿Cual es tu nombre?"); de la linea 10 estamos indicando que se abra una cuadro de dialogo que diga "¿Cual es tu nombre?" y que tenga una caja de texto para que el usuario pueda escribir la respuesta a esa pregunta ahí. Aparecerá una ventana mas o menos así:

octubre 27, 2011

Imprimir Numeros (While)

El siguiente programa en si hace lo mismo que el anterior (publicado por la Anibal) con la diferencia de que aquí se utiliza un while, para comprender el while lo tenemos que leer así"REPETIR MIENTRAS" y ya dentro de los paréntesis colocamos la condición que ara que el ciclo se repita mientras se cumpla esa condición,
/**
 * Archivo: ImprimirNumeros.java
 * @author Bello Cerecero
 */

/**
 * Imprimir numeros en consola utilizando el bucle while
 */
 public class ImprimirNumeros
 {
 public static void main(String args[])
 {
  int numero = 1;
  while(numero <= 10)
  {
   System.out.println("El numero es: " + numero);
   numero++;
  }
 } 
} 

Ciclos o Bucles (for)

for es una estructura de control en la programación, en forma de bucle o ciclo, osea que esta instrucción sirve para ejecutar una o varias instrucciones por mas de una vez, es muy útil ya que ahorra mucho tiempo y lineas de código al presentarse algunos problemas como, por ejemplo, mostrar los números enteros del 1 al 20; Tradicionalmente lo haríamos imprimiendo 20 lineas de System.out.println("1"); y asi sucesivamente para todos los números enteros del 1 al 20; pero con el for podemos agilizar este proceso, mediante un contador de repeticiones, una condición y un incremento de nuestro contador. Para mayor comprensión, veamos el ejemplo siguiente:
//Archivo: Enteros.java

public class Enteros{

 public static void main(String args[]){
 
  int contador;
  for(contador=1 ; contador<=20 ; contador++)
   System.out.println(contador);
 }
}
En nuestro código anterior declaramos nuestra clase y nuestro main; posteriormente declaramos una variable int contador que nos servirá con un contador de ciclos, ciclos de ejecución del for.
En la linea 8 hacemos nuestro for (contador=1; contador<20; contador++), en esta linea estamos inicializando nuestra variable contador (previamente declarada) con el valor de 1, acto seguido se establece la condición de que para que nuestro for se vuelva a repetir (osea a ejecutarse una tras otra vez), nuestra variable contador debe ser menor o igual a 20. Y después de la condición sigue un incremento de 1 a nuestra variable contador (osea que a contador se le suma 1). Y después de lo interior en el for, viene una linea de ejecución dentro del bloque del for, esta linea se va a ejecutar siempre que se cumpla la condición de nuestro for.

octubre 25, 2011

Números Pares (while)

Para este programa se pide al usuario que introduzcas un numero entero, ya que tenemos el numero (como esta como String) lo convertimos a int con Integer.parseInt(); pasando le como parámetro el String. Y utilizamos el while para hacer un ciclo que se repita mientras numero sea menor que numeroMaximo. dudas enviar un mensaje a mi correo. Suerte!
/**
 * Archivo: NumerosPares.java
 * @author Bello Cerecero
 */

/**
 * Imprimir los valores pares menores o iguales
 * a un valor capturado.
 */
import javax.swing.JOptionPane;
public class NumerosPares 
{
    public static void main(String args[])
    {
  String entrada;
  entrada=JOptionPane.showInputDialog("Dame un numero:");
  int numeroMaximo = Integer.parseInt(entrada);
  int numero = 0;
  System.out.println("Introdujo el numero: "+numeroMaximo);
  System.out.println("Numeros par menores q "+numeroMaximo);
  System.out.println("----------------------------");
  while(numero < numeroMaximo)
  {
   numero += 2;
   System.out.print(numero + "\t");
   if(numero%10==0)
   System.out.println();
  }
    }
} 

octubre 24, 2011

Incrementos y Decrementos

Aquí lo que se hace es ejemplificar con un numero lo que ocurre al usar los decrementos e incrementos así como también los post-incrementos y post-decrementos y imprimir en consola. alguna duda mandar mensaje a mi correo.
/**
* Archivo: IncrementosDecrementos.java
* @author Bello Cerecero
*/

/*
* Descripcion: El objetivo es utilizar
* los incrementos y decrementos.
*/
public class IncrementosDecrementos
{
public static void main(String[] args)
{
 int valor = 5;
 System.out.println("El valor actual es: " + valor);
 System.out.println("---------------------------------");

 //Uso de post y preincrementos
 valor++;
 System.out.println("El valor con postincremento: " + valor);
 ++valor;
 System.out.println("El valor con preincremento: " + valor);
 System.out.println("Ela valor con postincremento: "+valor++);
 System.out.println("El valor con preincremento: " + ++valor);

 System.out.println("-------------------------------");

 //Uso de post y pre decrementos
 valor--;
 System.out.println("El valor con postdecremnto: " + valor);
 --valor;
 System.out.println("El valor con predecremento: " + valor);
 System.out.println("El valor con postdecremento: "+valor--);
 System.out.println("El valor con predecremento: " + --valor);
}
}

octubre 21, 2011

Mas de if - else

Ahora veremos un ejemplo de código java utilizando if - else, enfocado en alguna aplicación a la sociedad; Probaremos con una edad y un sistema de votación ciudadana, puedes votar solo si tienes 18 años o más, de lo contrario no puedes votar:
// Archivo: Edades.java

public class Edades {

 public static void main (String args[]){
 
  int edad;
  edad=9;
  
  if (edad>=18)
   System.out.println ("Puedes Votar");
  else
   System.out.println ("No puedes votar");
 }
}
En la linea 7 declaramos una variable edad de tipo int, y en la linea 8 le asignamos el valor de 9 a esta variable. A partir de la linea 10 empieza nuestro if al cual le asignamos la condición de que la variable edad tiene que ser mayor o igual a 18 para que se ejecute la primera sentencia y le indique un mensaje donde diga que si puede votar, de lo contrario le dirá que no puede votar.
En este caso como nuestra variable edad tiene asignado 9, el numero 9 no es mayor o igual a 18, por lo tanto no se ejecuta la primera instrucción y se pasa hasta el else donde se ejecuta la impresión en pantalla que le mostrara un mensaje que diga: "No puedes votar".

Toma en cuenta que: para hacer un if que lleve más de una instrucción en el bloque, debes añadirle las llaves ( { ) correspondientes a tu if, y lo mismo ocurre con el else. Por ejemplo:

if - else

En esta ocasión les aprenderán a hacer uso de las instrucciones if y else de java; Estas instrucciones son expresiones booleanas, dicho de otro modo son instrucciones de control condicionales que reciben como respuesta un "verdadero" o "falso" para ejecutar las instrucciones contenidas. A continuación les presento la estructura de esta instrucción condicional:

                                                  if (condición)
                                                        sentencia a ejecutar.
                                                  else
                                                        sentencia alternativa a ejecutar.

Se escribe la instrucción if y dentro de los paréntesis establecemos la condición que necesitemos evaluar, si la condición que hemos establecido dentro de los paréntesis del if se cumple, se ejecutará la sentencia que establecimos justo debajo del if y ahí termina nuestra instrucción condicional; De lo contrario, si no se cumple la condición establecida dentro de los paréntesis del if, no se ejecuta la primera sentencia debajo del if, sino que se pasa directamente al else y se ejecuta la sentencia que esta debajo del else.

Veamos ahora un ejemplo de lo anterior en nuestro código java:
//Archivo: Condicional.java

public class Condicional {
 
 public static void main(String args[]) {
  
  if(5>3)
   System.out.println("5 es mayor que 3");
  else
   System.out.println("5 es menor que 3");
  //Resultado: 5 es mayor que 3.
  
  
  if(5>7)
   System.out.println("5 es mayor que 7");
  else
   System.out.println("5 es menor que 7");
  //Resultado: 5 es menor que 7.
  
  
  if(5<2)
   System.out.println("5 es menor que 2");
  else
   System.out.println("5 es mayor que 2");
  //Resultado: 5 es mayor que 2.
  
 }
}

octubre 05, 2011

Steve Jobs (1955 - 2011)

"Cambiaría, si pudiera, toda mi tecnología por una tarde con Sócrates."



Esta tarde Apple anunció:

"Apple ha perdido un visionario y genio creativo, y el mundo ha perdido a un ser humano maravilloso. Los que hemos tenido la suerte de conocerlo y trabajar con Steve, hemos perdido un gran amigo, mentor e inspirador. Steve ha dejado una compañía que solo el podría crear, pero su espíritu siempre vivirá en Apple."