Logo Studenta

Estructuras de Datos Primitivas

¡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 
TALLER N°1: ESTRUCTURAS DE DATOS PRIMITIVAS Y SIMPLES 
 
Nombre de la Asignatura: Estructura de Datos I. 
Módulo 1: Estructuras de Datos Fundamentales y métodos de ordenamiento y 
búsquedas Capítulo 1: Estructura de Datos Fundamentales. 
Docente Responsable: Yolanda de Miguelena. 
Fecha de Asignación: Semana 6. 
Objetivo: Conocer los diferentes tipos de estructuras de datos (primitivas, 
estructuradas, lineales y dinámicas lineales) en el desarrollo de un problema. 
Recursos: Plataforma virtuales de apoyo académico, Internet, Computador. 
Instrucciones: 
▪ Resolver en grupo de 3-4 estudiantes. Para obtener nota es necesario 
 estar presente en el salón de clase para el desarrollo del taller. 
▪ El trabajo debe ser entregado a través de la plataforma Moodle en 
http://ecampus.utp.ac.pa/moodle/ en un archivo con Formato pdf. Solo lo 
sube uno (1) del grupo). 
▪ El archivo con formato pdf sólo debe tener lo siguiente: 
▪ Hoja de presentación. 
▪ Cada problema con sus respuestas. 
Rúbrica: 
 
Este Taller tendrá una puntuación total de 100, donde la evaluación se basa en 
los aspectos de: No cumple (1), Cumple con menos de la mitad (2), Cumple 
con más de la mitad (3) y Cumple en su totalidad (4). Los puntos que se 
evaluará en la rúbrica se muestran en la tabla: 
 
 
 
 
 
 
 
 
 
 
 
 
Enunciados 
Ruben Rivera 8-1003-856 
Omar Sánchez 8-974-1976 
Michael Aparicio 8-1011-1944 
 
Problema N. 1 
 
1. Operaciones con cadenas. Utilizar el contenido asignado a cada campo y 
realizar las operaciones con cadenas especificado en cada ítem. 
 
L = “Esto es un Taller de Cadenas” 
C = “El Canal de Panamá es de todos los panameños” 
Cad1= “Ana María” 
Cad2= “Alcalá” 
 
✓ CAN = Longitud (L) CAN = _28_ 
✓ Coloque la operación para unir en una cadena llamada Cad3 a Cad2 y 
Cad1. 
 Cad1=”Ana María” 
 Cad2=”Alcalá” 
 Cad3= cad1+cad2 
 Cad3= “Ana MaríaAlcalá” 
 
Problema N. 2 
 
De acuerdo con la siguiente figura, realice lo siguiente: 
 
1. Identifique cuántos arreglos hay, el total de elementos y de qué tipo son. 
R= 3, 10, cadena, entero, entero. 
 
2. Declare en seudocódigo cada uno de los arreglos identificados. 
Arreglo.nombres[1...10]; 
Arreglo.edades[1...10]; 
Arreglo.sueldos[1...10]; 
 
3. Sin realizar ningún algoritmo ni programa, calcule el promedio de edades 
y sueldos. Promedio Edades _33_ Promedio Sueldos _3384_ 
 
4. Coloque los valores cuando se imprime Nombres[6] __Carla__, 
Edades[6] _45_ y Sueldos[6] _6000_ 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
Problema N. 3 
Se tiene 4 arreglos (vector): Nombre (A), Parciales (B), Final (C) y Mejoras (D) 
con las calificaciones de 5 alumnos. Se solicita crear un nuevo arreglo que tenga 
el Promedio de cada alumno (E). Además, se debe crear un segundo arreglo que 
indique si el alumno aprobó (F), considerando que debe tener más de 14 puntos 
de 20 para aprobar. 
Nota: Validar que las notas sean ingresadas por el usuario y que esté en el rango 
de 0 a 20. 
De acuerdo con el enunciado dado, sólo debe desarrollar lo que a continuación 
se le solicite: (No tiene que desarrollar ningún algoritmo ni programa) 
1. Dibuje los arreglos. 
2. Declare los arreglos utilizando el formato de la clase (seudocódigo). 
3. Para los arreglos A, B, C y D coloque valores a cada uno de ellos de 
acuerdo con su tipo de datos y para cada uno de los 5 alumnos. 
A B C D E F 
Alexander 14 15 1 15.0 C 
Omar 15 17 1 16.5 C 
Michael 10 11 4 12.5 F 
Ruben 9 13 1 11.5 F 
Ruth 18 19 1 19.0 D 
Cadena A[5]; 
Entero B[5]; 
Entero C[5]; 
Entero D[5]; 
Flotante E[5]; 
Booleano F[5]; 
 
 
 
 
Problema N. 4 
Se tiene 10 alumnos, donde cada uno tiene 5 notas y se solicita que se obtenga 
el promedio de las 5 notas para cada alumno. Se deberá imprimir todos los 
alumnos que obtuvieron un promedio mayor a 90. Además, se cuenta con un 
arreglo que contiene los nombres de los alumnos. 
De acuerdo con el enunciado dado, sólo debe desarrollar lo que a continuación 
se le solicite: (No tiene que desarrollar ningún algoritmo ni programa.) 
 
a) Defina y dibuje los arreglos. 
Nombres nota1 nota2 nota3 nota4 nota5 
 
 
 
 
 
 
 
 
 
 
 
b) Declare los arreglos utilizando el formato del material de la clase 
(seudocódigo). 
cadena.nombres[1...10]; 
flotante.nota1[1...10]; 
flotante.nota2[1...10]; 
flotante.nota3[1...10]; 
flotante.nota4[1...10]; 
flotante.nota5[1...10]; 
 
Problema N. 5 
1. Una Empresa de automóviles utiliza un Arreglo llamado Auto para almacenar 
el número de Autos vendidos desde el año 1962 hasta el 2020. En este caso 
debe utilizar los años como índice. 
a) Represente gráficamente el arreglo (Muestre los índices). 
Autos 
1 1962 
2 1963 
3 1964 
 …… 
58 2020 
 
b) Calcular el Número de celdas (utilice la fórmula). 
numero de celdas (cs-ci+1) 
 
 
 
 
numero de celdas (58-1+1) 
numero de celdas (58) 
 
2. Con las siguientes declaraciones de arreglos (Unidimensional), realice lo 
siguiente: 
✓ V = Arreglo [‘i’..’n’ ] entero Tamaño = 5 Base = 200 
✓ Vec = Arreglo [ -8 .. 7] entero Tamaño = 1 Base = 50 
 
a) Represente gráficamente el arreglo (Muestre los índices). 
1 2 3 4 5 6 
i j k l m n 
 
 
 
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 
-8 -7 -6 -5 -4 -3 -2 -1 0 1 2 3 4 5 6 7 
 
b) Calcular el Número de celdas para ambos arreglos (utilice la fórmula). 
 
numero de celdas V=(cs-ci+1) 
numero de celdas V=(6-1+1) 
numero de celdas V=(6) 
 
 
numero de celdas Vec=(cs-ci+1) 
numero de celdas Vec=(16-1+1) 
numero de celdas Vec=16 
 
c) Calcular el total de bytes en memoria para el vector Vec (utilice la fórmula). 
numero de bytes Vec=(cs-ci+1)tamaño 
numero de bytes Vec=(16-1+1)1 
numero de bytes Vec=(16)1 
numero de bytes Vec=16 
 
d) Calcule la dirección Vec [2] (utilice la fórmula). 
dirección Vec [2] = base+(ord(indice)-ord(ci))*tamaño 
dirección Vec [2] = 50+(2-1)*1 
dirección Vec [2] = 51 
 
Problema N. 6 
 
Para cada uno de los diagramas (1 y 2) que representa la estructura tipo registros 
indique: 
 
a) Tipo de registro (Registro simple, Registro con arreglo, arreglo de 
registro). 
 
 
 
 
b) Declare el registro de acuerdo con el formato dado en clase. 
c) Acceder a cada campo del registro. 
 
1. Registro de Vuelos 
 
a) Registro simple 
 
b) Registro_Vuelo{ 
 nombre: cadena, 
 n-vuelo: entero, 
fecha: cadena, 
 n-asiento: entero, 
 costo-pasaje: real, 
 origen: cadena, 
 destino: cadena} 
 Fin_Registro 
 
c) Registro_Vuelo.nombre; 
Registro_Vuelo.n-vuelo; 
Registro_Vuelo.fecha; 
Registro_Vuelo.n-asiento; 
Registro_Vuelo.costo-pasaje 
Registro_Vuelo.origen; 
Registro_Vuelo.destino; 
 
 
2. Registro de Vendedores 
 
 
a) Registro con arreglo 
 
b) Registro_Vendedores{ 
Codigo: cadena, 
Nom: cadena, 
Venta: arreglo[1...7] real, 
} Fin_Registro 
 
 c) Registro_Vendedores.codigo; 
 Registro_Vendedores.nom; 
Registro_Vendedores.venta[1..7]real; 
 
 
 
 
 
Problema N. 7 
 
Se tiene el siguiente método que elimina un dato en un arreglo unidimensional. 
Realice las pruebas de escritorio para cada situación y responda a las 
indicaciones. Para cada prueba debe utilizar el mismo vector. 
 
 
 
ELIMINA_SECNOORDEN (V, n, X) 
 
 i = 1 
 Mientras (i <= n) ‘y’ (X ≠ V [i]) 
 i = i + 1 
 Fin_Mientras 
 Si (i > n) 
 Entonces 
 Imprimir (“El elemento no se encuentra en el arreglo”) 
 Sino 
 Para (k = desde i hasta (n – 1), +1) 
 V[k]= V [k + 1] 
 Fin_Para 
 n = n – 1 
 Fin_Si 
Retornar 
 
(Agregue filas si necesita) 
 
 
 
 
 
 
 
 
 
 
Algoritmo que elimina un elemento que se 
encuentra en el arreglo no ordenado. 
 
V: nombre del vector. 
n: Cantidad de elementos almacenados en el 
vector. 
i, k: variables (índices). 
 
 
 
 
Prueba de Escritorio N. 1 
 
✓ Desarrolle la prueba de escritorio, con las condiciones de: X = “A” y n = 10. 
Prueba de escritorio 
x lim n i V[i] k V[k] V[k+1] 
V 
resultante 
‘A’ 10 10 1 ‘T’ 
 2 ‘M’ 
 ... 
 11 
 
✓ Al finalizar la prueba de escritorio responda a lo siguiente: 
 1. Declare el vector con el formato dado. Caracter V[10] 
 2. ¿Cuál es el valor de n, al terminar? 10 
 3. ¿Cambió el valor de n? No 
 4. ¿Qué mensaje se imprimió? El elemento no se encuentra en el arreglo 
 5. Dibuje el vector al final de la prueba de escritorio. 
 
 
 
 i = 1 
 Mientras (i <= n) ‘y’ (X ≠ V [i]) 
 i = i + 1 
 Fin_Mientras 
 Si (i > n) 
 Entonces 
 Imprimir (“El elemento no se encuentra en el arreglo”) 
 Sino 
 Para (k = desde i hasta (n – 1), +1) 
 V[k] = V [k + 1] 
 Fin_Para 
 n = n – 1 
 Fin_Si 
Retornar 
 
 
 
 
 ¨ 
✓ Realice la prueba de escritorio cuando X = “C” y n = 10 
Prueba de Escritorio N. 2 
Prueba de escritorio 
x lim n i V[i] k V[k] V[k+1] 
V 
resultante 
‘C’ 10 10 1 ‘T’ 
 2 ‘M’ 
 3 ‘G’ 
 4 ‘J’ 
 5 ‘R’ 
 6 
INICIA EL CICLO PARA(k=6, k=9, k++) 
 6 ‘C’ 6 V[k(6)]=’C’ V[k(6)+1]=’N’ V[6]=’N’ 
 ‘N’ 7 V[k(7)]=’N’ V[k(7)+1]=’P’ V[7]=’P’ 
 ‘P’ 8 V[k(8)]=’P’ V[k(8)+1]=’K’ V[8]=’K’ 
 ‘D’ 9 V[k(9)]=’K’ V[k(9)+1]=’D’ V[9]=’D’ 
 9 
 
✓ Dibuje el vector al final de la prueba de escritorio. 
 
1 T 
2 M 
3 G 
4 J 
5 R 
6 N 
7 P 
8 K 
9 D 
10 
✓ Al finalizar la prueba de escritorio, responda: 
1. ¿Con qué valor sale i? _1__ 
2. ¿Cuál es el valor inicial de k, al iniciar el ciclo? __6____ 
3. ¿La condición del ciclo de k, será? k hasta (n – 1) 
4. ¿Cuántas veces se realiza el ciclo? _ Para 4 veces__ 
5. ¿Cuántos elementos válidos quedan en el vector? _1__ 
6. ¿Cuál es el valor final de n? ___9____ 
 
 
Powered by TCPDF (www.tcpdf.org)Powered by TCPDF (www.tcpdf.org)
http://www.tcpdf.org

Continuar navegando