domingo 20 de febrero de 2011

ACDC v1 Acid Demostration Calculator

acdc

Se trata de una calculadora básica diseñada para servidores que siguen la normativa Gravity, es decir “originales”, la formula y damage esta basado en las especificaciones proporcionadas por iRO-Wiki en el siguiente enlace:  http://irowiki.org/wiki/Acid_Bomb

Especificaciones:

Java Version “1.6.0.21” O superior
Pantalla: 800 x 600 pixeles o superior
Multiplataforma
Procesador 1.0 Ghz o Superior
Memoria 512 Ram o Superior.

Descargar enlace:http://depositfiles.com/files/gi91zqvto

lunes 24 de enero de 2011

Implementando interfaces en Java

Una de las ventajas de la programación orientada a objetos es la posibilidad de poder crear un código mucho más elegante, ordenado y reutilizable frente a la programación estructurada; esta vez vamos a hablar un poco de las interfaces utilizadas en la programación basada en Java; cabe de señalar que este mismo concepto se puede a aplicar a la programación en C++.
Definición Informal de una interfaz: según la Wikipedia es una colección de métodos abstractos y propiedades. En ella se especifica que es lo que se debe hacer pero no su implementación.
Cómo un ejemplo práctico realizare una pequeña interfaz que despliegue el mensaje “Hola Mundo”, el editor que utilizaré para este ejemplo es BlueJ.
Primero crearemos un nuevo proyecto al cual yo le he puesto interfaces, ustedes pueden optar por el nombre que quieran.

Ahora crearemos una interfaz (interface) a la cual yo le puse por nombre data, está interfaz incluye el siguiente código:
public interface data{ 
 public String holaMundo(String mensaje);
}

holaMundo, es el método que será implementado a futuro por otras clases, esta interfaz en su diseño almacenará información de datos dados por el usuario, pero en este ejemplo solo utilizaré un método para desplegar el mensaje; cabe de señalar que una interfaz puede incluir datos miembros los cuales deben de declararse como static o final.
Ahora creare una nueva clase la cuál ha de implementar los métodos de la interfaz, a esta clase yo le he puesto el nombre de “metodos”, está incluye el siguiente fragmento de código:
public class metodos implements data
{
  public metodos(){
    } 
   public String holaMundo(String mensaje){
        return mensaje;
    }
}
Está clase implementa los métodos de la interfaz llamada data, aquí se realizan las operaciones básicas de los métodos de la interfaz.
Por último crearemos la clase principal que controla el programa para ver nuestro método en función.
public class principal
{
   
    /**
     * Constructor for objects of class principal
     */
    public principal()
    {
      }
    public static void main (String [] arguments){
        metodos m= new metodos();
        System.out.println (m.holaMundo("Hola Mundo"));
    }
}
Como podemos observar, el uso de interfaces hace un poco más elegante el código ayudando de una forma a reutilizar las clases e interfaces en futuros programas, así nos ahorraremos líneas de código a futuro.

lunes 1 de noviembre de 2010

No es lo mismo estudiar para un examen de cálculo que programar.

Hace unos días, para ser exactos el día jueves 28 de octubre presentamos el examen de programación avanzada, ciertamente para algunos un examen común y corriente "facil" en el contexto, pero para otros su peor pesadilla. 

Escribo este artículo como una reflexión personal, centrándome en dos materias importantes, aunque con fines diferentes.

¿Por qué estudiar para un examen de programación es distinto que para uno de matemáticas?, aunque son afines tienen sus diferencias, en matemáticas los algoritmos para la resolución del problema ya están predefinidos, es, solamente seguir los pasos tal cual se te han indicado; programación difiere mucho, pues, para poder concebir un programa dispones de un sinfín de alternativas para poder estructurarlo, entonces ¿por qué a muchos se les dificulta entender los algoritmos cuándo son buenos en materias como álgebra o cálculo?, puedo deducir que tal vez no les guste la materia de programación o que simplemente no ponen empeño en entenderla, el intentar estudiar "programación" como se si tratase de una materia más dentro de la curricula de estudios, seguir los pasos tal cual el maestro los dio... supone un grave problema a la hora de la resolución del algoritmo, pues, para programar lo primero que siempre se debe tomar en cuenta es ¿qué se quiere hacer? o ¿qué se quiere solucionar?.

Muchas veces he observado que intentan solucionar el problema tal cual se determina, intentando seguir los pasos de alguien que ya tiene estructurado su cerebro de tal manera que, cuándo se le entrega un problema de programación ya sabe lo que tiene que hacer. Programar, no es directamente sentarse a escribir millones de líneas de código a lo loco, se trata de comprender la problemática, que variables hay en juego así como determinar la mejor solución, pero para determinar la mejor solución debes de esforzarte en estudiar y entender para que te va a servir a futuro lo que estas estudiando, esto significa que no solo estudies por estudiar para pasar un examen, se trata de comprender los conceptos, de saber de que se te esta hablando, que alguien lleve ya varios años programando no significa que tú no puedas aprender a hacerlo, pues se supone que la persona que te lleva ventaja en un momento en su vida estúbo como estas ahorita tú... aprendiendo, pero ¿qué marca la diferencia? tal vez esa persona dedico el tiempo suficiente para aprender, le cayo el 20 de que ya estaba en la Universidad en segundo año de Ingenieria en Sistemas, se volvio autodidacta, aprendio a resolver las cosas. 

¿Por qué estudiar programación?, a caso no vez lo que puedes crear con semejante arma "la mente", o quieres ser otro borreguito Facebookcero, twittero, MySpacero, Chateador, que solo le interesa pasar, obtener un título más, sumarse a la lista de "pseudo-titulados" que al final dicen no hay trabajo?, si tan solo abrieras la mente un poco, pensaras... bien, me lleva tantas horas resolver un problema de Cálculo... ¿por qué no lo programo?, así tanto ejercitas tu práctica como programador, como repasas en paralelo algo de cálculo o de otra materia. 
No esperes que alguien te enseñe a programar, pues programación es un arte, en la cual, el artista principal eres tú, donde esa arte se puede embellecer aplicando un poco de disciplina; esa disciplina implica ser autodidacta y el ser autodidacta te abre mucho más posibilidades de posicionarte en el campo profesional por el conocimiento adquirido.

for (int i=0; i<=3; i++)
{
  printw("Hola Mundo");  
}

do{
   printw("hola mundo");
  i++;
}while (i<=3);

Las barreras solo tu te las pones, programar no es lo mismo que derivar, la soltura para resolver un algoritmo es lo que hace de la programación una de las disciplinas más versátiles para explotar la imaginación y el C.I.