Descarga la aplicación para disfrutar aún más
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
Compartir