martes, julio 01, 2008

Oferta Especial

Hola que tal, saludos a todos, esta ocación les ofresco una computadora para que le comenten a sus amigos, primos, vecinos, por si les interesa la oferta, Computadora equipada, con Suricato Digital, contamos con envio a toda la republica méxicana, por estafeta y redpack, envio no incluido, por el momento solo pago de contado, les invito a ver la oferta.


Gracias por la atención se los agradecere.

lunes, junio 30, 2008

Pila Postfija, Pila Prefija JAVA

Hola que tal pues esta es un ejemplo de pilas en conversión de postfija y prefija, usando interfaz grafica y herencia, saludos espero les ayude, como el codigo es largo les pondre los links, saludos


Cabecera.java
Final.java
Procesos.java
Postfija.java
Prefija.java

pongan los archivos en una misma carpeta y compilen, suerte espero sea de ayuda.

Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

domingo, junio 15, 2008

Usando una tabla para mostrar datos de una BD con PHP

Una Disculpa a todos por no poder postear antes, apenas termine el ciclo y estube muy apretado con el tiempo estas ultimas semanas, pero estas vacaciones empezare a postear un poco más, saludos y gracías



$link = mysql_connect("localhost","root",);
mysql_select_db("proyectos",$link);
$result = mysql_query("SELECT Alumnos.ID,Alumnos.Nombre,Alumnos.Email,Alumnos.Grupo,Equipos.Tema,Alumnos.foto FROM alumnos inner join Equipos on Alumnos.IDE=Equipos.IDE ORDER BY Alumnos.ID",$link);
?>



ID
Nombre
Email
Grupo
Tema
Foto

while ($row = mysql_fetch_array($result))
{
echo ' '.$row[0].' ';
echo ' '.$row[1].' ';
echo ' '.$row[2].' ';
echo ' '.$row[3].' ';
echo ' '.$row[4].' ';
echo ''.$row[1].'';
}

mysql_free_result($result);

?>


Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

miércoles, abril 30, 2008

Ventanas sin Herencia en Java

Que onda, pues esta vez realice un ejemplo de una interfaz grafica simple; en este caso una ventana que no tiene mayor complicación.
El punto importantes es que la hicimos sin utilizar herencia, lo que permite ampliar nuestro campo y mejor nuestra relación con la apariencia grafica, para no hablar más he aquí el codigo

Esta esta hecha para AWT

class ventanas
{
public static void crea(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
//Implementacion para AWT
java.awt.Frame ventana1 =new java.awt.Frame(titulo);
ventana1.setBounds(PIx,PIy,Tx,Ty);
ventana1.setBackground(color);
ventana1.setVisible(true);
ventana1.setLayout(null);
}
public static void main(String args[])
{
crea("Mi Ventana",1024/2,750/2,200,200,java.awt.Color.red);
}
}


Creada para usar SWING

class ventanas
{
public ventanas(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
crea( titulo, PIx, PIy, Tx, Ty, color);
}
public static void crea(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
javax.swing.JFrame ventana = new javax.swing.JFrame(titulo);
ventana.setBounds(PIx,PIy,Tx,Ty);
ventana.setBackground(color);
ventana.setVisible(true);
ventana.setLayout(null)
}
public static void main(String args[])
{
crea("Mi Ventana",1024/2,750/2,200,200,java.awt.Color.red);
}
}


Es muy sencillo realmente, creamos un objeto en un metodo de tipo static, jeje las ventajas de este lenguaje, y pues bueno que les pareceria hacer una implemenacion
utlizando herencia pero con otra clase nuestra

Herencia Ventanas en AWT

class ventanas
{
public ventanas(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
crea( titulo, PIx, PIy, Tx, Ty, color);
}
public static void crea(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
java.awt.Frame ventana1 =new java.awt.Frame(titulo);
ventana1.setBounds(PIx,PIy,Tx,Ty);
ventana1.setBackground(/*java.awt.Color.red*/color);
ventana1.setVisible(true);
ventana1.setLayout(null);
}
}

class ventana extends ventanas
{
ventana(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
super(titulo, PIx, PIy, Tx, Ty, color);
}
public static void main(String args[])
{
ventana uno = new ventana("Mi Ventana",1024/2,750/2,200,200,java.awt.Color.red);
}
}


Herencia Ventanas en SWING


class ventanas
{
public ventanas(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
crea( titulo, PIx, PIy, Tx, Ty, color);
}
public static void crea(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
javax.swing.JFrame ventana = new javax.swing.JFrame(titulo);
ventana.setBounds(PIx,PIy,Tx,Ty);
ventana.setBackground(color);
ventana.setVisible(true);
ventana.setLayout(null)
}
}

class ventana extends ventanas
{
ventana(String titulo, int PIx,int PIy,int Tx,int Ty,java.awt.Color color)
{
super(titulo, PIx, PIy, Tx, Ty, color);
}
public static void main(String args[])
{
ventana uno = new ventana("Mi Ventana",1024/2,750/2,200,200,java.awt.Color.red);
}
}

Por cierto algo tiene esta cosa que no me deja escribir bien, jejeje, aun así perdón por la magnifica ortografía. Saludos

Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

viernes, abril 11, 2008

Ejemplo de Herencia en Java

Bueno pues acá esta el ejemplo de herencia, diculpen la tardanza pero el trabajo y las tareas no dejan mucho tiempo libre.

Recuerden para correr el código son 2 archivos, uno se llamara Operaciones.java y el otro banco.java, explicaciones mañana.


public class Operaciones

{

long numero;

String titular;

float saldo;

float interesAnual;

public Operaciones (long cnt,String nmt)

{

NewCuenta (cnt,nmt);

}

public Operaciones()

{

interesAnual=1;

}

void NewCuenta (long cnt,String nmt)

{

//cnt es la cuenta

//nmt nombre del titular

numero=cnt;

titular=nmt;

interesAnual=1;

}

void ingreso (float cantidad)

{

saldo +=cantidad;

}

void retiro(float cantidad)

{

saldo -=cantidad;

}

void interesmes()

{

saldo+=interesAnual*saldo/1200;

}

boolean enrojos()

{

return saldo<0;

}

float leersaldo()

{

return saldo;

}

}

public class banco extends Operaciones

{

public void imp(Object palabra)

{

System.out.println(palabra);

}

public banco(String titur,long cuenta)

{

super.NewCuenta(cuenta,titur);

imp(this.titular);

imp(this.numero);

imp("\n");

imp("----------------------------------");

imp("\n");

ingreso(1500);

interesmes();

imp(leersaldo());

imp(enrojos());

retiro(300);

imp(leersaldo());

imp(enrojos());

}

public static void main (String a[])

{

Operaciones uno=new banco("Julian",24567887);

}

}



Gracias por su lectura, agradecere tu comentario,
atte The Dzip.

domingo, marzo 09, 2008

Un ejemplo básico de arreglos

Esta pequeña rutina trata de lo siguiente: llena un arreglo de 20 posiciones con numeros aleatorios, determina la mediana y la moda (falta evaluar cuando hay más de una moda)

class exa
{//javax.swing.JOptionPane mensaje=new javax.swing.JOptionPane();
java.util.Random genera=new java.util.Random();
//static int frecuencia []=new int[20],valor[]=new int[20],vfrec=0,pos=-1,mayor=0,indice=0;
int lista[] =new int[20];
exa()
{ //mensaje.showMessageDialog(null,"Hola, Tu valor fue: " + Integer.parseInt(String.valueOf(mensaje.showInputDialog("Dame un Numero"))),"Salida",1);
llenar(lista);
ordenar(lista);
if (moda(lista)==-1)
imp("La Moda es: no hay moda \n");
else
imp("La Moda es: "+ moda(lista)+"\n");
}
public void llenar(int contenedor[])
{
for (int i=0;i<=19;++i)
{
contenedor[i]=genera.nextInt(100);
}
}
public void ordenar(int a[])
{
int aux=0;
for (int x=0;x<20;++x)
{
for (int y=x+1;y<20;++y)
{
if (a[x]>a[y])
{
aux=a[x];
a[x]=a[y];
a[y]=aux;
}
}
}
imp("Lista de valores \n");
imprimir(a);
imp("\n La Mediana es: "+mediana(lista)+"\n");
}
public void imp(Object msg)
{
System.out.println(msg);
}
public void imprimir(int contenedor[])
{
for (int i=0;i<=19;++i)
{
imp(contenedor[i]);
}
}
public double mediana(int a[])
{
double res_mediana=0;
res_mediana=(a[9]+a[10])/2;
return res_mediana;
}
public double moda(int a[])
{ int frecuencia []=new int[20],valor[]=new int[20],vfrec=0,pos=-1,mayor=0,indice=0;
//En esta parte se determina la frecuencia de cada valor

for (int z=0;z<20;z++)
{
if (z==19)
{
if (a[19]==a[18])
{
vfrec=vfrec+1;
pos=1+pos;
frecuencia[pos]=vfrec;
valor[pos]=a[z-1];
vfrec=0;
}
}
else
{
if (a[z]==a[z+1])
vfrec=1+vfrec;
else
{
//vfrec=1+vfrec;
pos=1+pos;
frecuencia[pos]=vfrec+1;
vfrec=0;
if (z>0)
{
valor[pos]=a[z-1];
}
else
{
valor[pos]=a[z];
}

}
}
}

//En este proceso se verifica la frecuencia y se optiene la moda
for (int p=0;p<=pos;++p)
{
if(mayor {
mayor=frecuencia[p];
indice=p;
}
}

//determino si hay o no moda
if (mayor>1)
return valor[indice];
else
return -1;
}
public static void main(String []k)
{
exa ejecuta=new exa();
}
}

<--Descargar-->

Gracias por su lectura, agradecere tu comentario,
atte dzipiri el dzip, saludos y mucha suerte

sábado, marzo 01, 2008

Clase 3

Elementos del modelo Orientado a Objetos

En esta sesión trataremos los elementos de la programacion orientada a objetos la famosa POO, pero en primer lugar que es POO

Según la Wikipedia la POO es un paradigma de programación que usa objetos y sus interacciones para diseñar aplicaciones y programas de computadora. Pero quizas te estaras preguntando ¿qué es un Paradigma?, bueno un paradigma no es más que una forma de pensar, aplicado a la vida es cuando se dice o habla de mentalidad, por ejemplo cuando se es un niño se cree q el mundo es maravilloso, pero despues conforme se va creciendo se va dando cuenta que hay cosas que hay que respetar y se forma la responsabilidad.

Para concluir. Se puede decir que un paradiga es un conjunto de ideas, modelos y patrones que se sigue para resolver los problemas, en nuestro caso podria compararse con la persona optimista y la que siempre se queja de todo, cada quien esta muy marcado en su forma de hacer, pensar y resolver los problemas.

Entonces se puede decir la POO no es más que un conjunto de reglas que en conjunto hacen el patron para resolver un problema, y esas reglas son: Herencia, Polimorfismo, Encapsulamiento y Modularidad.




Gracias por su lectura, agradecere tu comentario,
atte dzipiri el dzip, saludos y mucha suerte

martes, febrero 19, 2008

Clase 2

Fases Del Proceso de Programación

Cuando desarrollamos todo programa por más pequeño que sea es recomendable seguir en orden los siguientes pasos, esto para entender y resolver mejor el problema que se presente.


1) Analisis del Problema.

Durante esta fase se estudia el problema y los elementos que lo conforman, es decir que es lo que deseo solucionar y quien o que afecta este fenomeno.

2) Desarrollo de la solución.

En esta parte se genera el modelo que nos sirve como elemento base para traducir a un lenguaje de programación, por tanto, usando el analisis ahora relacionamos al objeto con lo que realiza y efectua la solución mediante DFD(Diagrama de Flujo de Datos o bien un Algoritmo). La importancia de este paso es que en un futuro no importa el lenguaje de programción pues es una representación abstracta, osea que se adapta a cualquier entorno.

3) Construción de la solución en forma de programa

Esta es la parte de traducción, ya conozco el problema, ya se que es lo que quiero solucionar, ya se quienes intervienen y ya tengo un modelo de solución, es momento de que con la ayuda de un lenguaje de programación cree el codigo de ejecución.

4) Prueba

Esta face se encarga de rastrear los errores que pudiese tener mi programa, muchas veces el error se encuentra en el codigo final, pero algunas veces se encuentra en el algoritmo.

Existen dos tipos de errores en la programación, error estatico y error dinamico.

el Error Estatico es aquel que se encuentra al momento de compilar el programa, si hablamos de java por ejemplo.

  1. public double Dividir(double num1, double num2 )
  2. {
  3. return num1/num2
  4. }

Al compilar este codigo el error se encuentra en la linea 3. por que nos falta un ";"(punto y coma), y cualquier error similar que ya sea del codigó o parte del lenguaje se le conoce como error estatico.

Error Dinamico. Un error Dinamico es aquel que se encuentra al momento de ejecucución, tomando en cuenta el mismo ejemplo de el metodo dividir si llegacen a escribir como num2 a un 0 se generaria un error, ya que no existe la division por cero, pues recordando el analisis matematico tenemos que 0/C=0, pero C/0=? no hay solución, a todo este tipo de errores como también lo puede ser insuficiencia de memoria o mal uso de la misma, se le conoce como error dinamico.

5) Documentación

La documentación como bien lo dice su nombre es la que se encarga de explicar como es que esta dada mi solución (para el programador) y como es que opera (para el usuario). Sin embargo también existen dos tipos de documentación la Interna y la Externa.

La documentación Interna es aquella que se lleva dentro del codigó, todo lenguaje de programación maneja comentarios una modificación a nuestro metodo anterior sería.

  1. public double Dividir(double num1, double num2 )
  2. {
  3. /*este metodo returna o devuelve el resultado de dividir dos numeros
  4. Donde nuestro dividendo es num1 y divisor num2*/
  5. return num1/num2
  6. }
La documentación externa consiste en los manuales y diagramas de flujo que explican como se comporta mi programa y como funciona, así como un diccionario de datos para describir el significado de cada variable.

Veamos un ejemplo practico para la función multiplicar en VB 6.0.

1) Analisis

problema: dividir dos numeros.
Elementos: Dividendo, Divisor, Operador y Resultado.

2) Desarrollo de solución.

en algoritmo una de las respuestas sería así.

1. Inicio
2.Leer Dividendo, Leer Divisor
3.resultado = Dividendo/Divisor
4.Imprimir Resultado
5.Fin

Paso a paso se describe el metodo para resolver la división, ahora veamos la solución en un DFD (Diagrama de Flujo de Datos)


3) Construccion de la solucíon en forma de programa, este incluye tanto la interfaz de usuario como la base de solución, codigo central, veamos el ejemplo desarrollado en VB 6.0

4) Prueba

Durante la ejecución se presento el error de división por cero
Sucede que este tipo de error se da en ejecución por lo tanto es un error dinamico y cuando pensabamos que ya todo acabo ahora debemos corregir, la solución sería la siguiente.

5) por ultimo se hace la documentación aunque en este caso solo se ara para el programdor, osea una documentación interna y pues ya contamos con el diagrama y algoritmo así que contamos con todo.

Finalmente el Código bien hecho queda de la siguiente manera.


Bueno eso es todo por esta sección, dudas mandar a Dzipiri@gmail.com o en el tagboard que se encuentra en el lado derecho, gracias por la lectura.

Gracias por su lectura, agradecere tu comentario,
atte dzipiri el dzip, saludos y mucha suerte

Clase 1

En esta clase vamos a entender dos puntos muy importantes, que son la base para entender cualquier cosa que nos acompañe adelante, relacionaremos las clases y objetos con el mundo exterior, así como también como la abstracción y el encapsulamiento.

Antes de definir una clase definiremos a un Objeto, un objeto es todo aquel ente que tiene una razón de ser, como una persona, una bicileta, un leon, ó un martillo. Piense que todo esas cosas y artefactos antes mencionados tiene sus caracteristicas (propiedades), llamese color, nombre, tamaño entre otros. Pero también hay que fijarse de que esos objetos por si solos no hacen nada.

Imagine tener un auto del año con todo lo mejor un buen motor, pero no sabe manejar, de que me sirve ese auto en la cochera, lo mismo pasa en la programación las cosas no me sirven de mucho si permanecen aisladas, para ello hayq que meterle dinamica.

Pero un objeto no reacciona de igual forma a dirente uso, uno ejemplo claro esta en una pelota de Futbol, si la uso para jugar futbol, funcionara de cierta forma, pero también la puedo usar para jugar Basket bol y no habra problema alguno, entonces un objeto tiene distintos comportamientos según el caso, para ello estos eventos se concentran en algo que se llama método, el mètodo recibe un mensaje en nuestro caso futbol, y entonces se ejecuto un evento, en este caso sera accionarse al ser pateada la pelota.

En conclusión un objeto tiene propiedades y eventos, los objetos almacenan los eventos del objeto, y dependiento el mensaje (necesidad) ejecuta cierto evento.

Para concluir Una clase entonces es un contenedor de objetos con el mismo fin, si tenemos a la clase juego de futbol sus objetos serian, pelota, jugador, porteria, arbitro, cancha.

Las clases también tienen hijos o bien subclases, ejemplo la clase animal, tiene varias subclases entre ella la subclase Felino y en felino puede ser leon, gato, tigre entre otros.

Lo que es importante definir es que a quien tomaremos como clase principal o clase madre es a la que se enfoca el problema, si hablamos de celdas, presos, vigilantes la clase principal sería Carcel.


Ahora entenderemos un concepto que muchas veces preocupa mas de lo que debe, la Abstracción, abstraer es una simple representación de algo, en si es como un pensamiento, que no se encuentra fisicamente, por ejemplo cuando vamos a los baños en cualquier lugar y no sabemos leer, pero vemos dos figurillas distintivas una de hombre y una de mujer, y ya sabemos a cual baño entrar, pues eso es una abstracción.

Ahora se preguntaran ¿Qué es encapsulamieto?, el encapsulamiento consiste en juntar todo en uno, junto mis objetos con sus propiedades y metodos, y lo dejo en un solo lugar (la Clase), trata de convertir un objeto en caja negra (todo lo que pasa se encuentra en un solo lugar).

Nuestro cuerpo humano es como una capsula, contiene todos nuestros sistemas y organos, todo para que nosotros estemos vivos, cada cosa tiene una función.

Pues esto es todo por esta clase, Dudas Preguntar a dzipiri@gmail.com


Gracias por su lectura, agradecere tu comentario,
atte dzipiri el dzip, saludos y mucha suerte

lunes, febrero 18, 2008

Curso de Fundamentos de Programación

Hola que tal buen día, pues hoy decidi comenzar un curso de Fundamentos de Programación, intentaremos explicar el paradigma del orientado a objetos que tanto nos hace pensar, les doy la bienvenida y espero les ayude esta información que ire poniendo, por cierto como que subirlo en PDF mmmm... jeje solo si me lo piden, mientras solo sera on-line saludos, esperen el primer capitulo.


Gracias por su lectura, agradecere tu comentario,
atte dzipiri el dzip, saludos y mucha suerte