Logo Studenta

Proyecto Final ED1-2022-2

¡Estudia con miles de materiales!

Vista previa del material en texto

UNIVERSIDAD TECNOLÓGICA DE PANAMÁ 
FACULTAD DE INGENIERÍA DE SISTEMAS COMPUTACIONALES 
DEPARTAMENTO DE COMPUTACIÓN Y SIMULACIÓN DE SISTEMAS 
ESTRUCTURAS DE DATOS I 
 
 
 
 
 
 
 
 
TITULO DEL TEMA 
Proyecto Final: Estructuras de Datos Tipo Pila y Colas 
 
 
 
Prof. Yolanda de Miguelena 
 
 
 
 
 
INTEGRANTES: 
Rivera Ruben 8-1003-856 
Sánchez Omar 8-974-1975 
Murcia Luis 8-894-1472 
Michael Aparicio 8-1011-1944 
 
 
 
 
 
 
 
 
FECHA: 
14/11/2022 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
PROGRAMA FUENTE 
 
Principal: 
import java.util.*; 
// METODO PARA LA PRESENTACIÓN 
public class principal { 
 static void presentar() { 
 System.out.println("UNIVERSIDAD TECNOLOGICA DE PANAMÁ"); 
 System.out.println("FACULTAD EN SISTEMAS COMPUTACIONALES"); 
 System.out.println("DEPARTAMENTO DE COMPUTACION Y SIMULACION DE SISTEMAS"); 
 System.out.println("\t ESTRUCTURA DE DATOS I"); 
 System.out.println("\t PROYECTO FINAL"); 
 System.out.println("\t GRUPO:"); 
 System.out.println(" 1LS113"); 
 System.out.println("\t INTEGRANTES:"); 
 System.out.println(" OMAR SANCHEZ 8-974-1976, RUBEN RIVERA 8-1003-856,"); 
 System.out.println(" LUIS MURCIA 8-894-1472 Y MICHAEL APARICIO 8-1011-1944 "); 
 System.out.println("\t PROFESORA: "); 
 System.out.println(" YOLANDA DE MIGUELENA"); 
 System.out.println("\t FECHA DE ENTREGA"); 
 System.out.println(" SEMANA 15"); 
 
 public static void main(String[] args) { 
 int menu = 0; 
 int menu1 = 0; 
 int menu2 = 0; 
 Pila op = new Pila(); 
 cola op2 = new cola(); 
 Scanner sc = new Scanner(System.in); 
 try { 
 do { 
 System.out.println("----MENU PRINCIPAL----\n"); 
 System.out.println("----OPERACIONES CON ESTRUCTURAS DE DATOS LINEALES----\n"); 
 System.out.println("\t\t1. HOJA DE PRESENTACION\n"); 
 System.out.println("\t\t2. OPERACIONES CON PILAS\n"); 
 System.out.println("\t\t3. OPERACIONES CON COLAS SIMPLE\n"); 
 System.out.println("\t\t4. SALIR \n"); 
 System.out.println("Ingrese una opcion: "); 
 menu = sc.nextInt(); // Se le da valor a menu 
 switch (menu) { 
 case 1: 
 principal.presentar(); 
 break; 
 case 2: 
 do { 
 System.out.println("----MENU PRINCIPAL----\n"); 
 System.out.println("----OPERACIONES CON PILAS----\n"); 
 System.out.println("\t\t1. INSERTAR ELEMENTOS A LA PILA\n"); 
 System.out.println("\t\t2. ELIMINAR ELEMENTOS A LA PILA\n"); 
 System.out.println("\t\t3. MOSTRAR PILA\n"); // INCLUIR EL VALOR DE TOPE 
 System.out.println("\t\t4. RETORNAR \n"); // REGRESAR AL MENU PRINCIPAL 
 menu1 = sc.nextInt(); // Se le da valor a menu 
 switch (menu1) { 
 case 1: 
 op.InserNodo(); 
 System.out.println("Los valores de la pila son: "); 
 op.verificarPila(); 
 break; 
 case 2: 
 op.eliminarNodo(); 
 break; 
 case 3: 
 System.out.println("Los valores de la pila son: "); 
 op.MostrarNodo(); 
 break; 
 case 4: 
 break; 
 default: 
 System.out.println("Opcion no valida, recuerde que es del 1 al 4"); 
 break; 
 } 
 } while (menu1 != 4); 
 break; 
 case 3: 
 do { 
 System.out.println("----MENU PRINCIPAL----\n"); 
 System.out.println("----OPERACIONES CON COLA SIMPLE----\n"); 
 System.out.println("\t\t1. INSERTAR ELEMENTOS A LA COLA SIMPLE\n"); 
 System.out.println("\t\t2. ELIMINAR ELEMENTOS A LA COLA SIMPLE\n"); 
 System.out.println("\t\t3. MOSTRAR COLA SIMPLE\n");//INCLUIR EL INICIO Y FINAL 
 System.out.println("\t\t4. RETORNAR \n"); // REGRESAR AL MENU PRINCIPAL 
 menu2 = sc.nextInt(); // Se le da valor a menu 
 switch (menu2) { 
 case 1: 
 op2.InserCola(); 
 System.out.println("Los valores de la cola son: "); 
 op2.verificarCola(); 
 break; 
 case 2: 
 op2.eliminarCola(); 
 break; 
 case 3: 
 System.out.println("Los valores de la cola simple son: "); 
 op2.monstrarCola(); 
 break; 
 case 4: 
 break; 
 default: 
 System.out.println("Opcion no valida, recuerde que es del 1 al 4"); 
 break; 
 } 
 } while (menu2 != 4); 
 break; 
 case 4: 
 break; 
 default: 
 System.out.println("Opcion no valida, recuerde que es del 1 al 4"); 
 break; 
 } 
 } while (menu != 4); 
 System.out.println("FIN DEL PROGRAMA ^_____^ "); 
 } catch (Exception e) { 
 // Si el programa detecta que se introdujo algo distinto a lo que se pide, se 
 // imprime ERROR 
 System.out.println("---ERROR---"); 
 System.out.println("Ingreso un dato no valido"); 
 } // FIN DEL TRY 
 } 
} // FIN CLASE PRINCIPAL 
 
 
2 PAGINA CLASE NODO: 
public class nodo { 
 String Info; // EL QUE AGARRA LA INFORMACIÓN 
 nodo sig; // EL APUNTADOR(SIG) 
} 
 
 
3 PAGINA PARA LOS MÉTODOS DE COLAS: 
import java.util.Scanner; 
 
public class cola { 
 Scanner leer = new Scanner(System.in); 
 nodo Pcola; // para saber el primer valor de la cola 
 nodo Ucola; // para saber el ultimo valor de la cola 
 
 public cola() { // CONSTRUCTOR DE LA COLA 
 Pcola = null; 
 Ucola = null; 
 } 
 
 // --------------------------------------------- 
 // METODO PARA INSERTAR 
 public void InserCola() { 
 nodo nuevaCol = new nodo(); 
 System.out.println("Ingrese el dato nuevo:"); 
 nuevaCol.Info = leer.nextLine(); 
 if (Pcola == null) { 
 Pcola = nuevaCol; 
 Pcola.sig = null; 
 Ucola = nuevaCol; 
 } else { 
 Ucola.sig = nuevaCol; 
 nuevaCol.sig = null; 
 Ucola = nuevaCol; 
 } 
 System.out.println("El valor se leyo correctamente"); 
 } 
 
 // --------------------------------------------- 
 // METODO PARA VERIFICAR 
 public void monstrarCola() { 
 int fina = 0, frent = 0; 
 nodo actual = new nodo();actual = Pcola; 
 if (Pcola != null) { 
 frent = 1; 
 while (actual != null) { 
 System.out.print(" " + actual.Info + " "); 
 fina += 1; 
 actual = actual.sig; 
 } 
 } else { 
 System.out.println("La pila esta vacia"); 
 } 
 System.out.println("\n El frente es: " + frent + ", el final es: " + fina); 
 
 } 
 
 // -------------------------------------------- 
 // METODO PARA ELIMINAR 
 public void eliminarCola() { 
 nodo Elicola = new nodo(); 
 Elicola = Pcola; 
 if (Elicola != null) { 
 if (Elicola == Pcola) { 
 Pcola = Pcola.sig; 
 } 
 } else { 
 System.out.println("La cola esta vacia"); 
 } 
 System.out.println("El dato se Elimino correctamente"); 
 } 
 
 // --------------------------------------------- 
 // METODO PARA VERIFICAR 
 public void verificarCola() { 
 nodo actual = new nodo(); 
 actual = Pcola; 
 if (Pcola != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA 
 while (actual != null) { 
 System.out.print(" " + actual.Info + " "); 
 actual = actual.sig; 
 } 
 } else { 
 System.out.println("La pila esta vacia"); 
 } 
 System.out.println(""); 
 } 
 
} 
 
 
4 PAGINA PARA LOS METODOS DE PILAS: 
import java.util.*; 
 
public class Pila { 
 Scanner leer = new Scanner(System.in); 
 nodo Pvalor; 
 
 // --------------------------------------------- 
 // CONSTRUCTOR DE LA PILA 
 public Pila() { 
Pvalor = null; 
 } // fin del constructor pila 
 // -------------------------------------------- 
 // metodo para insertar los valores 
 
 public void InserNodo() { 
 nodo nuevo = new nodo(); // se crea un nuevo nodo para insertar nuevos nodo 
 System.out.println("Ingrese el dato nuevo:"); 
 nuevo.Info = leer.nextLine(); 
 nuevo.sig = Pvalor; 
 Pvalor = nuevo; // este indica al programa que el valor de primer dato ingresado ya no sera NULL 
 System.out.println("El valor se leyo correctamente"); 
 } 
 
 // --------------------------------------------- 
// METODO PARA MOSTRAR LA PILA 
 public void MostrarNodo() { 
 nodo actual = new nodo(); 
 actual = Pvalor; 
 int conta = 0; 
 if (Pvalor != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA 
 while (actual != null) { 
 System.out.println(" " + actual.Info); 
 conta += 1; 
 actual = actual.sig; 
 } 
 } else { 
 System.out.println("La pila esta vacia"); 
 } 
 System.out.println("El tope de la pila es: " + conta); 
 } 
 
 // --------------------------------------------- 
 public void eliminarNodo() { 
 nodo elimiP = new nodo(); 
 elimiP = Pvalor; 
 if (elimiP != null) { 
 if (elimiP == Pvalor) { 
 Pvalor = Pvalor.sig; 
 } 
 } else { 
 System.out.println("La pila esta vacia"); 
 } 
 System.out.println("El dato se Elimino correctamente"); 
 } 
 
 // --------------------------------------------- 
 // metodo para verificar 
 public void verificarPila() { 
 nodo actual = new nodo(); 
 actual = Pvalor; 
 if (Pvalor != null) { // UTILIZAMOS UN IF PARA VERIFICAR SI HAY VALOR EN LA PILA 
 while (actual != null) { 
 System.out.println(" " + actual.Info); 
 actual = actual.sig; 
 } 
 } else { 
 System.out.println("La pila esta vacia"); 
 } 
 } 
} 
 
REPORTE DE LA EJECUCIÓN 
PARA LA OPCIÓN 1 (HOJA DE PRESENTACIÓN) 
 
 
 
PARA LA OPCIÓN 2(OPERACIONES CON PILAS) 
 
PARA INSERTAR CON PILAS // SE INSERTAN 2 DATOS 
 
 
 
MOSTRAR PILA CON LOS DATOS 
 
PARA ELIMINAR DATOS DE LA PILA 
 
 
 
RETORNAR AL MENÚ PRINCIPAL 
 
PARA LA OPCIÓN 3(OPERACIONES CON COLAS SIMPLE) 
 
PARA INSERTAR CON COLAS SIMPLE // SE INSERTAN 3 DATOS 
 
 
 
MOSTRAR COLA SIMPLE CON LOS DATOS Y CON EL FRENTE Y FINAL 
 
PARA ELIMINAR DATOS DE COLA SIMPLE

Continuar navegando

Materiales relacionados

175 pag.
Apuntes_EstructuraDatos

ESTÁCIO

User badge image

Tovar Jacuinde Rodrigo

128 pag.
POOJava_cursoIndra

User badge image

zulmaibalo512

62 pag.
Apuntes curso C avanzado y C__

User badge image

Materiales Generales