jueves, 27 de octubre de 2016

PILAS Y COLAS




PILAS son estructuras de datos que tienes dos operaciones básicas: push (para insertar un elemento) y pop (para extraer un elemento). Su característica fundamental es que al extraer se obtiene siempre el último elemento que acaba de insertarse. Por esta razón también se conocen como estructuras de datos LIFO (del inglés Last In First Out). Una posible implementación mediante listas enlazadas sería insertando y extrayendo siempre por el principio de la lista. Gracias a las pilas es posible el uso de la recursividad (lo veremos en detalle en el tema siguiente). La variable que llama al mismo procedimiento en el q está, habrá que guardarla así como el resto de variables de la nueva llamada, para a la vuelta de la recursividad ir sacandolas, esto es posible a la implementación de pilas. 

EJEMPLO




import java.util.Random;

public class pilas {

    int pilas[];
    int registro;

    public pilas() {
        pilas = new int[100];
        registro = 0;
    }

    public void llenarPila(int valor) {

        pilas[registro] = valor;
        registro++;
    }

    public void mostrarPila() {
        for (int i = registro - 1; i >= 0; i--) {
            System.out.println(pilas[i]);

        }

    }

    public void quitarPila() {
        int temporal = pilas[registro];
        registro--;
        return;

    }

}
 * @author Greyscp
 */
public class MainPilas {

    public static void main(String[] args) {
        pilas p = new pilas();
        for (int i = 0; i < 10; i++) {
            p.llenarPila(i);
         
        }
                   
        p.mostrarPila();
        p.quitarPila();
        System.out.println("quitando pila");
        p.mostrarPila();
     
     

    }
 
}


COLAS

Las colas también son llamadas FIFO (First In First Out), que quiere decir “el primero que 
entra es el primero que sale”.



EJEMPLO




* @author Greyscp
 */
public class cola {

    int cola[];
    int registro;

    public cola() {
        cola = new int[100];
        registro = 0;

    }

    public void llenarCola(int valor) {
        cola[registro] = valor;
        registro++;
    }

    public void mostrarCola() {
        for (int i = 0 ; i 

public class MainCola {

    public static void main(String[] args) {
        cola c = new cola();
        for (int i = 1; i <=10; i++) {
            c.llenarCola(i);
        }
        c.mostrarCola();
        c.quitar();
        System.out.println("quitar cola");
        c.mostrarCola();

    }

}


EN ESTO SE RESUME PILAS Y COLAS
FUENTES
ELECTRÓNICAS

http://www.iuma.ulpgc.es/users/jmiranda/docencia/programacion/Tema4_ne.pdf


lunes, 24 de octubre de 2016

EXAMEN 1

EXAMEN 1
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.ObjectOutput;
import java.io.ObjectOutputStream;

public class ArregloDatos {

    int datos[];
    int indice;
    private File f;

    public ArregloDatos() {
        this.indice = 0;
        datos = new int[100];
    }

    public void Almacenar() {
        int i = 0;
        int temporal;
        while (i < 10) {
            temporal = (int) (Math.random() * 99);
            if (temporal >= 0 && temporal < 10) {
                datos[indice] = temporal;
                indice++;
                i++;
            }

        }
    }

    public void quitarPilar() {
        int temporal = datos[indice];
        indice--;

    }

    public void QuitarCola() {
        int valor = datos[0];
        indice--;
        for (int i = 0; i < indice; i++) {
            datos[i] = datos[i + 1];

        }

    }

    public void mostrar() {

        System.out.println("cantidas de numemro: " + indice);

        if (indice != 0) {
            for (int i = 0; i < indice; i++) {
                System.out.println("[" + datos[i] + "]");
            }
        }

    }

    public void CantidadNumeroPares() {
        int contador = 0;
        for (int i = 0; i < indice; i++) {
            if (datos[i] % 2 == 0) {
                contador++;

            } else {

            }

        }
        System.out.println("cantidad de numeros pares: " + contador);
    }

    public void MultiplosDeDos() {

        int cont = 0;
        for (int i = 0; i < indice; i++) {

            if (datos[i] % 2 == 0) {
                cont++;
                System.out.println("multiplos de dos " + datos[i]);

            } else {
            }

        }

    }

    public void MayorMenor() {
        int temp;

        for (int i = 0; i < indice - 1; i++) {
            for (int j = i + 1; j < indice; j++) {
                if (datos[j] > datos[i]) {
                    temp = datos[i];
                    datos[i] = datos[j];
                    datos[j] = temp;
                     // System.out.println("ordenado: "+datos[i]);

                }

            }

        }

    }

}
import javax.swing.JButton;
import javax.swing.JFrame;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class PrincipalDatos {
 
    JFrame ventana;
    JButton btnAlmacenar, btnPila, btnCola, btnCantPares, btnMultDos, btnMayorMenor;
    ArregloDatos ad;
 
    public PrincipalDatos() {
        ventana = new JFrame();
        ventana.setLayout(null);
        btnAlmacenar = new JButton("ALMACENAR");
        btnAlmacenar.setBounds(5, 10, 150, 23);
     
        btnCola = new JButton("COLA");
        btnCola.setBounds(5, 40, 80, 23);
        btnCola.setEnabled(true);
     
        btnPila = new JButton("PILA");
        btnPila.setBounds(5, 70, 120, 23);
        btnPila.setEnabled(true);
   
        btnCantPares = new JButton("CANTIDAD DE PARES");
        btnCantPares.setBounds(5, 100, 200, 23);
        btnCantPares.setEnabled(true);

        btnMultDos = new JButton("NUMEROS MULTIPLOS DE DOS");
        btnMultDos.setBounds(5, 130, 250, 23);
        btnMultDos.setEnabled(true);
     
        btnMayorMenor = new JButton("ORDENAMIENTO");
        btnMayorMenor.setBounds(5, 180, 250, 23);
        btnMayorMenor.setEnabled(true);
     
        btnAlmacenar.addActionListener(new evento());
        btnPila.addActionListener(new evento());
        btnCola.addActionListener(new evento());
       // btnCantPares.addActionListener(new evento());
       // btnMultDos.addActionListener(new evento());
        btnMayorMenor.addActionListener(new evento());
     
        ventana.add(btnAlmacenar);
        ventana.add(btnPila);
        ventana.add(btnCola);
        //ventana.add(btnCantPares);
        //ventana.add(btnMultDos);
        ventana.add(btnMayorMenor);
     
        ventana.pack();
        ventana.setVisible(true);
        ventana.setTitle("PRACTICA");
        ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ventana.setLocationRelativeTo(null);
        ventana.setSize(500, 300);
    }
 
    public void Generar10Datos() {
        ad = new ArregloDatos();
    }
 
    public class evento implements ActionListener {
     
        @Override
        public void actionPerformed(ActionEvent e) {
            if (e.getSource() == btnAlmacenar) {
                Generar10Datos();
                System.out.println("GENERAR 10 DATOS");
                ad.Almacenar();
                System.out.println("Se crearon 10 datos: ");
                ad.mostrar();
             
             
            }
         
            if (e.getSource() == btnPila) {
             
                System.out.println("PILAS");
                ad.quitarPilar();
                System.out.println("quitar por pilas");
                ad.mostrar();
             
             
            }
         
            if (e.getSource() == btnCola) {
                System.out.println("COLA");
                ad.QuitarCola();
                System.out.println("quitar por cola");
                ad.mostrar();
             
            }
         
            if (e.getSource() == btnCantPares) {
                System.out.println("CANTIDAD DE NUMEROS PARES");
                ad.CantidadNumeroPares();
                System.out.println();
                //btnMultDos.setEnabled(true);
                //btnCantPares.setEnabled(false);
            }
         
//        
            if (e.getSource() == btnMayorMenor) {
             
                ad.MayorMenor();
                System.out.println("ORDENAMIENTO");
                ad.mostrar();
             
             
        }
    }
}
class menu {

    public static void main(String[] args) {
    PrincipalDatos p = new PrincipalDatos();
}

viernes, 14 de octubre de 2016

ARCHIVO DE TEXTO

ARCHIVO DE TEXTO PLANO 
 Escribir en un archivo de texto con extensión .txt. 
 CREAR ARCHIVOS
 Escribir en un archivo de texto con extensión .txt.
 File f=new File(“ruta”); 
 ESCRIBIR ARCHIVOS 
FileWrite fr=new FieWrite(f); 
fr.Write(“nombre del archivo”); 
fr.close;
 LEER ARCHIVOS
 FileReader fr=new FileReader(f); 
BufferReader br=BufferReader(fr);
 EJEMPLO:



package textoplano;

import java.io.*;

public class Archivo_Plano {
    private File f;
    public void crear_archivo(){
        try {
//            f=new File("C:/Users/Alumno/Documents/Secretitos.txt");
                       f=new File("archivos/Secretitos.txt");
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void escribir_archivo(){
        try {
            FileWriter fr = new FileWriter(f);
            fr.write("Este es mi archivo plano");
            fr.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
    public void leer_archivo(){
        try {
            FileReader fr=new FileReader(f);
            BufferedReader br=new BufferedReader(fr);// buffer el llere los datos uno por uno
            String linea=null;//va leer las lineas d emi archivo
            while ((linea=br.readLine())!=null) {                
                System.out.println(linea);
            }
            br.close();
            fr.close();
        } catch (Exception e) {
            System.out.println(e.getMessage());
        }
    }
}

package textoplano;

public class Principal_archivoplano {
    public static void main(String[] args) {
        Archivo_Plano ap=new Archivo_Plano();
        ap.crear_archivo();
        ap.escribir_archivo();
        ap.leer_archivo();
    }
    
}