0% encontró este documento útil (0 votos)
118 vistas17 páginas

Implementación de Cola para Proveedores

El documento solicita crear una cola estática para almacenar información de proveedores. Se implementa una interfaz ICola con métodos como isEmpty(), offer(), poll(), peek() y searchById(). La clase Cola implementa la interfaz usando un vector para almacenar los objetos Proveedor, manejando índices frente y ultimo.

Cargado por

MISA JADE
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
118 vistas17 páginas

Implementación de Cola para Proveedores

El documento solicita crear una cola estática para almacenar información de proveedores. Se implementa una interfaz ICola con métodos como isEmpty(), offer(), poll(), peek() y searchById(). La clase Cola implementa la interfaz usando un vector para almacenar los objetos Proveedor, manejando índices frente y ultimo.

Cargado por

MISA JADE
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

Pregunta 1

Como desarrollador Senior en algoritmo y estructura de datos le han solicitado la siguiente


información:
Se requiere lo siguiente:
1- Crear una cola "dinámica", la cual permite almacenar información de proveedores.
2 -La cola deberá de contener todos los métodos de una cola los cuales deberán ser
estandarizados a través de una interfaz.
3 -Atributos de la clase proveedores son:
-id
-Razón Social
-RUC
-Producto
-Dirección
4 - Deberá de implementar un método que permita averiguar si un proveedor se encuentra
almacenado en la cola.
5 - Devolver el número de objetos almacenados en la cola.

Tácticas:
⦁ Crear un nodo para almacenar los proveedores
⦁ Crear una clase proveedor con sus atributos
⦁ Crear una tabla proveedor en la base de datos

Su respuesta:
package cola;

public class Cola {

NodoCola inicio, fin;


int tama;
//constructor de inicializar la cola

public Cola() {
inicio = fin = null;
tama = 0;
}
//para saber si esta vacia la cola

public boolean estaVacia() {

return inicio == null;


}

//metodo para ingresar


public void insertar(Proveedores ele) {

NodoCola nuevo = new NodoCola(ele);

if (estaVacia()) {
inicio = nuevo;
} else {
[Link] = nuevo;
}

fin = nuevo;
tama++;
}

//metodo para quitar un elem de la cola


public Proveedores quitar() {
Proveedores aux = [Link];
//trasladamos al inicio el q estaba atras
inicio = [Link];
tama--;
return aux;

//metodo para saber quien esta al inicio de la cola


public Proveedores inicioCola() {

return [Link];

public int tamanoCola() {

return tama;

package cola;

import [Link];

public class Main {

/**
* @param args the command line arguments
*/
public static void main(String[] args) {

int opcion = 0, id = 0, razonsocial = 0, ruc = 0;


String producto = "";
String direccion = "";

Cola colita = new Cola();

do {

try {
opcion = [Link]([Link](null,
"1. insertar un elemento en la cola \n"
+ "2. quitar un elemento en la cola \n"
+ "3. la cola esta vacia ?\n"
+ "5. tamano de la cola \n"
+ "6. Salir",
JOptionPane.QUESTION_MESSAGE));

switch (opcion) {

case 1:
id = [Link]([Link](null, "ingresa el id del
provedor", "insertando en la cola", JOptionPane.QUESTION_MESSAGE));
razonsocial = [Link]([Link](null, "ingresa razon
social del proveedor", "insertando en la cola", JOptionPane.QUESTION_MESSAGE));
ruc = [Link]([Link](null, "ingresa el ruc del
proveedor", "insertando en la cola", JOptionPane.QUESTION_MESSAGE));
producto = [Link](null, "ingresa el nombre del producto",
"insertando en la cola", JOptionPane.QUESTION_MESSAGE);
direccion = [Link](null, "ingresa la direccion del
proveedor", "insertando en la cola", JOptionPane.QUESTION_MESSAGE);

Proveedores objProv = new Proveedores(id, razonsocial, ruc, producto,


direccion);

[Link](objProv);
break;
case 2:
if (![Link]()) {

[Link](null, "el elemento atendido es " +


[Link](),
"quitando elementos de la cola", JOptionPane.INFORMATION_MESSAGE);

} else {
[Link](null, "la cola esta vacia",
"cola vacia ", JOptionPane.INFORMATION_MESSAGE);
}
break;

case 3:
if ([Link]()) {
[Link](null, "la cola esta vacia " + [Link](),
"quitando elementos de la cola", JOptionPane.INFORMATION_MESSAGE);
} else {
[Link](null, "la cola no esta vacia",
"cola no vacia ", JOptionPane.INFORMATION_MESSAGE);
}
break;

case 5:
[Link](null, "el tamanio de la cola es " +
[Link](),
"tamanio de cola", JOptionPane.INFORMATION_MESSAGE
);

break;

case 6:

[Link](null, "aplicacion finalizada",


"fin", JOptionPane.INFORMATION_MESSAGE);

break;
default:
[Link](null, "opcion incorrecta",
"cuidado ", JOptionPane.INFORMATION_MESSAGE);
}
} catch (NumberFormatException n) {
[Link](null, "eroor" + [Link]());
}

} while (opcion != 6);

package cola;

public class NodoCola {

Proveedores dato;
//punteor del tipo nodo coloa

NodoCola siguiente;

public NodoCola(Proveedores d) {
dato = d;
siguiente = null;

package cola;

public class Proveedores {

private int id;


private int razonsocial;
private int ruc;
private String producto;
private String direccion;

public Proveedores(int id, int razonsocial, int ruc, String producto, String direccion) {
[Link] = id;
[Link] = razonsocial;
[Link] = ruc;
[Link] = producto;
[Link] = direccion;
}

public int getId() {


return id;
}

public void setId(int id) {


[Link] = id;
}

public int getRazonsocial() {


return razonsocial;
}

public void setRazonsocial(int razonsocial) {


[Link] = razonsocial;
}

public int getRuc() {


return ruc;
}

public void setRuc(int ruc) {


[Link] = ruc;
}

public String getProducto() {


return producto;
}

public void setProducto(String producto) {


[Link] = producto;
}

public String getDireccion() {


return direccion;
}

public void setDireccion(String direccion) {


[Link] = direccion;
}
}
Pregunta 2

Como desarrollador Senior en algoritmo y estructura de datos le han solicitado la siguiente


información:
Se requiere lo siguiente:
1- Crear una cola "estática", la cual permite almacenar información de proveedores.
2 -La cola deberá de contener todos los métodos de una cola los cuales deberán ser
estandarizados a través de una interfaz.
3 -Atributos de la clase proveedores son:
-id
-Razón Social
-RUC
-Producto
-Dirección
4 - Deberá de implementar un método que permita averiguar si un proveedor se encuentra
almacenado en la cola.
5 - Devolver el número de objetos almacenados en la cola.
Tácticas:
⦁ Crear un vector para almacenar los proveedores
⦁ Crear una clase proveedor con sus atributos

Su respuesta:
package pregunta2;

public interface ICola <T> {


Boolean isEmpty();
void offer(T t);
T poll();
T peek();
void print();
T searchById(int id);
}

package pregunta2;

public class Cola implements ICola<Proveedor>{

Proveedor proveedores[];
int frente = 0;
int ultimo = -1;

public Cola(int cantidadProveedores) {


[Link] = new Proveedor[cantidadProveedores];
}

@Override
public Boolean isEmpty() {
return ultimo == -1;
}

@Override
public void offer(Proveedor t) {
if ( (ultimo+1) > ([Link] - 1)) {
[Link]("La cola se encuentra llena.");
} else {
proveedores[++ultimo] = t;
}
}

@Override
public Proveedor poll() {
if (isEmpty()) {
[Link]("La cola se encuentra vacia");
return null;
} else {
Proveedor prov = proveedores[frente];
for (int i = frente; i < ultimo; i++) {
proveedores[i] = proveedores[i+1];
}
proveedores[ultimo--] = null;
return prov;
}
}

@Override
public Proveedor peek() {
if (isEmpty()) {
[Link]("La cola se encuentra vacia");
return null;
} else {
return proveedores[frente];
}
}

@Override
public void print() {
[Link]("Los proveedores en la cola son: ");
for (int i = 0; i <= ultimo; i++) {
[Link]("- "+proveedores[i].getRazSocial());
}
}

@Override
public Proveedor searchById(int id) {
if (isEmpty()) {
[Link]("La cola se encuentra vacia");
return null;
} else {
Proveedor prov = null;
for (int i = 0; i <= ultimo; i++) {
if (proveedores[i].getId() == id) {
prov = proveedores[i];
break;
}
}
return prov;
}
}

public int getSize() {


return ultimo+1;
}
}

package pregunta2;

public class Proveedor {

private int id;


private String razSocial;
private String ruc;
private String producto;
private String direccion;

public Proveedor() {}

public Proveedor(int id, String razSocial, String ruc, String producto, String direccion) {
[Link] = id;
[Link] = razSocial;
[Link] = ruc;
[Link] = producto;
[Link] = direccion;
}

public int getId() {


return id;
}

public void setId(int id) {


[Link] = id;
}

public String getRazSocial() {


return razSocial;
}

public void setRazSocial(String razSocial) {


[Link] = razSocial;
}

public String getRuc() {


return ruc;
}

public void setRuc(String ruc) {


[Link] = ruc;
}

public String getProducto() {


return producto;
}

public void setProducto(String producto) {


[Link] = producto;
}

public String getDireccion() {


return direccion;
}

public void setDireccion(String direccion) {


[Link] = direccion;
}

@Override
public String toString() {
return "Proveedor{" + "id=" + id + ", razSocial=" + razSocial + ", ruc=" + ruc + ", producto="
+ producto + ", direccion=" + direccion + '}';
}

package pregunta2;

public class Test {

public static void main(String[] args) {


Cola cola = new Cola(4);
[Link](new Proveedor(1, "GLORIA S.A", "12312312312", "Leche", "Av principal 123"));
[Link](new Proveedor(4, "COCA COLA", "32132132112", "Gaseosa", "Av
SiempreViva"));
[Link](new Proveedor(3, "PEPSI", "22233311122", "Gaseosa", "Av principal 321"));
[Link]();
[Link]();
[Link]([Link](3) != null ? "El proveedor existe" : "El proveedor no
existe");
[Link]([Link]() != 0 ? "Existen " + [Link]()+" elementos en la
cola." : "La cola se encuentra vacia");
[Link]();
}
}
Pregunta 3

Como desarrollador Senior en algoritmo y estructura de datos le han solicitado la siguiente


información:
Se requiere lo siguiente:
1- Crear una pila "dinámica", la cual permite almacenar información de proveedores.
2 -La pila deberá de contener todos los métodos de una pila los cuales deberán ser
estandarizados a través de una interfaz.
3 -Atributos de la clase proveedores son:
-id
-Razón Social
-RUC
-Producto
-Dirección
4 - Deberá de implementar un método que permita averiguar si un proveedor se encuentra
almacenado en la pila.
5 - Devolver el número de objetos almacenados en la pila.

Tácticas:
⦁ Crear un nodo para almacenar los proveedores
⦁ Crear una clase proveedor con sus atributos

Su respuesta:

Como desarrollador Senior en algoritmo y estructura de datos le han solicitado la siguiente


información:
Se requiere lo siguiente:
1- Crear una pila "estática", la cual permite almacenar información de proveedores.
2 -La pila deberá de contener todos los métodos de una pila los cuales deberán ser
estandarizados a través de una interfaz.
3 -Atributos de la clase proveedores son:
-id
-Razón Social
-RUC
-Producto
-Dirección
4 - Deberá de implementar un método que permita averiguar si un proveedor se encuentra
almacenado en la pila.
5 - Devolver el número de objetos almacenados en la pila.
Tácticas:
⦁ Crear un vector para almacenar los proveedores
⦁ Crear una clase proveedor con sus atributos

Su respuesta:
pregunta4;

public interface IPila <T> {


public abstract Boolean isEmpty();
public abstract void push(T t);
public abstract T pop();
public abstract T peek();
public abstract T searchById(int id);
}

package pregunta4;

public class Pila implements IPila<Proveedor> {

private Proveedor proveedores[];


private int cantidadProveedores;
private int cima;

public Pila(int cantidadProveedores) {


[Link] = cantidadProveedores;
[Link] = new Proveedor[cantidadProveedores];
[Link] = 0;
}

@Override
public Boolean isEmpty() {
return cima == 0;
}

@Override
public Proveedor searchById(int id) {
if(isEmpty()) {
return null;
}
else {
Proveedor prov = null;
for (int i = 0; i < [Link] - 1; i++) {
if (proveedores[i].getId() == id) {
prov = proveedores[i];
break;
}
}
return prov;
}
}

@Override
public void push(Proveedor prov){
if (cima < cantidadProveedores) {
proveedores[cima] = prov;
cima++;
} else {
[Link]("La pila se encuentra llena");
}
}
@Override
public Proveedor pop(){
Proveedor dato=null;
if (cima == 0) {
[Link]("La pila se encuentra vacia");
} else {
dato = proveedores[cima-1];
proveedores[cima-1]=null;
cima--;
}
return dato;
}

public int getSize() {


return cima;
}

@Override
public Proveedor peek(){
if (isEmpty()) {
[Link]("La pila se encuentra vacia");
return null;
} else {
return proveedores[cima-1];
}
}
}

package pregunta4;

public class Proveedor {

private int id;


private String razSocial;
private String ruc;
private String producto;
private String direccion;

public Proveedor() {}

public Proveedor(int id, String razSocial, String ruc, String producto, String direccion) {
[Link] = id;
[Link] = razSocial;
[Link] = ruc;
[Link] = producto;
[Link] = direccion;
}

public int getId() {


return id;
}

public void setId(int id) {


[Link] = id;
}

public String getRazSocial() {


return razSocial;
}

public void setRazSocial(String razSocial) {


[Link] = razSocial;
}

public String getRuc() {


return ruc;
}

public void setRuc(String ruc) {


[Link] = ruc;
}

public String getProducto() {


return producto;
}

public void setProducto(String producto) {


[Link] = producto;
}

public String getDireccion() {


return direccion;
}

public void setDireccion(String direccion) {


[Link] = direccion;
}

@Override
public String toString() {
return "Proveedor{" + "id=" + id + ", razSocial=" + razSocial + ", ruc=" + ruc + ", producto="
+ producto + ", direccion=" + direccion + '}';
}

package pregunta2;

public class Test {


public static void main(String[] args) {
Pila pila = new Pila(4);
[Link](new Proveedor(1, "GLORIA S.A", "12312312312", "Leche", "Av principal 123"));
[Link](new Proveedor(2, "COCA COLA", "32132132112", "Gaseosa", "Av
SiempreViva"));
[Link](new Proveedor(3, "PEPSI", "22233311122", "Gaseosa", "Av principal 321"));

[Link]([Link](4) != null ? "El proveedor existe" : "El proveedor no


existe");
[Link]([Link]() != 0 ? "El tamaño es de:" + [Link]() : "La pila está
vacia");

}
}

Pregunta 5

Un almacén tiene capacidad para apilar n contenedores. Cada contenedor tiene un número de
identificación. Cuando se desea retirar un contenedor específico, deben retirarse primero los
contenedores que están encima de él y colocarlos en otra pila, efectuar el retiro y regresarlos.
Codifique los métodos Push ( ) y Pop ( ) para gestionar los contenedores.

Su respuesta:
package PREGUNTA_5;
import [Link];
import [Link];

/**
*
*/
public class BASE1 {

Scanner leer = new Scanner([Link]);


//inicialiazamos la pila , que es de la clase stack
Stack pila = new Stack();

public static int tamano;

//metodo
public void tamaño() {
[Link]("ingrese la cantidad de contenedores del almacen: ");
tamano = [Link]();
[Link]("**");
}

//metod que va permitir que se ingrese los datos que dice el tama;o
public void ingresoDatos() {
while ([Link]() < tamano) {
String a = null;
[Link]("ingrese el numero de identificacion del contenedor: ");
//metodo push capturamos los datos
[Link](a = [Link]());
}
[Link](pila);
}

public void validar() {

[Link]("ingrese el dato a validar");


//creamos una variagble de tipo objet
Object a = [Link]([Link]());
[Link](a);
}

public void mostrarElemento() {

Object a = [Link]();
[Link](a);
}

public void EliminarUltimo() {


//eliminando con la operacion pop
Object a = [Link]();
[Link]("elemento eliminado");
[Link](a);
[Link]("pila sin el ultimo elemento");
[Link](pila);
}

public void vaciar() {


[Link]();
[Link](pila);
}

public static void main(String[] args) {

preg5 met = new preg5();


[Link]ño();
[Link]();

//[Link]();
[Link]();
// [Link]();
}

package PREGUNTA_5;

import [Link];
import [Link];
public class preg5 {

Scanner leer = new Scanner([Link]);


//inicialiazamos la pila , que es de la clase stack
Stack pila = new Stack();

public static int tamano;

//metodo
public void tamaño() {
[Link]("ingrese la cantidad de contenedores del almacen: ");
tamano = [Link]();
[Link]("**");
}

//metod que va permitir que se ingrese los datos que dice el tama;o
public void ingresoDatos() {
while ([Link]() < tamano) {
String a = null;
[Link]("ingrese el numero de identificacion del contenedor: ");
//metodo push capturamos los datos
[Link](a = [Link]());
}
[Link](pila);
}

public void validar() {

[Link]("ingrese el dato a validar");


//creamos una variagble de tipo objet
Object a = [Link]([Link]());
[Link](a);
}

public void mostrarElemento() {

Object a = [Link]();
[Link](a);
}

public void EliminarUltimo() {


//eliminando con la operacion pop
Object a = [Link]();
[Link]("elemento eliminado");
[Link](a);
[Link]("pila sin el ultimo elemento");
[Link](pila);
}

public void vaciar() {


[Link]();
[Link](pila);
}

public static void main(String[] args) {

preg5 met = new preg5();


[Link]ño();
[Link]();

//[Link]();
[Link]();
// [Link]();
}

También podría gustarte