lunes, 3 de marzo de 2014

Declaración de un Nodo. E. Datos Parte 2.

Bueno como vamos poco a poco pues poco a poco veremos las técnicas más obscuras del lado del mal, muajajaja... bueno no tanto pero aquí les mostrare como se declara un nodo y para que sirve y sus múltiples funciones.

Una lista enlazada se compone de una serie de nodos enlazados mediante referencias. En Java, se declara una clase para contener las dos partes del nodo: dato y enlace. Por ejemplo, para una lista enlazada de números enteros, la clase Nodo es:

class Nodo
{
int dato;
Nodo enlace;
public Nodo(int t)
{
dato = t;
enlace = null;
}
}
En la declaración, la visibilidad de los dos campos del nodo, dato y enlace, es la del package (visibilidad por defecto). De esa manera, los métodos que implementan las operaciones de listas pueden acceder a ellos al estar en el mismo paquete. El constructor inicializa el objeto Nodo a una dato y el enlace a la referencia null.
Dado que los tipos de datos que se pueden incluir en una lista pueden ser de cualquier tipo (enteros, dobles, caracteres o cualquier objeto) con el objetivo de que el tipo de dato de cada nodo se pueda cambiar con facilidad, se define a veces la clase Elemento como una generalización del tipo de dato. En ese caso, se utiliza una referencia a Elemento dentro del nodo, como se muestra a continuación:

class Elemento
{
// ...
}
class Nodo
{
Elemento dato;
Nodo enlace;
}
Entonces, si se necesita cambiar el tipo de elemento en los nodos, sólo tendrá que cambiar el tipo encerrado en la clase Elemento. Siempre que un método necesite referirse al tipo del dato del nodo puede utilizar el nombre Elemento.

La clase Punto, representa un punto en el plano de coordenadas (x, y). La clase Nodo con un campo dato referencia a objetos de la clase Punto. Estas clases formarán parte del paquete

ListaPuntos.
package ListaPuntos;
public class Punto
{
double x, y;
public Punto(double x, double y)
{
this.x = x;
this.y = y;
}
public Punto() // constructor por defecto
{
x = y = 0.0;
}
}
La clase Nodo que se escribe a continuación tiene como campo dato una referencia a Punto y como campo enlace una referencia a otro Nodo.

Se definen dos constructores: el primero inicializa dato, un objeto Punto y enlace a null; el segundo inicializa enlace de tal forma que referencia un Nodo.

package ListaPuntos;
public class Nodo
{
Punto dato;
Nodo enlace;
public Nodo(Punto p)
{
dato = p;
enlace = null;
}
public Nodo(Punto p, Nodo n)
{
dato = p;
enlace = n;
}
}

Bueno hasta aqui llegó esta entrada, pronto les enseñare como acceder a la lista a su cabecera y cola...y bueno una que otra cosa se me ocurrirá, hasta a próxima.

By x0d3ck.

Programa promedios en java.

Bueno como todos saben también publicare las formas de como hacer un programa ya que bueno uno no sabe como hacerlo de una forma adecuada ya que puede que existan formas rudimentarias de como hacerlo o llegar a un cierto fin, pero bueno no soy dios para estar siempre en lo correcto así que este es mi humilde aportación ya que así se me ocurrió hacerlo.


Veamos abramos el IDE de netbeans cargado con nuestro JDK  JAVA más reciente o el que sea.
Una cosa es un IDE y otra es un JDK como a lo mismo un lenguaje a un IDE.

Bueno empecemos, abramos un nuevo proyecto de java exactamente como si empezáramos uno en consola.

Bueno ahora iremos a la pestaña de lado izquierdo y veremos un diagrama de los proyectos que tenemos en nuestra pc y veremos la que dice resourse packages y le damos ensima de el con botón secundario y agregamos un JFrame Form.



Ahora tendremos en resourse packages nuestra clase main y el NewJFrameForm.java que es el nombre que se da por defaul a menos que le hayan agregado un nombre más nice. xD.

Bueno ahora que aremos..... aaaa!!!!! si en el main pondremos que queremos ver el formulario de el JFrame esto lo hacemos instanciando la clase del JForm y mandándola a llamar o a mostrar con un show.


Suponiendo que le dejamos el nombre por default a el JFrame la mandaremos a llamar desde el main:

public static void main(String[] args) {
        NewJFrame xd = new NewJFrame(); //intanciamos en un objeto xd
        xd.show(); mostramos a xd  que es el objeto que instancia la clase del JFrame.
    }


Bueno ahora le daremos ejecutar y nos saldrá la pantalla en blanco de nuestro formulario.

Ahora agregamos nuestras cosas que podremos usar en este caso yo agregue:

2 textbox
1 botón
2 label

Ahora pues a empezar a codear.

Nos iremos a donde esta el textbox primero le damos doble click para ver su code.

aparecera esto masomenos pero no lo tocamos lo dejamos asi:
 private void textField1ActionPerformed(java.awt.event.ActionEvent evt) {                                        
                // TODO add your handling code here:
    }
en el otro lo mismo pero solo es para que identifiquen su estructura interna.

ahora nos iremos al botón ese el empezar a poner calificaciones.

ese mandará a llamar a mi método que llamé:
cheked()

Pero antes de eso el primer textbox es para poner el numero de calificaciones que deseamos capturar.
el segundo textbox muestra el resultado de promediar las calificaciones, eso si las puse como tipo int solo queda ponerlas a float o double para que sean más exactas.

y este quedó así el método que manda a llamar el botón:

public void cheked()
       {
           int a = Integer.parseInt(this.textField1.getText());  // toma el numero de calif a capt.
           int x[] = new int[a]; // datermina el tamaño del array
           int res = 0; //inicializa el resultado, poner double o float
           for( int i = 0; i < x.length; i++ ) {  // recorremos posiciones para meter calif.
         
                String s = JOptionPane.showInputDialog(null, "Introduzca el valor " + ( i + 1 ) + ":" );
                x[i] = Integer.parseInt( s ); // lee la calif.
             
       }
         
          for(int j = 0; j < x.length; j++) // suma el array
          {
             res = res + x[j];
           
          }
          int jopo = res / a;  // hace la operacion de promedio
       
       textField2.setText(String.valueOf(jopo)); // muestra el result en el textbox 2.
       }
     
eso fue todo pero aaa.... mira mandamos a llamar  a este método desde el botón nos vamos al botón y doble click vemos el código que será así maso-menos y solo llamamos al método.

private void button1ActionPerformed(java.awt.event.ActionEvent evt) {                                      
 
     cheked();
    }  

así quedó:



fin del programa, hasta la próxima donde les enseñare más cosas de estructura de datos.

Powered by x0d3ck.

domingo, 2 de marzo de 2014

Listas de datos parte 2. E. Datos Parte 1.

Bueno como reconocemos desde un principio que somos buenos programadores y que nos interesa la carrera de sistemas o informática; no olviden aprender un poco más de lo que nos explican en la escuela ya que todo en esta vida es autodidacta y que cada idea generada desde la parte mas interna de su cerebro sea: EXPLOTADA!!!, ya que así y solo así de esa forma podrán ser alguien en la vida.

Bueno emos visto que la implementación de cada una de los cuatro tipos de estructuras de lista se pueden desarrollar utilizando referencias.


El primer nodo, frente, de una lista es el nodo apuntado por una cabeza. la lista encadena nodos juntos desde el frente al final de la (cola) da la lista.El final se identifica como el nodo cuyo campo de referencia tiene valor null. La lista se recorre desde el primer punto al ultimo nodo; en cualquier punto del recorrido la posición actual se referencia por el puntero (pointer) actual. Una lista vacía no contiene nodos.Se representa con el puntero cabeza null.

TAD ( lista ).

Bueno como vemos es cosa fácil y emos visto que una lista se usa para almacenar un dato ya sea del mismo tipo, en esta caso aremos pruebas de como hacer algunas operaciones con las listas.

Una lista como bien sabemos es una estructura de datos dinamica. El numero de nodos puede varias rápidamente en un proceso aumentando o disminuyendo dependiendo si se eliminan o se insertan.

Matemáticamente, una lista es una secuencia de cero o más elementos de un determinado tipo.
(a1, a2, a3, ... , an) donde n >= 0,
si n = 0 la lista es vacía.
Los elementos de la lista tienen la propiedad de que sus elementos están ordenados de forma lineal, según las posiciones que ocupan en la misma. Se dice que ai precede a ai+1 para i = 1 ..., n-1; y que ai sucede a ai-1 para i = 2... n.

Para formalizar el tipo de dato abstracto Lista a partir de la noción matemática, se define un conjunto de operaciones básicas con objetos de tipo Lista. Las operaciones son:

A L ∈ Lista, A x ∈ Lista, A p ∈ puntero

Lista vacia(L) Inicializa la lista L como lista vacía.
Es vacia(L) Determina si la lista L está vacía.
Insertar(L,x,p) Inserta en la lista L un nodo con el campo dato x, delante del
nodo de dirección p.


Localizar(L,x)  Devuelve la posición/dirección donde está el campo de información x.
Suprimir(L,x)  Elimina de la lista el nodo que contiene el dato x.
Anterior(L,p)  Devuelve la posición/dirección del nodo anterior a p.
Primero(L)  Devuelve la posición/dirección del primer nodo de la lista L.
Anula(L)  Vacía la lista L.

Estas operaciones son las que pueden considerarse básicas para manejar listas. En realidad, la decisión de qué operaciones son las básicas depende de las características de la aplicación que se va a realizar con los datos de la lista. También dependerá del tipo de representación elegido para las listas. Así, para añadir nuevos nodos a una lista, se implementan, además de insertar(), versiones de ésta como:

inserPrimero(L,x) Inserta un nodo con el dato x como primer nodo de la lista L.
inserFinal(L,x) Inserta un nodo con el dato x como último nodo de la lista L.

Una operación típica de toda estructura de datos enlazada es recorrer. Consiste en visitar cada uno de los datos o nodos de que consta. En las listas enlazadas, esta operación se realiza normalmente desde el nodo cabeza al último nodo o cola de la lista.

OPERACIONES EN LISTAS.

La implementación del TAD Lista requiere, en primer lugar, declarar la clase Nodo, en la que se combinarán sus dos partes: el dato (entero, real, doble, carácter o referencias a objetos) y un enlace. Además, la clase Lista con las operaciones y el atributo con la cabeza de la lista.

 Las operaciones tendrán las siguientes funciones:

• Inicialización o creación.
• Insertar elementos en la lista.
• Eliminar elementos de la lista.
• Buscar elementos de la lista.
• Recorrer la lista enlazada.
• Comprobar si la lista está vacía.

Bueno ahora ya saben algo la siguiente entrada ahora si empezaremos con algo de practica.

Saludos by x0d3ck.

Listas enlazadas. Estructura de Datos Parte 0.

Esta entrada se tratara de estructura de Datos desde CERO ( "0" ). Espero les agrade la idea ya que con esto podrán avanzar y reconocer un poco más a fondo la programación y una forma más fácil de programar y hacer eficiente una aplicación.

Una lista enlazada es una colección o secuencia de elementos dispuestos uno tras de otro, en la que cada elemento se conecta al siguiente elemento por un "enlace" o "referencia". La idea básica consiste en construir una lista cuyos elementos llamados nodos, se componen de 2 partes (campos), la primera parte contiene la información y es por consiguiente un valor de tipo genérico llamado (dato, tipo elemento, info...) y la segunda parte es una referencia denominada (enlace), que apunta (enlaza) al siguiente elemento de la lista.


 

Bueno ahora saben como identificar las listas y como se enlazan, pero bueno eso no es todo ya que deben conocer las que existen y bueno principalmente son 4 categorías.

1.- Listas simplemente enlazadas.
2.- Listas doblemente enlazadas.
3.- Listas circulares simplemente enlazadas.
4.- Listas circulares doblemente enlazadas.

Ahora para no alargar el post, la siguiente entrada empezaré con la primer categoría (Listas simplemente enlazadas).

Saludos by x0d3ck.

miércoles, 26 de febrero de 2014

Formulario parte 2 + Mysql

Creación de formulario parte 2.

Mostrando datos vía PHP y guardando en base de datos, la próxima entrada será sobre como mostrarlos ya que es otra forma y bueno no quiero alargar las publicaciones.


Recuerdan los formularios de HTML bueno se pueden hacer igual en PHP pero para no espantarnos empezaremos con el de HTML.

crearemos un formulario de 3 datos.

NOMBRE
APELLIDOS
EDAD

<html>
<head>
<title>FORMULARIO</title>
</head>
<body>
<FORM ACTION="ver.php" METHOD="POST">
  <p>Introduzca Nombre:
    <INPUT TYPE="text" NAME="nombre">
      <BR>
    Introduzca Apellido:
  <INPUT TYPE="text" NAME="apellido">
  <BR>
    Introduzca Edad:
  <INPUT TYPE="text" NAME="edad">
  <br>
<INPUT TYPE="submit" VALUE="Enviar">
</FORM>
</form>

</body>
</html>

Esto captura los tres datos que seran enviados al archivo ver.php el cual mostrara solo los datos.

ver.php

[code=php]
<?
// cargamos los valores en las variables correspondientes.

echo  $_POST[nombre];
echo "<br>";
echo  $_POST[apellido];
echo "<br>";
echo $_POST[edad];
echo "<br>";
//pero si queremos jalar en variables y manipularlas cuantas veces

queramos

$dato1 = $_POST[nombre];
$dato2 = $_POST[apellido];
$dato3 = $_POST[edad];

//ahora mostramos algo bien nice con html y php

echo "Mi nombre es : $dato1 y mi apellidos son: $dato2 y mi edad es $dato3";

?>[/code]

bueno con esto podremos visualizar esto:



Bueno como ven, ahora sabrán como se guarda en una base de datos sencilla.

Solo le agregaremos un archivo más y cosas extras en el  ver.php

config.php

<?
$server = "127.0.0.1";
$user = "root";
$pass = "12345";
$base_de_datos = "base_dato_1";  //crear una base de datos.
 //crear tabla con 3 campos o 4.

$conectar = mysql_connect($server,$user,$pass);
mysql_select_db($base_de_datos,$conectar)or die("ERROR");

?>

Bueno ahora creamos la base de datos base_dato_1 la podemos crear desde la consola


Bueno en la consola de comandos escribimos lo primero que nos pide: la password.

despues veremos que tengamos disponible el nombre de la base de datos esto lo aremos con el siguiente comando:

show databases;

Ojo debe ir punto y coma al final.

te mostrara las bases de datos creadas y bueno ahora crearemos la de base_dato_1.

create database base_dato_1;


Ahora ya tenemos nuestra base de datos si quieren pueden ver con show databases; pero en fin seguiremos que necesitamos crear la tabla con 4 campos que de echo le pusimos que se llamará: tabla_prueba

Bueno ahora para crear la tabla necesitamos esto: primero seleccionar la base de datos a la cual le agregaremos la tabla con los campos correspondientes.

antes de esto para crear la tbla necesitamos seleccionar la base de datos que se llama base_dato_1

siguiente comando:

USE base_dato_1;

ahora si podemos crear la tabla en la linea de comandos con 4 campos. En si solo usaremos 3 pero uno que es el primero sera nuestro id_n como llave primaria, esto después les enseñare para que se usa.



Todo OK y bueno para ver que esta bien bueno veremos que esta vacia y que existe, hacemos esta sentencia:

select * FROM tabla_prueba;

y nos arrojara que esta vacia.

Bueno entonces ya tenemos la tabla y base de datos creada y el config.php que conecta con la base de datos y la tabla.

ahora a modificar el ver.php

<?

// mandamos a llamr al config.php para incluirlo en este php
include("config.php");
// cargamos los valores en las variables correspondientes.

echo  $_POST[nombre];
echo "<br>";
echo  $_POST[apellido];
echo "<br>";
echo $_POST[edad];
echo "<br>";
//pero si queremos jalar en variables y manipularlas cuantas veces

queramos

$dato1 = $_POST[nombre];
$dato2 = $_POST[apellido];
$dato3 = $_POST[edad];

//ahora mostramos algo bien nice con html y php

echo "Mi nombre es : $dato1 y mi apellidos son: $dato2 y mi edad es $dato3";

echo "<br>";
echo "INSERTAREMOS  BASE DE DATOS";

mysql_query("insert into tabla_prueba (id_n,nombre, apellido, edad) VALUES('','$_POST[nombre]','$_POST[apellido]','.$dato3.') ");


?>


Una vez echo esto ahora si podemos pasarnos al formulario llenarlo y bueno una vez echo esto podremos ejecutar la consulta:

select * FROM tabla_prueba;



Y bueno para mostrarlos en php eso será en el siguiente tutorial ya que mezclaremos las iteraciones for, while y do while.

Saludos y hasta la próxima.

Instalación APPSERVER localhost.

Instalando APPSERVER para Windows x86 que es la versión para 32 bits.

Bueno nos vamos directo a la página de PAGINA APPSERVER la cual podrán descargar el binario que contiene el paquete de instalación, ahora una vez descargado sin más ni menos conocimientos es un install-shell-wizard que prácticamente es de fácil instalación.

OJO: para versiones windows 7 en adelante, se recomienda ejecutar como administrador, esto lo haces una vez descargado el binario le des click derecho -> se mostrara una barra con varias opciones y le daremos en ejecutar como administrador. Esto para evitar problemas de permisos durante la instalación que ocasionará que no se ejecute correctamente ya sea el APACHE o algún otro componente.

Les pedirá ruta de instalación le dejan la que tiene por defecto en disco local C:/
Les pedirá clave para acceso a mysql, le ponen una fácil ya que es para uso local y no hay necesidad de inventarse una compleja. Ej. 12345
NOTA: el usuario por defecto es: root.

Si no le entienden de como hacer esto que es lo más sencillo bueno les dejo un video-tuto.



Bueno Ahora hacemos una prueba de que todo funciona bien.

Abrimos el navegador y en la barra de dirección le ponemos esto:

127.0.0.1   ó  tambien  localhost

y nos mostrará el index de nuestro mysql.

que será este.


Les puse lo más importante que es el acceso al administrador de base de datos y bueno el php info es para ver que cosas tienes activadas en tu servidor apache. Bueno continuemos con otro dato importante.

Sí instalaste el appserver en disco local C: bueno la ruta de donde alojarás los archivos será esta masomenos:

C:\AppServ\www

En donde la carpeta www contendrá el index.php que muestra el index de información y conexion a la base de datos etc..., este se recomienda que NO LO BORRES.

Bueno ahora montemos nuestro primer hola mundo en php o algo para ver si funciona el PHP.

<?

echo " HOLA MUNDO";

?>

lo guardamos como hola.php en la carpeta /www y lo ejecutamos desde el navegador de esta forma:

127.0.0.1/hola.php


Nos mostrará esto:


Bueno para probar la conexión a la base de datos aremos lo siguiente:

Crear conexion.php

<?

$server = "127.0.0.1";
$user = "root";
$password = "12345";

$con=mysql_connect($server,$user,$password);
echo $con;
if($con == FALSE)
{
echo "NO CONECTO";
}
else{
echo "SI CONECTO";
}

?>

esto lo hice con la finalidad de mostrar el mensaje cuando se conectara ya que no lo muestra cuando esta conectado, si hubiese un error como de usuario o password, devolvería un error así:

Warning: mysql_connect() [function.mysql-connect]: Access denied for user 'root'@'localhost' (using password: YES) in C:\AppServ\www\conectar.php on line 7
NO CONECTO

y cuando conecta manda esto:

Resource id #2 SI CONECTO

Bueno ahora sabemos que todo esta ok.

Y eso sería todo por lo mientras ya que de ahora en adelante crearemos aplicaciones más útiles en PHP.

martes, 18 de febrero de 2014