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]();
}