Está en la página 1de 17

UNIVERSIDAD TECNICA DE MANABI

Facultad de Ciencia Informática

Objetos y Abstracción de Datos

CARRERA

Sistemas de Información

Nombre:

Ivan Josué Quimi Ramirez

Docente:

Ing. Vargas Nolivos Hernan

Paralelo:

“B”
Año lectivo

Octubre-enero 2024
Tarea.1 Fin de ciclo

Realizar un informe de las Practicas Hechas en clase

 Practica de Pilas (hecho en clase)

 Practica de Colas (hecho en clase)

 Practica de Arboles Binarios (hecho en clase)

Este código en Java es un programa que permite realizar operaciones básicas en pilas, colas y árboles. A

continuación, se describirá brevemente lo que hace el código completo y luego se analizará por separado cada

parte relacionada con pilas, colas y árboles.

1. Código lo más importante, comentado los métodos

Descripción general del código:

El programa presenta un menú con tres

opciones: trabajar con pilas, colas o

árboles. El usuario elige una opción, y el

programa realiza operaciones específicas

según la elección del usuario. El código

utiliza clases separadas para implementar

las operaciones de pilas, colas y árboles.


Descripción-Pilas

La parte del código relacionada con las pilas se encuentra en la clase Pila. El programa ofrece al usuario la

posibilidad de interactuar con pilas a través de operaciones básicas como apilar (push), desapilar (pop), y

verificar si la pila está vacía. La interacción con las pilas se realiza a través de un menú que solicita al usuario

ingresar el tamaño de la pila y luego permite apilar elementos, verificar si la pila está vacía y desapilar

elementos.

Métodos de pilas - Apilar

El método apilar de la clase Pila facilita la construcción de una pila al solicitar al usuario que
ingrese elementos. Utilizando un bucle for, el método guía al usuario para introducir
elementos, cada uno de los cuales es leído mediante un objeto Scanner. Posteriormente, cada
elemento es apilado en la pila utilizando el método push de la clase Stack. Este proceso se
repite según el tamaño especificado para la pila. En resumen, el método apilar desempeña un
papel crucial en la inicialización de pilas, permitiendo la interacción del usuario para llenar
la estructura con los elementos deseados.
2. Métodos de pilas – pila_vacia

El método pila_vacia de la clase Pila verifica si una pila dada está vacía. Se inicia declarando
una variable booleana vacia inicializada como true. Luego, se evalúa si la pila está vacía
utilizando el método empty de la clase Stack. Si la pila está vacía, se mantiene el valor true
para la variable vacia. En caso contrario, se actualiza el valor a false. Finalmente, el método
retorna el estado de la variable vacia, reflejando así si la pila está vacía o no. Este método
brinda una manera de determinar la condición de vacío de una pila y se integra
eficientemente en el flujo de trabajo de la manipulación de pilas en el programa principal.
2. Métodos de pilas - Desapilar

El método desapilar de la clase Pila realiza la operación de desapilado en una pila específica.
Primero, verifica si la pila está vacía utilizando el método pila_vacia. En caso de que la pila
no contenga elementos, imprime un mensaje indicando que la pila está vacía. En cambio, si
la pila contiene elementos, se utiliza un bucle for para desapilar elementos de la pila. En cada
iteración, se muestra en la consola el elemento eliminado de la pila mediante el método pop
de la clase Stack. Este proceso se repite de acuerdo al tamaño especificado para el
desapilado. El método ofrece una forma controlada de desapilar elementos de la pila,
evitando errores al intentar desapilar de una pila vacía y brindando información sobre los
elementos eliminados..
Ejecución
Descripción-Cola

La clase Cola en la implementación proporciona al usuario una interfaz para manipular colas mediante

operaciones esenciales. A través de métodos como Encolar, que permite al usuario agregar elementos a la cola,

cola_vacia, que verifica si la cola está vacía, y descolar, que retira elementos de la cola, se facilita la

interacción y manipulación de colas de forma sencilla y eficiente. Utilizando la interfaz Queue y la

implementación LinkedList de Java, el código garantiza una representación y manipulación adecuadas de

colas en el contexto del programa general.

Métodos de Cola - Encolar

El método Encolar de la clase Cola facilita la operación de encolar elementos en una cola
proporcionada como parámetro. A través de un bucle for, el usuario es guiado para ingresar
elementos, cada uno de los cuales es leído mediante un objeto Scanner. Posteriormente, cada
elemento es encolado en la cola utilizando el método add de la interfaz Queue. Este proceso se
repite según el tamaño especificado para la cola, permitiendo al usuario construir la estructura
de datos de manera dinámica. El método refleja una implementación eficiente y amigable para
la adición de elementos a una cola en el contexto del programa más amplio.

Métodos de Cola - cola_vacia


Métodos de Cola - Descolar

El método descolar de la clase Cola ejecuta la operación de desencolar en una cola específica
proporcionada como parámetro. Primero, se verifica si la cola está vacía utilizando el método
cola_vacia. En caso de que la cola no contenga elementos, se imprime un mensaje indicando
que la cola está vacía. Por el contrario, si la cola contiene elementos, se utiliza un bucle for
para desencolar elementos de la cola. En cada iteración, se imprime en la consola el
elemento eliminado de la cola mediante el método poll de la interfaz Queue. Este proceso se
repite de acuerdo con el tamaño especificado para el desencolado. El método ofrece una
manera controlada de desencolar elementos de la cola, evitando errores al intentar desencolar
de una cola vacía y proporcionando información sobre los elementos eliminados.
Ejecución
Descripción-Cola
EL código proporciona una implementación básica de un árbol binario a través de la clase Nodo. Cada nodo
en el árbol contiene un dato entero, y puede tener nodos hijos a la izquierda (izq) y a la derecha (der). La clase
incluye métodos para realizar recorridos en preorden, inorden y postorden en el árbol. Los métodos PreOrden,
InOrden y PosOrden permiten imprimir los datos de los nodos en el orden correspondiente. Este código brinda
una estructura fundamental para la representación y manipulación de árboles binarios, con la capacidad de
realizar diversos tipos de recorridos que son fundamentales para explorar y comprender la estructura de un
árbol.
Métodos de Nodo - Constructor

Este fragmento de código corresponde al constructor de la clase Nodo y se encarga de


inicializar un nodo con un dato específico. El constructor toma un parámetro, dato, que
representa la información numérica asociada al nodo. La palabra clave this se utiliza para
referirse a la variable de instancia dato de la clase Nodo, y se le asigna el valor pasado como
argumento al constructor. En resumen, este constructor permite crear un nodo del árbol con un
valor de datos específico al instanciar un objeto de la clase Nodo.
Métodos de Nodo – PreOrden

Este fragmento de código define el método PreOrden en la clase Nodo, implementando el


recorrido en preorden en un árbol binario. El método toma un parámetro raiz, que representa el
nodo desde el cual se iniciará el recorrido. La lógica del recorrido en preorden consiste en
imprimir el dato del nodo actual, luego realizar el mismo proceso recursivamente en el
subárbol izquierdo (raiz.getIzq()) y finalmente en el subárbol derecho (raiz.getDer()). La
condición if (raiz != null) verifica si el nodo actual no es nulo antes de realizar las
operaciones, asegurando que no se acceda a nodos inexistentes. La impresión del dato del
nodo seguido de un guion (System.out.print(raiz.getDato() + "-")) se realiza antes de realizar
las llamadas recursivas, dando como resultado la secuencia de datos del árbol en el orden
preorden. Este método es fundamental para explorar y visualizar la estructura de un árbol
binario.

Métodos de Nodo – InOrden


Métodos de Nodo – PosOrden
Ejecución
LINK DEL EJERCICIO EN .RAR DEL DRIVE:

https://drive.google.com/file/d/15gd-j_Qq4IF2fHTywoaKZPV7yk2RIWD8/view?
usp=sharing

También podría gustarte