0% encontró este documento útil (0 votos)
37 vistas8 páginas

UNIDAD 3 Datos

El documento describe una actividad práctica sobre estructuras de datos, enfocándose en la implementación de un sistema de control de turnos utilizando listas enlazadas, pilas y colas. Se requiere que los estudiantes desarrollen un programa en Java que permita generar, asignar y eliminar turnos, además de mostrar los turnos en espera. Se incluye un menú interactivo para facilitar la gestión de estas operaciones.
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 PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
37 vistas8 páginas

UNIDAD 3 Datos

El documento describe una actividad práctica sobre estructuras de datos, enfocándose en la implementación de un sistema de control de turnos utilizando listas enlazadas, pilas y colas. Se requiere que los estudiantes desarrollen un programa en Java que permita generar, asignar y eliminar turnos, además de mostrar los turnos en espera. Se incluye un menú interactivo para facilitar la gestión de estas operaciones.
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 PDF, TXT o lee en línea desde Scribd

UNIDAD 3

Actividad práctica aplicada

Camilo Andres Cantor Martinez

LUISA FERNANDA CAJAMARCA RODRIGUEZ

U. Compensar
Ingeniería De Sistemas
ESTRUCTURA DE DATOS

2025
Etapa De Transferencia

En esta etapa se abordarán los conceptos primordiales las estructuras de datos, como
Listas circulares simplemente enlazadas y doblemente enlazadas, aplicación de pilas y
colas, del cual se requiere que el estudiante tenga dominio en el momento de aplicar estos
fundamentos, para que así los pueda poner en práctica, cuando necesite realizar un
programa al manejar grandes cantidades de datos utilizando las estructuras mencionadas.

Actividad

1. En esa actividad el estudiante debe crear un programa utilizando listas enlazadas,


concepto de pila o cola utilizando listas dinámicas:

a. En la universidad compensar, se requiere un desarrollo a la medida para el control de turnos al solicitar


asesoría en la universidad. Los requerimientos para el software es que se pueda realizar las siguientes
operaciones:

i. Cuando se pida un nuevo turno se debe generar un código y


asignarlo a la lista.
ii. Poder asignarle el turno a un operario de asesoría
iii. Eliminar el turno cuando ya se encuentre atendido.

b. Para esta actividad se deben utilizar estructuras de datos de listas, pilas y


colas.

c. Se debe crear un menú utilizando la sentencia switch.


Actividad 01

A continuación, voy a colocar los pantallazos del código según lo especificado para la actividad
TX

import [Link];
import [Link];
import [Link];

public class ControlTurnos {

static Queue<String> colaTurnos = new LinkedList<>();


static int contadorTurnos = 1;

public static void main(String[] args) {


Scanner scanner = new Scanner([Link]);
int opcion;

do {
[Link]("\n=== MENÚ CONTROL DE TURNOS ===");
[Link]("1. Generar nuevo turno");
[Link]("2. Asignar turno a operario");
[Link]("3. Eliminar turno atendido");
[Link]("4. Mostrar turnos en espera");
[Link]("5. Salir");
[Link]("Seleccione una opción: ");
opcion = [Link]();
[Link](); // Limpiar buffer

switch (opcion) {
case 1:
generarTurno();
break;
case 2:
asignarTurno();
break;
case 3:
eliminarTurno();
break;
case 4:
mostrarTurnos();
break;
case 5:
[Link]("Saliendo del sistema...");
break;
default:
[Link]("Opción inválida. Intente de nuevo.");
}

} while (opcion != 5);

[Link]();
}

// Generar nuevo turno


public static void generarTurno() {
String turno = "T" + contadorTurnos++;
[Link](turno);
[Link]("Turno generado: " + turno);
}

// Asignar turno (mostrar el primero en cola)


public static void asignarTurno() {
if ([Link]()) {
[Link]("No hay turnos en espera.");
} else {
[Link]("Turno asignado al operario: " + [Link]());
}
}

// Eliminar turno (quitar el primero en cola)


public static void eliminarTurno() {
if ([Link]()) {
[Link]("No hay turnos por eliminar.");
} else {
[Link]("Turno atendido y eliminado: " + [Link]());
}
}

// Mostrar todos los turnos en espera


public static void mostrarTurnos() {
if ([Link]()) {
[Link]("No hay turnos en espera.");
} else {
[Link]("Turnos en espera: " + colaTurnos);
}
}
}
C:\Program Files\Eclipse Adoptium\jdk-[Link]-hotspot\bin\[Link]" "-javaagent:C:\Program
Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.1\lib\idea_rt.jar=5[Link]\Program
Files\JetBrains\IntelliJ IDEA Community Edition 2024.1.1\bin" -[Link]=UTF-8 -
[Link]=UTF-8 -[Link]=UTF-8 -classpath "C:\Users\CAMILO
CANTOR\IdeaProjects\Controlturnos\out\production\Controlturnos" ControlTurnos

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 1
Turno generado: T1

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 2
Turno asignado al operario: T1

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 4
Turnos en espera: [T1]

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 1
Turno generado: T2

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 2
Turno asignado al operario: T1

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 4
Turnos en espera: [T1, T2]

=== MENÚ CONTROL DE TURNOS ===


1. Generar nuevo turno
2. Asignar turno a operario
3. Eliminar turno atendido
4. Mostrar turnos en espera
5. Salir
Seleccione una opción: 5
Saliendo del sistema...

Process finished with exit code 0

También podría gustarte