Está en la página 1de 5

GUIA N02

Arreglos Unidimensionales

Desarrolle los algoritmos para los siguientes problemas, e indique sus especificaciones.

1) Calcular el valor promedio de un arreglo A de n números.

2) Calcular la cantidad de números pares presentes en un arreglo A de n números


enteros.

3) Determinar el máximo elemento de un arreglo A de n números.

4) Determinar el máximo elemento y el mínimo elemento de un arreglo A de n


números.

5) Sean A y B dos arreglos de N números. Se dice que:


● A = B si ∀ i=1 , n el i-ésimo elemento de A es igual al i-ésimo elemento de B.

● A < B si ∀ i=1 , n el i-ésimo elemento de A es menor al i-ésimo elemento de B.

● A > B si ∀ i=1 , n el i-ésimo elemento de A es mayor al i-ésimo elemento de B.


Escriba un algoritmo que retorne:
● el valor 1 si A = B

● el valor 2 si A < B

● el valor 3 si A > B

● el valor 0 si no se cumple ninguna de las condiciones anteriores.

6) Suponga que A y B son dos arreglos que contienen M y N números enteros


respectivamente ordenados en forma ascendente. Escriba un algoritmo que
permita mezclar A y B en un arreglo C con sus elementos ordenados en forma
ascendente.

7) El departamento de personal de una escuela cuenta con la información de


nombre, sexo y edad de cada uno de los N profesores de la escuela; dicha
información se encuentra ordenada respecto al nombre.
Escriba un algoritmo que calcule y muestre lo siguiente:
a) Edad promedio del grupo de profesores.
b) Nombre del profesor más antiguo de la escuela.
c) Considerando que no hay nombres repetidos, escriba un algoritmo que
muestre la edad del profesor o profesora con nombre M.

Nota: Considere que la información de los N profesores se encuentra en tres


arreglos unidimensionales.

Página 1 de 5
8) En un arreglo unidimensional llamado NOTAS se almacenan las notas de los n
alumnos de un curso. Se desea saber cuántos de ellos obtuvieron una calificación
superior al promedio del curso. Escriba el algoritmo para esta operación.

9) A partir de un arreglo llamado X de 50 elementos enteros, crear y mostrar:


a) Otro arreglo DX tal que el primer elemento sea la diferencia entre el segundo y
el primer elemento de X, el segundo elemento de DX sea la diferencia entre el
tercero y el segundo de X y así sucesivamente.
b) Idéntico al apartado (a) pero sobre sí mismo, o sea sin generar un arreglo DX.
Desarrolle un algoritmo para cada caso.

10) Sea A un arreglo unidimensional de 30 elementos enteros, escriba un algoritmo


que permita invertir sus elementos. Es decir, colocar el primer elemento en el
último lugar y el último en el primero, el segundo en el penúltimo y éste en el
segundo, y así sucesivamente.
a) Hacerlo sobre otro arreglo
b) Hacerlo sobre sí mismo.

11) En estadística, la moda de una serie de números es aquel número que aparece con
más frecuencia. Por ejemplo, dada la lista 1,2,2,3,6,4,7,5,4,6,9,4, la moda es 4, ya
que aparece tres veces.
Considere que la serie de números se encuentra almacenados en un arreglo
unidimensional de n elementos llamado M, escriba un algoritmo que calcule e
imprima la moda. Si todos los números son diferentes entonces no hay moda,
indique un mensaje al respecto.

12) El videojuego XYZ tiene una dinámica de juego bastante sencilla. Se enfrentan 2
jugadores, cada uno de ellos elige un conjunto de personajes y forma un equipo,
cada personaje tiene un determinado poder de pelea. Los encuentros se realizan
en orden, es decir, el primer personaje de jugador1 se enfrenta con el primer
personaje de jugador2, luego se enfrentan los segundos y así sucesivamente. Debe
tomar en cuenta que tanto el personaje que gana como el que pierde deben salir y
dar paso a los siguientes. El jugador que tenga una mayor cantidad de encuentros
ganados se quedará con la partida.

Implemente un programa que reciba 2 arreglos, cada una de ellos con el poder de
pelea de los personajes elegidos por cada jugador y pueda “predecir” quién será
el ganador. En principio, si un personaje tiene mayor poder de pelea que otro, es
altamente probable que gane la partida, por lo que nuestra predicción seguirá esa
lógica.

Ejemplo:

poderes_j1 = {100, 150, 220}


poderes_j2 = {90, 240, 624}
Salida: Jugador2 sería el ganador.

Página 2 de 5
En este caso, la primera partida la ganaría jugador1 (100 > 90), la segunda y la
tercera serían ganadas por jugador2, por lo que el programa declara ganador a
jugador2.

13) Los tipos de trámite que pueden ser realizados en una institución pública se
encuentran numerados desde 1 hasta n. Los tiempos promedio de duración en
minutos para la atención de cada tipo trámite se encuentra almacenados en un
arreglo T (de tamaño n).

Implemente un programa que reciba el arreglo T, un arreglo L que contiene todos


los trámites que se encuentran pendientes de atención (cada elemento de L
corresponde a un código de tipo de trámite) y un tiempo t1 en horas que
representa el tiempo que tenemos hasta el cierre del establecimiento.
El programa debe mostrar en pantalla cuántas personas no podrán ser atendidas
en el tiempo que se tiene disponible tomando en cuenta los tiempos promedio
dados como dato. Considere que es posible que algunas atenciones finalicen fuera
del horario establecido, pero ninguna atención puede iniciar fuera de dicho rango.
Ejemplo:
n = 3, t1 = 2
T = {60, 20, 30}
L = {1, 1, 2, 2, 3}

Respuesta: No será posible atender a 3 personas.

Explicación:
De la lectura de los datos podemos concluir lo siguiente: son 3 trámites que
realiza este establecimiento (n = 3) y tenemos 2 horas hasta el cierre del
establecimiento (t1 = 2).
El tipo de trámite 1 demora en promedio 60 minutos para ser atendido (T[0] =
60), el tipo 2 20 minutos y el tipo 3 30 minutos.
Tenemos una cola de atención (L) con varios clientes, los 2 primeros realizarán
el tipo de trámite 1 (L [0] = L [1] = 1), los 2 siguientes el tipo de trámite 2 y el
último el tipo de trámite 3.
Concluimos que, al tener 2 horas como tiempo, solamente podremos atender a
los 2 primeros (que corresponden al tipo de trámite 1 y por lo tanto demorarán
60 minutos cada uno). Es decir, 3 personas no podrán ser atendidas.

Página 3 de 5
14) Considere dos arreglos unidimensionales de n elementos llamados Vendedor e
Importe, los cuales corresponden a los vendedores (numerados de 1 a 10) y al
importe de su venta.
Los datos se encuentran desordenados.

Por ejemplo:

Vendedor
2 1 5 2 7 2 1 …………. 5 3

1 2 3 4 5 6 7 ……….... n-1 n

Importe
500.0 150.5 62.0 124.2 59.0 200.0 110.5 …………. 148.0 300.0
1 2 3 4 5 6 7 ……….... n-1 n

Escriba un algoritmo que muestre ordenadamente cada código de vendedor con


el total acumulado del importe vendido por el mismo. Y, además, cuál fue el
vendedor que tuvo la venta mayor y cuál fue esa cantidad.

15) Los arreglos siguientes contienen información sobre los softwares y sus
respectivos archivos que una empresa tiene en sus 120 computadoras:
COMPUTADORA: Código de la computadora (entero de 1 a 120).
CSOFTWARE: Código de software instalado en la computadora.
NARCHIVOS: Cantidad de archivos del software guardados en la PC.

Por ejemplo, de acuerdo a los siguientes arreglos la computadora con código 8


tiene instalado el software con código 0024 para el cual tiene guardados 54
archivos; además esa misma computadora tiene instalado el software con código
1248 para el cual tiene guardados 15 archivos.

1 2 3 4 …. … …… N
COMPUTADORA 18 28 8 120 …………… 18 8 100

CSOFTWARE 215 175 002 257 …………… 458 124 356


4 3 4 8 … 2 8 8

NARCHIVOS 25 2 54 15 …………… 20 15 90

-Elabore un algoritmo para cada una de las siguientes operaciones:


a) Cálculo de la cantidad total de archivos de software que tiene la computadora
con código CC.
b) Determinación de la computadora con la mayor cantidad de softwares
instalados.

Página 4 de 5
16) Una cooperativa de productores de naranjas almacena el total de toneladas
cosechadas durante el último año en N parcelas (1≤ N ≤ 50). En cada parcela se
pueden cultivar dos tipos de naranjas: para jugo y para comer. Se conoce el total
de toneladas cosechadas de cada uno de los tipos de naranjas. Si en una parcela
no se hubiera cosechado alguno de los tipos, entonces habrá 0.
La información se almacena en un arreglo como se muestra en el siguiente
ejemplo:

o En la parcela 1 se cosecharon: 100 toneladas de naranjas para jugo y 500


toneladas de naranjas para comer.
o En la parcela 2 se cosecharon: 600 toneladas de naranjas para jugo y 0
toneladas de naranjas para comer.

NOTA: Observe que la información de una misma parcela ocupa posiciones


consecutivas en el arreglo.

Escriba un algoritmo que permita realizar las siguientes tareas:


a) Calcular e imprimir el total de la producción por parcela.
b) Eliminar la información de una parcela. El dato requerido para esta opción es
el número de parcela a eliminar.
c) Buscar e imprimir el número de una parcela (si hubiera) que no haya tenido
producción de ninguno de los tipos de naranjas. Es decir, durante el último
año su producción total fue 0.

Página 5 de 5

También podría gustarte