Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Laboratorios de computación
salas A y B
.
Profesor:
Asignatura:
Grupo:
No de Práctica(s):
Integrante(s):
No. de Equipo de
cómputo empleado:
Fecha de entrega:
Observaciones:
✔ A2-CD2: determinar el proceso de diseño más adecuado para alcanzar los requerimientos indicados
La práctica cubre los siguientes resultados de aprendizaje para la certificación europea ANECA:
1. Reconocimiento y comprensión de las ciencias básicas y de las disciplinas de la ingeniería
2. Análisis en ingeniería. Capacidad de identificar, formular y resolver problemas de ingeniería.
Capacidad de analizar productos, procesos y sistemas complejos.
3. Investigación e innovación. Capacidad para realizar búsquedas, consultas y fuentes de información.
4. Aplicación práctica de la ingeniería.
Objetivos
Comprender el uso de la estructura de datos pila y cola
Actividades
1) El alumno experimentará el uso de los métodos que ofrecen las pilas para resolver problemas de
naturaleza recursiva.
2) Desarrollar la habilidad para implementar una estructura cola
Introducción
**apuntes de la clase en plataforma
Desarrollo de la práctica
Ejercicio 1. Escribir un programa que implemente la funcionalidad de una estructura cola estática. Para
ello debe completar el código faltante de los archivos:
● Cola.h
● Cola.c
● Main_cola.c
● Menú.h
● Menu.c
a) Analizar el archivo cola.h que contiene:
i. La estructura Cola, con los siguientes datos:
✔ h
✔ t
✔ max
ii. Los prototipos de las funciones
o void insertar(int dato, Cola *cola);
o int borrar(Cola *cola);
Funciones auxiliares:
o Cola *crearCola(int max);
o int validarEspacio(Cola cola);
o int validarVacio(Cola cola);
o void listar(Cola cola);
Ejercicio 2. Escribir un programa que implemente la funcionalidad de una estructura pila estática. Para ello
debe completar el código faltante de los archivos:
● Pila.h
● Pila.c
● Main_ Pila.c
● Menú.h
● Menu.c
e) Analizar el archivo Pila.h que contiene:
i. La estructura Pila, con los siguientes datos:
✔ arrPila
✔ max
✔ tope
ii. Los prototipos de las funciones
o void push(Pila *pila, int dato);
o int pop(Pila *pila);
Funciones auxiliares:
o Pila *crearPila(int max);
o int pilaVacia(Pila *pila);
Ejercicio 3. Escribir un programa que lea un número N de enteros, los almacene en una pila y realice la
suma de estos.
Ejemplo:
PIL PIL
A PILA PILA PILA A
4 2 4 4 4 4
3 4 3 6 3 3 3
2 8 2 8 2 14 2 2
1 1 1 1 1 1 1 15 1
0 3 0 3 0 3 0 3 0 18
RESULTADO: 18
Salida del programa:
Deberá utilizar por lo menos una pila. PREFERENTEMENTE TODO EL PROCESO IMPLEMENTARLO
CON PILAS
Ejercicio 5. Escribir un programa que determine si una expresión está bien balanceada o equilibrada
a) Leer una expresión del teclado que contiene paréntesis anidados y no anidados
b) Para determinar si una expresión esta equilibrada. Deberá de determinar si los paréntesis tienen su
apertura y correcto cierre. Para ello deberá de hacer uso de una pila, NO deberá de contar los
paréntesis.
c) Agregar los siguientes tipos de paréntesis (,),[,],{,} y <,>
d) Para determinar si una expresión esta equilibrada para todos los tipos de paréntesis usados.
Deberá de determinar si todos los tipos de paréntesis usados tienen su apertura y correcto cierre.
Para ello deberá de hacer uso de una pila, NO deberá de contar los paréntesis.
Ejercicio 6. Implementar una calculadora con notación polaca para números de un dígito.
Ejercicio 7. Implementar una calculadora con notación polaca para números de más de un dígito.
Reflexión del alumno (Esta es una actividad de reflexión para el alumno, donde deberá de realizar una
conclusión identificando áreas de oportunidad para fortalecer el conocimiento que le hace falta)
Evaluación: