0% encontró este documento útil (0 votos)
88 vistas5 páginas

Guía Ejercicios de Arreglos Taller de Programación II

Este documento presenta 40 ejercicios sobre el uso de arreglos en programación. Los ejercicios abarcan temas como la creación y manipulación de arreglos unidimensionales y multidimensionales, el ordenamiento y filtrado de datos, y la conversión entre bases numéricas. El objetivo es que los estudiantes practiquen y se familiaricen con las operaciones básicas sobre arreglos.

Cargado por

pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
88 vistas5 páginas

Guía Ejercicios de Arreglos Taller de Programación II

Este documento presenta 40 ejercicios sobre el uso de arreglos en programación. Los ejercicios abarcan temas como la creación y manipulación de arreglos unidimensionales y multidimensionales, el ordenamiento y filtrado de datos, y la conversión entre bases numéricas. El objetivo es que los estudiantes practiquen y se familiaricen con las operaciones básicas sobre arreglos.

Cargado por

pablo
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOC, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 5

Departamento de Ingeniería en Computación e Informática

Facultad de Ingeniería
Universidad de Tarapacá

Fecha: Septiembre de 2021


Guía Ejercicios de Arreglos Taller de Programación II

Nombre del Académico: Héctor Ossandón, Ibar Ramírez.


Tema: ARREGLOS.
Desarrollar algoritmos para resolver los siguientes problemas:

1. Crear un vector con los valores del 1 al 100.


2. Crea un vector con los nombres de los meses del año, solicitar números al usuario, si el número esta entre
1 y la longitud del vector muestra el nombre del mes respectivo, sino muestra un mensaje de error. El
programa termina cuando el usuario introduce el número cero. Hacer lo mismo con los nombres de los días
de la semana. Generalice lo anterior en una función.
3. Pide un número por teclado y guarda en un vector su tabla de multiplicar hasta el 10. Por ejemplo, si pide el
5 el vector tendrá: 5,10,15,20,25,30,35,40,45,50
4. Pide números y mételos en un vector, cuando el usuario meta un 0 finaliza y muestra los números
ordenados de menor a mayor.
5. Lo mismo que el anterior pero ordenando de mayor a menor.
6. Pide una cadena por teclado, mete los caracteres en un vector sin espacios.
7. Crea un vector con números, pide un número por teclado e indica cuantas veces se repite.
8. Crea un vector con números e indica el número con mayor valor y el con menor valor, junto con sus
posiciones.
9. Crea un vector de string que contenga el nombre del contacto y otro que contenga el número del teléfono
respectivo (no es necesario validar). Tendrás que ir pidiendo número de teléfonos e indicar de quien es el
número hasta que no se desee seguir consultando. Adicionalmente, se podrá agregar un nuevo contacto o
eliminar un contacto existente (no pueden existir contactos ni número repetidos).
10. Crea una matriz, las dimensiones deben ser ingresadas por el usuario y su contenido serán los valores
consecutivos desde el 1 hasta completar el último elemento. Luego solicita fila, columna y muestra su
contenido.
11. Crea un vector con ceros (10 posiciones), pide 10 valores y los almacenas en el vector, luego devuelve la
suma, el promedio, el máximo y el mínimo de los valores almacenados.
12. Crea un programa que construya un vector con el factorial de cada uno de sus índices, el usuario debe
especificar el número de factoriales a calcular. El número introducido por el usuario debe ser más grande
que 0 y más pequeño que 20. Si no fuera así, el programa debe pedirlo de nuevo tantas veces como sea
necesario. Recuerda que el factorial de un número entero es dicho número multiplicado por todos sus
antecesores: n ! = n× (n – 1) × (n – 2) × ... × 1.
13. ¿Cuál es el tamaño en bytes de un arreglo de 1000 elementos de tipo booleano?
14. Cree un arreglo cuyos elementos sean los enteros pares en [1,100] y en orden decreciente. Muestre los 10
últimos por pantalla.
15. Cree un arreglo con 10 elementos en el intervalo [-2,2] y equidistantes entre ellos. Muestre por pantalla el
arreglo. Después muestre sólo el tercer y cuarto elemento.
16. Genere un arreglo de tipo 'float' de dimensiones (4, 4). Debe contener números consecutivos del 1 al 16,
muestre el par de índices donde se encuentra un valor ingresado por el usuario.
Dado el arreglo:
2 4 5 6
0 3 7 4
8 8 5 2
1 5 6 1
Seleccione con una instrucción el subarreglo de elementos: 0 3 7 4
Después, seleccione el subarreglo de elementos :
25
85
17. Cree un arreglo con ceros de dimensiones (3,3) y asigne el valor de 1 a las cuatro esquinas.
18. Dado el arreglo de tipo float64 y elementos [3., 4., 6., 1, 1.5], agregue un cero al principio y un -1 al final.
19. Se tienen valores de coordenadas (x, y) en las columnas del arreglo:
1.33 4.5
30.0 10.7
70.2 0.5
Agregue al arreglo las coordenadas (37.1, -3.6). Muestre por pantalla las dimensiones del nuevo arreglo.
20. Copie el arreglo del ejercicio anterior. Traspóngalo. Agregue ahora dos nuevos pares de coordenadas:
(10.8, 3.0) y (35.8, 12.0).
21. ¿Puedo sumar los arreglos a = [[1, 2, 3]] y b = [[0], [1], [0]]?. ¿Por qué?. De ser posible, ¿cuál es su suma?.
22. ¿Todos los valores del arreglo a = [0, 1, 2, 3, 4] son menores que b = [0, 0, 0, 0]?. ¿Y alguno de ellos?.
23. Los arreglos a = [0, 1, 2, 3] y b = [-0.1, 1.01, 1.98, 3.15], ¿son iguales si se considera un valor de tolerancia
absoluta (diferencia entre elementos de la misma posición) inferior a 0.16?.
24. ¿Algún valor de la operación OR lógico entre los arreglos a = [0, 1, 1] y b = [1, 0, 0] es verdadero?. ¿Y si la
operación es un AND lógico?.
25. Dados los arreglos a = [1, 4, 2, 7] y b = [1, 3, 2, 9], obtenga la media aritmética de la diferencia (a-b).
26. Dado el arreglos a = ['1', '2', '3'], realice las operaciones necesarias para obtener la suma de todos ellos.
27. Genere 20 números aleatorios entre 0 y 30. Pueden tomar cualquier valor decimal en ese rango.
28. ¿Cuál es el valor del polinomio x^3 - 5 * x^2 + 1 en los puntos x = [1.3, 22, 99]?.
29. Crear un programa para rellenar un vector de 15 número enteros:
a. Con valores aleatorios entre 1 y 10, y a continuación diga cuántos pares e impares hay.
b. Con valores aleatorios entre 1 y 10, y a continuación sume los que estén en posiciones que son
múltiplos de 3.
c. Con los primeros valores de la serie de Fibonacci.
d. Con valores introducidos por el usuario, y a continuación que los imprima al revés.
e. Con valores introducidos por el usuario, donde cada valor se debe pedir de nuevo hasta que esté
entre 1 o 10.
f. Con valores introducidos por el usuario, que deben formar una secuencia creciente.
g. Con valores introducidos por el usuario, que no deben estar repetidos.
Obs: La instrucción de Python que te permite generar un número aleatorio entre a y b, ambos
incluidos, es random.randint(a, b)
30. Crea un programa que almacene en un vector la nota de los alumnos de Taller de Programación I, y
posteriormente calcule y visualice el número de notas que aparecen dentro de los siguientes intervalos:
[1 , 3]: Muy Mal, [3.1, 3.9]: Mal , [4, 5]: Suficiente, [5.1, 5.9]: Bien , [6, 7]: Muy Bien.
31. Crea un programa que utilice vectores en el que el usuario introduzca un número y el programa genere una
frase con las palabras correspondientes a cada cifra. Por ejemplo, 547 devolvería “cinco cuatro siete”.
32. Crea un programa que use vectores en el que el usuario introduzca una palabra o frase y el programa diga
si es palíndromo, es decir, si se lee igual hacia delante que hacia atrás. Por ejemplo “amor a roma” y “ojo”
son palíndromos.
33. Crea un programa que dado un vector de 15 elementos con valores aleatorios, sea capaz de ordenar el
vector y dar el resultado por pantalla.
34. Crea un programa que dados dos vectores ordenados realice la fusión de ambos para obtener un tercer
vector también ordenado. Cada vector contiene cinco elementos. Modifica el programa anterior para que
realice lo mismo con vectores de distinto tamaño.
35. Crea un programa en el que el usuario introduzca una frase y una tabla de cifrado, es decir, una serie de
caracteres y los correspondientes sustitutos, que se guardarán en una matriz de 2 filas y tantas columnas
como símbolos tenga la tabla de cifrado. El programa deberá cifrar la frase utilizando la matriz de cifrado,
es decir, para cada carácter de la frase, buscará dicho carácter en una fila de la matriz para reemplazarlo
en la frase por su sustituto que se encuentra en la misma columna de la otra fila. Agrega una opción para
decifrar también una frase.
36. Crea un programa que dado un número introducido en una base cualquiera b1 sea capaz de convertirlo a
otra base cualquiera b2. Como nos vemos limitados a la hora de trabajar con bases por la cantidad de
símbolos de que disponemos, utilizaremos los símbolos 0,1, ..., 9, A, B, ..., Z pudiendo trabajar así con
bases hasta la base 36. El procedimiento puede ser el siguiente:
a. Pedir las dos bases b1 y b2.
b. Leer el número en base b1 y lo convertimos a base 10 mediante método de potencias sucesivas.
c. Convertimos el número de base 10 a base b2 mediante el método de las divisiones sucesivas.
37. En el juego del tres en raya (gato) dos jugadores se turnan para colocar sus piezas, de una en una, sobre
un tablero o matriz 3×3: Escribe un programa que pida dónde introducir la siguiente ficha, una X,
comprobando que las coordenadas sean de una casilla vacía y que compruebe si dicha pieza introducida
genera un tres en raya, bien sea horizontal, vertical, o diagonal. Utilice una matriz.
38. Crear un programa que reciba dos arreglos y el tamaño de los mismos (deben de ser del mismo tamaño) y
que consiga copiar en el segundo arreglo el contenido del primero.
39. Crear un programa llamado paresImpares que cree un arreglo de 100 números aleatorios del 1 al 1000.
Una vez creado, mostrar el contenido y después organizarlo de forma que estén juntos los elementos pares
y los impares. Después, volver a mostrar el arreglo.
40. Crear un programa llamado vendedores que cree un arreglo de 18x10 indicando que poseemos una
empresa de 18 vendedores cada uno de los cuales vende 10 productos. El arreglo almacena los ingresos
obtenidos por cada vendedor en cada producto, de modo que un menú permite almacenar los ingresos,
revisar el total de cada vendedor y obtener los ingresos totales. ¿Qué vendedor ganó más por la venta de
un producto determinado?, ¿Qué vendedor ganó menos por la venta de un producto determinado?, ¿Qué
producto provoca la mayor ganancia y a qué vendedor?.
41. Crear un programa que mediante un menú admita reservar o cancelar asientos de un bus, así como
mostrar qué asientos están ocupados y libres actualmente. El arreglo tendrá 25 filas y 4 columnas.
42. Crear un programa que cree un arreglo con 1000 letras mayúsculas aleatorias y que cuenta cuántas veces
aparece cada letra en el arreglo.
43. En una tienda donde solo hay 10 productos se desea calcular el total de ganancia que produjo dicho
negocio este mes. Para ello se cuenta por producto con: Precio del Costo, precio de venta, código y
cantidad vendida en ese periodo. Realizar programa mediante arreglos que permita calcular las Ganancias
de la Tienda y responda a las siguientes preguntas. ¿Qué productos generaron la mayor ganancia?, ¿qué
productos generaron la menor ganancia?, ¿qué productos tuvieron mayor demanda?, ¿qué productos
tuvieron la menor demanda?, ¿qué productos generan la mayor ganancia por unidad vendida?.
44. Una infantería tiene N cantidad de reclutas, cada uno adscrito a una especialidad (morteros, montaña,
tanques, fusileros). Se desea desarrollar un programa que capture la siguiente información por recluta:
nombre, apellido, edad, sexo y especialidad. El programa debe responder a las siguientes preguntas:
¿cuántos infantes están inscritos en cada curso? , ¿con cuántas mujeres y cuántos hombres cuenta la
nación en las especialidades dentro de esta fuerza?, ¿quiénes son las reclutas mujeres más jóvenes en la
especialidad de montaña?, ¿quiénes son los reclutas hombres más viejos en la especialidad de tanques?.
¿De qué especialidad son los reclutas más jóvenes?.
45. Desarrolle un programa que considere una matriz cuadrada de orden n x n. El programa debe leer los
datos de dicha matriz (números enteros) y encontrar la suma de todos los elementos del borde. Los
elementos del borde son aquellos que están en la primera y última fila y primera y última columna.
46. Desarrolle un programa que guarde los datos de los N alumnos de la materia programación, y los muestres
por pantalla, (cédula sin dígito, nombre, apellido, edad, lugar de nacimiento, dirección y teléfono). El
programa debe entregar la lista ordenada alfabéticamente de todos los alumnos nacidos en la ciudad de
Calama, además debe entregar un listado con los nombres y apellidos de los alumnos ordenados por
ciudad y dentro de la misma ciudad desde los más jóvenes a los más viejos. ¿En qué ciudades nacieron
más alumnos?, ¿En qué ciudades nacieron menos alumnos?.
47. Desarrolle un programa que guarde los ruts de alumnos y las notas correspondientes a una determinada
asignatura (3 evaluaciones por alumno). El programa debe entregar el porcentaje de los alumnos
aprobados y reprobados. Los alumnos que obtuvieron la mejor nota promedio, los alumnos que obtuvieron
la peor nota promedio. El promedio de cada evaluación. ¿En qué evaluación se dió la peor nota y quién la
obtuvo?. ¿En qué evaluación se dió la mejor nota y quién la obtuvo?.
48. Codificar un programa que genere una matriz n x m , en la cual asigne ceros a todos los elementos,
excepto a los de la diagonal principal donde asignarán unos.
49. Codificar un programa que genere una matriz 10 x 10 con ceros en la diagonal principal hacia arriba.
50. Dada una matriz de M*M elementos, hacer un programa que construya un vector B, donde cada uno de sus
componentes sea la suma de los elementos de valores numéricos pares de las filas de la matriz.
51. Escribir un programa que lea las dimensiones de una matriz, lea y visualice la matriz y a continuación
encuentre el mayor y menor elemento de la matriz y sus posiciones.
52. Dada una matriz de orden NxM, hallar el mayor valor absoluto de cada fila y almacenarlo en un vector.
53. Se tiene la producción total de toneladas de cereales (arroz, avena, cebada, trigo) cosechadas durante
cada mes del año anterior. Elaborar un programa que proporcione la siguiente información:
a. El promedio anual de toneladas cosechadas.
b. ¿Cuántos meses tuvieron una cosecha superior al promedio anual?
c.¿Cuántos meses tuvieron una cosecha inferior al promedio anual?
d.¿Cuál fue el mes en el que se produjeron mayor número de toneladas?
54. Se tiene la producción de los siete días de la semana de 20 plantas. Elaborar un programa que lea estos
datos, imprima el número de la planta que tuvo la mayor producción semanal y el número de planta con
mayor producción en un día específico (dato que ingresa el usuario), y con cuánta producción.
55. Almacene 10 pares de números (x,y) en dos vectores X() y Y(). Luego, recorra ambos vectores ordenando
los componentes de los pares de números de tal forma que el componente menor quede en el vector X() y
el mayor en el vector Y(). Imprima el menor de todos los componentes en el vector X(), el mayor de todos
componentes en el vector Y(), así como las respectivas posiciones en que se encuentran. Además,
imprima los vectores de forma alternativa, es decir: X(1), Y(2), X(3), Y(4), X(5), etc.
56. Almacenar una matriz de 5 fila por 4 columnas. Calcular la suma de cada una de las columnas por
separado e imprimir que columnas tuvieron la máxima suma y el valor de esa suma. Además, imprima el
valor menor de todos los valores ingresados en la matriz y las posiciones donde se encuentra.
57. La Facultad de Ingeniería dicta 5 carreras. Se debe ingresar la siguiente información de los alumnos:
- rut alumno (sólo la parte del número, sin dígito verificador)
- número carrera a la que pertenece (1-5)
- cantidad de dinero que ha pagado a la fecha (en pesos)
El valor de la matricula anual de cada carrera se encuentra almacenado en un arreglo MAT. Debe construir
un algoritmo que imprima el siguiente listado:
Estado de Morosidad de los Alumnos Facultad de Ingeniería
Rut Alumno Valor Carrera Monto pagado a la fecha Monto faltante
: : : :
Y además calcule la deuda total a la fecha de todos los alumnos de la Facultad.
58. Construya un programa que solicite dos matrices y a continuación despliegue un menú que permita:
1:Sumar Matrices, 2:Restar Matrices, 3:Multiplicar Matrices, 4:Sumar Diagonal Matrices, 5:Sumar una fila
de la primera matriz con una fila de segunda matriz, 6:Sumar una columna de la primera matriz con una
columna de la segunda matriz y 7:Sumar una fila de la primera matriz con una columna de la segunda
matriz. (Sugerencia: construir el programa en forma incremental, es decir, de una opción a la vez).
59. Construir un programa para el horario del alumno que solicite el día de la semana (lunes a viernes) y la
clave de horario (1-12) y entregue nombre de la asignatura, nombre del profesor, hora de inicio de la clase
y sala donde se realizará.
60. Construir un programa que dado el nombre y apellido de un alumno entregue: su teléfono fijo, su teléfono
celular, su dirección, el nombre de sus padres, su edad. Asuma que los datos de cada alumno ya están
almacenados en arreglos (inicialice los arreglos con los datos de 10 alumnos).
61. Construir un programa que dado un número de fecha entregue la programación de partidos de fútbol de
esta, la información por partido de fútbol que se debe entregar es: nombre de equipos que juegan y su
calidad (local ó visita), puntaje que llevan, hora del encuentro, nombre estadio y ciudad.
62. Se tienen las temperaturas promedio diarias del año anterior de la ciudad de Arica, almacenadas en una
tabla TEMP de 12 filas x 31 columnas. Elabore un programa que proporcione la siguiente información:
a. La temperatura más alta registrada en el año anterior, y cuál fue el día y mes en que se registró.
b. El mes que tuvo el promedio de temperaturas más alto.
c. El promedio mensual de temperaturas.

También podría gustarte