Ejercicios Cadenas
1.- Medicamentos
Una distribuidora de medicina ha estado teniendo muchas devoluciones últimamente debido a
que los productos que están siendo despachados a sus clientes tienen una fecha de
vencimiento muy próxima, por lo cual la gerencia ha decidido realizar un estudio acerca del
estado actual del inventario. Para esto se ha levantado información como fechas de
vencimiento de los productos, numero de lotes y costos de inventario asociados. Con esta
información se solicita la siguiente información:
a)Desarrollar un subprograma que indique la cantidad de lotes que están por vencer este año.
b)Desarrollar un programa que determine el costo de la mercadería que esta por vencer este
año.
c) Adicionalmente se sabe que el lote esta codificado de la siguiente manera: XX10293023843,
en donde los 2 primeros valores son las categorías de productos que representan los
siguientes valores:
AN: Antibioticos
MU: Mucoliticos
LA: Laxantes.
Determinar, que el nombre de la categoría representa el mayor valor en dinero en almacén.
2.- Encuestadora.
La encuestadora Datitos desea realizar un programa que le permita analizar ciertos datos de
una población. Para esto ha recolectado una base de datos que le permitirá realizar esta labor
con su ayuda.
Se tienen 4 arreglos que contienen los siguientes datos: nombre, edad, sexo, documentos
Se pide:
Determinar la cantidad de hombres cuya edad sea mayor a 40.
Dado el número de DNI, obtener el nombre de dicho ciudadano.
Dado un nombre, determinar cuántos homónimos tiene dicho ciudadano.
Determinar cuántos ciudadanos tienen la coincidencia de que su edad se encuentre en alguna
parte de su número de documento.
Por ejemplo si un ciudadano tiene su número de documento 42264954 y tiene 26 años,
entonces cumple con la condición de coincidencia.
3.- Aerolínea
Una conocida aerolínea necesita contar con un programa que le permita gestionar información
acerca del estado de los asientos de cada uno de sus vuelos. Para esto, se cuenta con 2
arreglos: el primer arreglo contiene el número de asientos que tiene el vuelo, y el segundo
contiene el estado de cada uno de los asientos (O = ocupado, D = desocupado).
Se requiere lo siguiente:
1. Subprograma que obtenga la cantidad de asientos disponibles.
2. Subprograma que devuelva la lista de asientos que se encuentran disponibles.
3. Subprograma que devuelva el número del primer asiento disponible. En caso no exista
asiento disponible devolver cero.
4. Subprograma que devuelva el número del último asiento disponible. En caso no exista
asiento disponible devolver cero.
5. Subprograma que devuelva el porcentaje de asientos disponibles.
4.- Cifrado
El cifrado por desplazamiento, es una de las técnicas de codificación de textos más simples y
usados. Es un tipo de cifrado por sustitución en el que una letra en el texto original es
reemplazada por otra letra que se encuentra un número fijo de posiciones más adelante en el
alfabeto.
Por ejemplo, con un desplazamiento de 3 posiciones, la A sería sustituida por la D (situada 3
lugares a la derecha de la A), la B sería reemplazada por la E, etc. Se supone que el alfabeto
es circular de modo que, a todos los efectos, a continuación de la Z comienzan de nuevo las
letras A, B, C, etc.
Se propone que programe los siguientes subprogramas:
1. Subprograma que reciba una letra y que devuelva la letra que corresponda a aplicar una
determinada posición de desplazamiento.
2. Subprograma que reciba el texto a cifrar y devuelva como resultado el texto cifrado.
Debe tener en cuenta que sólo se codifican los caracteres correspondientes a las letras del
alfabeto, el resto de caracteres (espacios en blanco, signos de puntuación, etc) permanecerán
inalterados.
Ejemplo: Si el texto a codificar es: “UN TEXTO” y la clave es 3 resultará “XQ WHAWR”
5.- Repuestos
Existe un reporte en la empresa REPUESTOS IQUITOS S.A. con la siguiente información:
VENTAS
Código Descripción 2010 2011
RMF8IX1 Radiador 1250.21 2501.20
KRC90Z1 Bomba de petróleo 1250.52 1351.21
HYN9M90 Filtro de aceite 3125.25 4254.25
IIU90881P Cadena de distribución 6512.52 5524.25
Se le pide que implemente los siguientes subprogramas para determinar lo siguiente:
a) ¿Cuál es el código del repuesto más vendido en el año 2011?
b) ¿Qué repuesto (indicar descripción), es aquel que disminuyó sus ventas entre los años 2010
y 2011? (si son más de uno indicar el último de ellos).
c) ¿Cuál es la variación de incremento o disminución (expresado en porcentaje) entre las
ventas totales de repuestos entre los años 2010 y 2011?
6.- Sueldos
Una empresa cuenta con la información de los sueldos de sus empleados los mismos que
están asociados a sus nombres. La empresa tiene la urgencia de conocer lo siguiente:
-Un subprograma que reciba como parámetro el nombre de los empleados y otro con los
sueldos de cada uno. Se debe determinar quién es el empleado que gana más en la empresa.
-Un subprograma que reciba como parámetro el nombre de los empleados y otro con los
sueldos de cada uno. Se debe determinar quién es el empleado que gana menos en la
empresa.
-Un subprograma que reciba como parámetro los sueldos de los trabajadores y nos retorne el
promedio de todos los sueldos.
-Un subprograma que reciba como parámetro los sueldos de los trabajadores y nos retorne el
total de los sueldos.
7.- Focus Group
Una empresa desea conocer la opinión del público sobre sus productos que son quesos de
cinco tipos: Parmesano, Gouda, Edam, Fresco y Azul. Por ello quiere una aplicación que le
permita procesar los datos. A los asistentes se les da unas encuestas donde marcan sus
preferencias en un nivel del 1 al 5 donde se ha definido:
Nivel Definición
1 No lo compraría
2 Lo compraría muy poco
3 Lo compraría rara vez
4 Lo compraría a veces
5 Lo compraría siempre
Se le pide lo siguiente:
- Desarrollar un subprograma que determine ¿qué quesos tienen clasificación de 5?
- Desarrollar un subprograma que determine ¿qué porcentaje de quesos está por sobre 3 en
el puntaje?
- Desarrollar un subprograma que permita buscar el nivel de un queso específico.
8.- Sobre uso de celular
Se ha determinado que el uso de mb para enviar datos se va a manejar según los siguientes
montos:
Consumo (mb) Soles / mb
Primeros 100mb 0.15
De 101 a 500 mb 0.20
De 501 a 1000 mb 0.35
Más de 1000 mb 0.80
Los montos se incrementan según la cantidad de mb usados. Si por ejemplo uso 80 mb
entonces pago:
80*0,15
Pero si consumo 110 entonces pago los primeros 100 a 0.15 y los siguientes 10 a la tarifa
siguiente que serían 0.20 soles lo que daría como resultado.
100 * 0.15 + 10 * 0.20
Se pide lo siguiente:
1. Subprograma que dada una determinada cantidad de mb (consumo), devuelva el
costo/mb.
2. Subprograma que calcule el monto total a pagar.