3. Arreglos¶
Ejercicio 3.1¶
Para cada una de las consignas siguientes, genere un algoritmo que permita solucionarla (3 algoritmos) usando un arreglo de 100 números enteros:
- Almacenar 100 números.
- Localizar el número de mayor valor y el de menor valor, informar sus valores y sus posiciones.
- Contar y sumar todos los números pares.
Ejercicio 3.2¶
Genere un único algoritmo que resuelva las 3 consignas del ejercicio anterior.
Ejercicio 3.3¶
Dados un vector de reales a de n elementos, con n ∈ N0, y un número real x >= 0, calcular el valor y tal que:
$$y = \sum_{i=1}^n (a_i \times x^i)$$
Ejercicio 3.4¶
Considerando un arreglo de 50 números enteros, confeccione un algoritmo para resolver las siguientes consignas:
- Modificar el arreglo dado, de modo que todos sus elementos sean múltiplos de 3.
- Crear otro arreglo que contenga los números que no cumplieron la condición.
- Informar cuántos números cumplieron la condición.
Ejercicio 3.5¶
Dados 2 vectores:
A: arreglo [1 .. 30] de reales
B: arreglo [1 .. 30] de reales
Ambos ordenados de forma creciente, escribir un algoritmo que realice la mezcla de ambos para obtener otro vector tambien ordenado de forma creciente
C: arreglo [1 .. 60] de reales
Ejercicio 3.6¶
Escribir un algoritmo que permita cargar un arreglo de N nombres, considerando que cada nombre debe tener entre 1 y 10 caracteres.
Ejercicio 3.7¶
Escribir un algoritmo que permita localizar un nombre en un arreglo de N nombres, ordenados alfabéticamente. Cada nombre puede tener, como máximo, 10 caracteres. Escriba por lo menos dos algoritmos que permitan solucionar el problema; especifique cuál de las formas considera más eficiente y por qué.
Ejercicio 3.8¶
Repita el ejercicio anterior, pero suponiendo que se precisa localizar todos los nombres que comienzan con una letra dada.
Ejercicio 3.9¶
Se posee un arreglo de 200 libros con el siguiente formato:
NRO_LIBRO | TITULO | AUTOR | CANT_HOJAS |
---|---|---|---|
ordenado por AUTOR y se presentan las siguientes premisas:
- Se necesita saber que libros se poseen de “Nicklaus Wirth”.
- Se necesita saber en qué posición se encuentra “Algoritmos + Estructuras de Datos=Programa”.
- Se necesita saber cual es el libro de “Nicklaus Wirth” de mayor volumen.
Ejercicio 3.10¶
Dado un arreglo de 50 elementos, cada uno de los cuales tiene los siguientes datos: Código de localidad y Lluvia caída en un año. Escribir un algoritmo que permita saber dada una localidad, cuanto llovió en el año. Aplicar el método más adecuado considerando que el arreglo esta ordenado por Código de localidad.
Ejercicio 3.11¶
Dado un arreglo de 100 elementos, que contiene la siguiente información sobre videos: Título de la película, Nombre del Director, Categoría de película, Cantidad de personas que la vieron, Alquilado (si/no); y está ordenado por el Título de la película, diseñe un algoritmo que, ingresando una categoría, liste todas las películas que pertenecen a dicha categoría.
Ejercicio 3.12¶
A partir del arreglo de videos descrito en el ejercicio anterior, diseñe un algoritmo que permita atender un pedido de alquiler, para lo cual debe verificar si es posible o no y, cuando corresponda, actualizar la cantidad de personas que vieron dicha película.
Ejercicio 3.13¶
Se precisa ordenar un arreglo de N alumnos de mayor a menor, de acuerdo a la cantidad de materias aprobadas. Cada elemento del arreglo contiene Nro. de Legajo y Cantidad de materias aprobadas. Escriba por lo menos dos algoritmos que permitan solucionar el problema; especifique cuál de las formas considera más eficiente y por qué.
Ejercicio 3.14¶
El mes que viene se realizará en Buenos Aires el desfile “Alta Moda 2018”, el cual reúne a los diseñadores más reconocidos del país. Para organizar las pasadas, se dispone de un arreglo por diseñador, con la siguiente información: nombre de el/la modelo y altura. La directora del evento necesita que se imprima cada lista ordenada de acuerdo a la altura de el/la modelo. Escribir un algoritmo que permita ingresar los datos de cada diseñador e imprimirlos de acuerdo a lo solicitado.
Ejercicio 3.15¶
Se precisa ordenar un arreglo de enteros de menor a mayor, eliminando los números repetidos
Ejercicio 3.16¶
Una empresa que comercializa una cierta cantidad de artículos diferentes desea confeccionar un ranking de ventas de los mismos, a partir de una secuencia ordenada por articulo que contiene:
NRO_ARTICULO | TIPO | CANT_VENDIDA |
---|---|---|
Escribir un algoritmo que emita el ranking deseado en orden decreciente por cantidad.
Ejercicio 3.17¶
Se precisa generar una secuencia con los datos de los 10 videos más vistos de una categoría, a partir de una secuencia de entrada de 200 registros que contiene el Título de la película, Nombre del Director, Categoría de película, Cantidad de personas que la vieron y que está ordenada por el Título de la película.
Ejercicio 3.18¶
Se precisa diseñar una agenda electrónica, donde se archivará el nombre, la dirección y el teléfono de hasta 50 personas. Diseñe un algoritmo que permita efectuar consultas, modificaciones, eliminaciones de los datos de una persona y agregados de nuevas personas (sólo será posible incorporar una persona si hay menos de 50 archivadas en la agenda). Los datos se hallan almacenados en una secuencia. Considere que la agenda siempre debe mantenerse ordenada alfabéticamente.
Ejercicio 3.19¶
Escribir un algoritmo que emita cuál es y dónde está ubicado el mayor elemento de cada fila de una matriz, e imprima un mensaje si todos los mayores se encuentran en la misma columna.
Ejercicio 3.20¶
Dadas dos matrices A y B, cuadradas, de 5 x 5, con números enteros, cargar una matriz C, de 5 x 5 teniendo en cuenta las siguientes condiciones: la diagonal principal completar con ceros, en las posiciones que están por encima de la diagonal principal, copiar los correspondientes elementos de la matriz A y en las posiciones que están por debajo de la diagonal principal, copiar los elementos correspondientes de la matriz B.
Ejercicio 3.21¶
Dada una matriz de 6 x 6 de enteros, cuya última fila y columna contienen ceros, calcular la suma de cada fila y guardar en la última celda de la misma; y la suma de cada columna y guardar en la última celda de la misma. Calcular también el total general y guardar en la posición (6,6).
Ejercicio 3.22¶
Dada una matriz cuadrada de 5 x 5 de números, sumar filas y columnas y guardar en una matriz de 2 x 5, de modo que la fila 1 contenga la suma de cada fila y la fila 2, la suma de cada columna)
Ejercicio 3.23¶
En un sector de un hospital, donde se encuentran internados 50 pacientes, se toma la temperatura de cada paciente 4 veces al día durante una semana.
Lectura | Dom | Lun | Mar | Mie | Jue | Vie | Sab |
---|---|---|---|---|---|---|---|
1 | XX | XX | XX | XX | XX | XX | XX |
2 | XX | XX | XX | XX | XX | XX | XX |
3 | XX | XX | XX | XX | XX | XX | XX |
4 | XX | XX | XX | XX | XX | XX | XX |
Se dispone de un arreglo con la información recopilada de todos los pacientes.
Construir un algoritmo que:
- Liste por pantalla las temperaturas máxima y mínima de cada paciente, indicando el día y lectura en la que ocurrieron.
- Genere un nuevo arreglo que contenga la temperatura promedio por día de cada paciente.
Ejercicio 3.24¶
Se cuenta con información acerca de los cajeros de un Supermercado, el cual se halla estructurado en 10 cajas registradoras. Dicha información está registrada en una secuencia que contiene Apellido y Nombre del empleado, número de caja que tiene asignada, importe facturado y horario de facturación; la secuencia está ordenada alfabéticamente por Apellido y Nombre. Se solicita una estadística de los importes facturados, discriminado por número de caja y franja de horas y además los montos totales, según el siguiente formato:
Cajas | 8-10 | 10-12 | 12-16 | 16-18 | 18-20 | Total x Cajas |
---|---|---|---|---|---|---|
1 | ... | ... | ... | ... | ... | ... |
.. | ... | ... | ... | ... | ... | ... |
10 | ... | ... | ... | ... | ... | ... |
Total x horas | ... | ... | ... | ... | ... | ... |
Ejercicio 3.25¶
Una Fábrica que posee 4 plantas de producción en nuestro país y compra materia prima a 3 proveedores distintos, desea realizar un control de los montos totales correspondientes a compras realizadas en cada planta durante el último año, discriminados por proveedor y por mes. Para ello dispone de un archivo con los datos de las facturas correspondientes. (Aclaración: el archivo no está ordenado por ningún criterio)
COMPRAS
- Nro_Factura
- Proveedor (A,B,C)
- Fecha dd/mm/aaaa
- Nro_Planta 1..4
- Importe
Ejercicio 3.26¶
Se dispone de un archivo secuencial de facturas de una empresa de energía eléctrica, correspondientes a un año, con el siguiente formato:
- Nro_Factura
- Nro_Usuario
- Zona
- Fecha
- Consumo
Se desea obtener un cuadro estadístico que informe los consumos y los importes totales facturados por mes discriminados por zona, con el siguiente formato:
Zona A | Zona B | Zona C | Zona D | Total por mes | |
---|---|---|---|---|---|
Enero | ... | ... | ... | ... | ... |
Febrero | ... | ... | ... | ... | ... |
... | ... | ... | ... | ... | ... |
Diciembre | ... | ... | ... | ... | ... |
Total por zona | ... | ... | ... | ... | Total General |
La ciudad está dividida en 4 Zonas (A,B,C,D), la tarifa por Kw. que cobra la empresa en cada una de ellas es: Zona A: $ 0,05, Zona B: $ 0,07, Zona C: $ 0,09 y Zona D: $ 0,13.
Ejercicio 3.27¶
Se desea efectuar una estadística de ventas. Se cuenta para ello con una secuencia de las facturas emitidas, las cuales son identificadas por un Número; dicha secuencia contiene información relativa al cliente: su Número y Zona a la cual pertenece, como así también el Tipo de mercadería entregada, la Cantidad de unidades, el total gravado, el total exento de IVA y el valor del IVA. Construya un algoritmo que emita por zona, y dentro de la zona por tipo de mercadería el total de unidades vendidas, el total gravado, el total exento y el total de IVA, y además un total general con la misma información. Hay 9 zonas y 4 tipos de mercadería.
Ejercicio 3.28¶
La Municipalidad de Resistencia desea obtener una estadística de los valores (en $) de los terrenos de la ciudad, discriminados por zona y ubicación dentro de la manzana (en esquina, interna, etc.), y los totales por zona y ubicación. El valor de cada final de cada terreno es igual a:
Valor del Terreno = Superficie terreno (en M2) * valor del M2 * coeficiente de incremento
Para ello cuenta con la siguiente información:
-
Un archivo de los terrenos con los siguientes datos:
- Nro_Terreno
- Zona
- Ubicacion
- Superficie
Zona: codificadas de A a F
Ubicación: codificada de 1 a 10 -
Un arreglo V que contiene los valores del M2 por zona.
Ejercicio 3.29¶
Dada una secuencia de texto que contiene información sobre mascotas, se desea generar un archivo de mascotas, teniendo en cuenta lo siguiente:
En el texto vienen los siguientes datos: nombre de la mascota, encerrado ente asteriscos (*), inmediatamente a continuación una palabra de tres letras que identifica el tipo de documento y separado por un blanco, 8 posiciones numéricas que corresponden al número de documento del dueño, seguidas por un símbolo numeral (#) y, a continuación, la dirección de la persona, finalizando con un signo de fin de interrogación (?). El final del texto está indicado por un símbolo de admiración (!). Se desconoce la longitud de la dirección, así como la del nombre de la mascota.
El formato del registro de salida es
Si la sigla es DNI, el tipo es 0, si dice LCE el tipo es 1, si dice LEN el tipo es 2, para PAS es 3, para cualquier otra cadena de letras el tipo es 4.
Al final del proceso informar cuantos registros se grabaron en el archivo de salida.
Ejercicio 3.30¶
Teniendo en cuenta el ejercicio 1.20 del TP2:
Se posee 2 secuencias (S1 y S2) con las cuales se desea generar una nueva secuencia (SAL) donde se intercalen las palabras de las secuencias de entrada, de la siguiente manera: copiar de S1 aquellas palabras que empiezan y terminan con la misma letra y de S2 aquellas palabras que posean al menos un digito numérico y además estén en posición par.
Escribir un algoritmo que lo resuelva, considerando que las palabras tienen como máximo 10 caracteres.
Ejercicio 3.31¶
Se lleva a cabo una encuesta a fin de anticipar los posibles porcentajes de votos que obtendrán cada uno de los 4 partidos políticos de mayor peso en las elecciones. Los datos solicitados a los encuestados son: partido al que Algoritmos y Estructuras de Datos 2019 votara, edad, sexo y partido al que votó en las elecciones anteriores. Las respuestas se tabulan de acuerdo a los siguientes criterios:
- Partidos: P1, P2, P3, P4, Otro, En Blanco, Indeciso
- Edad: 18-25, 26-35, 36-45, 46-55, 56-65, +65
- Sexo: Femenino, Masculino
Diseñe un algoritmo que, utilizando un arreglo de 4 dimensiones (partido al que votara, edad, sexo , partido al que votó), permita responder a las siguientes consultas:
- Cantidad de personas de cierta edad que votarán a un Partido dado.
- Cantidad de personas de un sexo dado que votarán a un determinado Partido.
- Cantidad de personas de cierta edad que votaron a un determinado Partido y actualmente votarán a otro Partido dado.
- Cantidad de personas de un sexo dado que votaron a un determinado Partido y actualmente votarán a otro Partido dado.
Ejercicio 3.32¶
La municipalidad posee un archivo secuencial con los datos de todos los estacionamientos realizados en el mes de Octubre de 2018
ESTACIONAMIENTOS
FECHA: fecha | PATENTE: AN(7) | HoraDesde: N(2) | HoraHasta: N(2) | Posta: 1..100 |
---|---|---|---|---|
El costo es por multiplos de 1 hora. El costo por hora se calcula considerando la franja horaria del estacionamiento (siempre tomar el mayor costo), las franjas horarias son:
- de 00 a 06: costo por hora $9
- de 07 a 13: costo por hora $14
- de 14 a 19: costo por hora $12
- de 20 a 23: costo por hora $6
Ejemplo: si una persona estaciona desde las 5 hasta las 10, son 6 horas de estacionamiento (10 - 5 + 1) y como se encuentra en dos franajas horarias se tiene que tomar la de mayor costo ($14 por hora). Por lo tanto el importe generado es 14 x 6 = 84. (NOTA a efectos de simplificar los calculos, solo calcular el costo de la franja horaria con respecto a la hora desde y la hora hasta).
Se pide realizar un algoritmo que permita determinar:
- Posta con mayor importe generado
- Día con mayor cantidad de estacionamientos.
- En qué día y en que posta se generó la mayor cantidad de estacionamientos
Otras Preguntas:
- ¿Es posible calcular cual fue la zona horaria con mayor cantidad de estacionamientos? En caso de ser posible, realizar el algoritmo.
- ¿Es posible determinar la cantidad maxima de permanencia que tienen los autos estacionados? En caso de ser posible, realizar el algoritmo.