Está en la página 1de 14

ING.

SISTEMAS COMPUTACIONALES

ESTRUCTURA DE DATOS

PRACTICA 1 “Pilas”

PROFESORA: MARGARITA TORRES FIGUEROA

ALUMNO (S): FABIAN SANCHEZ HERNANDEZ

N° 19640234

LA PIEDAD, MICH. 26/OCTUBRE/2020


Objetivo: Es conocer la representación interna de las pilas, su funcionamiento y
operaciones básicas, así como la interacción entre clases y conocer cómo
aplicar los conceptos que en esta unidad estaremos viendo, en esta práctica
usamos esos conceptos acerca de las pilas y las colas, que la maestra nos
ayudó y explico en clase.

Desarrollo: En esta práctica desarrollamos un proyecto en el que se crearon


tres clases, una para los objetos empleados ClienteBanco, otra para ejecutar
las operaciones básicas de las pilas (poner, quitar, mostrar, señalar si la pila
está llena o vacía) Pila y, por último, Test Pila, en la que se implementaron los
métodos y se crea una interacción entre las clases

El primer paso fue crear la clase llamada ClienteBanco en esta clase


determinamos los atributos y datos que vamos a utilizar después
automáticamente introducimos los constructores, métodos primero el getter y
después el setter y por último toString.

En la segunda clase la llamamos Pila en esta clase creamos los métodos para
poder utilizar toda la información que meta el usuario el primeros métodos
creados fueron el de Pila Vacía y Pila Llena en estos métodos son para ver si
la pila está vacía o está llena para poder introducir un dato, otros métodos
también fueron los de push y pop estos son para introducir datos y sacarlos de
las pilas y por ultimo un método para recorrer todo el vector y dar un reporte
general de la pila todos los datos que tiene

Y en la ultima clase la nombramos testPila aquí es donde creamos todo el


menú para llamar los métodos de las clases ya creadas y pedirle los datos al
usuario y completar el programa.

Teoría: La pila es una secuencia de elementos del mismo tipo en la que el


acceso a la misma se realiza por un único lugar denominado cima: Vemos
como el acceso a los elementos de la pila se realiza siempre sobre un único
extremo. Las operaciones que caracterizan la pila son las de introducir un
nuevo elemento sobre la cima (push) y la de extraer el elemento situado en la
cima (pop) Una forma de ver esta estructura de datos es como una pila de
libros en la que sólo se puede escoger el libro que está en la cima o apilar más
libros sobre la misma, pero los libros que sostienen la pila no son accesibles
pues de otro modo todo se desmoronaría
ClienteBanco

_______________________________________________________________
___________

package clientebanco;

public class ClienteBanco {

private String nombre;

private int suc;

private int n_cat;

private String tipo;

public ClienteBanco(String nombre, int suc, int n_cat, String tipo) {

this.nombre = nombre;

this.suc = suc;

this.n_cat = n_cat;

this.tipo = tipo;

public String getNombre() {

return nombre;

public int getSuc() {

return suc;
}

public int getN_cat() {

return n_cat;

public String getTipo() {

return tipo;

public void setNombre(String nombre) {

this.nombre = nombre;

public void setSuc(int suc) {

this.suc = suc;

public void setN_cat(int n_cat) {

this.n_cat = n_cat;

public void setTipo(String tipo) {

this.tipo = tipo;

@Override

public String toString() {

return "ClienteBanco{" + "nombre=" + nombre + ", suc=" + suc + ", n_cat="


+ n_cat + ", tipo=" + tipo + '}';

Class Pila
package clientebanco;

public class pila {

private int tope;

private int maximo;

private boolean band;

private ClienteBanco array[];

public pila (){

tope=-1;

maximo=5;

band=false;

array=new ClienteBanco[maximo];

public boolean pilaVacia(){

if(tope== -1)

return true;

else return false;

public boolean pilallena(){

if(tope==maximo-1)

return true;

else return false;

public String push(ClienteBanco dato){

String mensaje="El objeto no se agrego corectamente";

if(pilallena()==false){
tope=tope+1;

array[tope]=dato;

mensaje= "El objeto se agrego correctamente";

return mensaje;

public ClienteBanco pop(){

ClienteBanco cliente=null;

if(pilaVacia()==false){

cliente=array[tope];

tope=tope-1;

return cliente;

public String reporteGeneral(){

String cadena="No hay objetos en la pila";

if(pilaVacia()==false){

cadena="";

for(int i=0; i<=tope;i++)

//para recorrer todo el arreglo

cadena+=array[i].toString();

return cadena;

}
Testpila

package clientebanco;

import java.util.Scanner;

public class TestPila {

public static void main(String[] args) {

Scanner sc = new Scanner(System.in);

int opcion= 0;

pila a = new pila();

do {

System.out.println("Introduce la opcion indicada");

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

System.out.println("* (1) Insertar en la Pila *");

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

System.out.println("* (2) Quitar de la pila *");

System.out.println("*--------------------------------------------*");
System.out.println("* (3) Mostar todos los elementos de la pila *");

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

System.out.println("* (4) salir *");

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

opcion = sc.nextInt();

switch(opcion){

case 1:

System.out.println("Ingresa el Nombre");

String nombre=sc.next();

System.out.println("Ingresa la sucursal");

int suc=sc.nextInt();

System.out.println("Ingresa el numero de cuenta");

int n_cat=sc.nextInt();

System.out.println("Ingresa el tipo");

String tipo=sc.next();

ClienteBanco ClienteBanco = new ClienteBanco(nombre ,suc


,n_cat ,tipo);

System.out.println(a.push(ClienteBanco));

break;

case 2:
System.out.println("Inserte el dato a eliminar");

System.out.println(a.pop());

break;

case 3:

System.out.println("Reporte General");

System.out.println(a.reporteGeneral());

break;

case 4:

System.out.println("Gracias");

break;

default:

System.out.println("Opcion Invalida Vuelve a intenatar");

break;

} while (opcion!=4);

}
Conclusión
En conclusión, en este practica aprendí como funciona una pila que es y a aplicar
todos conocimientos ya antes obtenidos para poder completar esta practica sobre
pilas Una pila (stack en inglés) es una lista ordenada o estructura de datos que
permite almacenar y recuperar datos, siendo el modo de acceso a sus elementos
de tipo LIFO (del inglés Last In, First Out, «último en entrar, primero en salir»)

https://es.wikipedia.org/wiki/Pila_(inform%C3%A1tica)#:~:text=Una%20pila%20(st
ack%20en%20ingl%C3%A9s,%2C%20primero%20en%20salir%C2%BB)%20.

También podría gustarte