Ejercicios de Repaso Estudiante Primero
Ejercicios de Repaso Estudiante Primero
Ejercicios de Repaso Estudiante Primero
Escriba un algoritmo que pida las calificaciones de los cinco clientes a cada uno de
estos aspectos, y luego escriba el promedio obtenido en cada uno de ellos. La lista
debe aparecer ordenada del aspecto mejor calificado al peor calificado.
14. En una hacienda hay un hato que se compone de N vacas. Diseñe un algoritmo que
guarde en una matriz de dimensión 7xN la producción de leche diaria (en litros) de
cada una de las vacas, durante una semana. Además, el algoritmo debe calcular la
producción total del hato en cada uno de los siete días, y el número de la vaca que
dio más leche en cada día.
15. Un histograma para una colección de datos es una secuencia de parejas de la forma
(d,f), donde d es un dato y f es su frecuencia en la colección. Por ejemplo, suponga
que se le pide a 20 personas calificar con las letras a b c d y e el desempeño del
gobierno actual, y que se obtienen las siguientes respuestas: c b c a b c d e e a b b d
c a c c b d a.
El histograma para esta colección de datos se muestra enseguida en dos formas: con
números y con asteriscos:
a: 4 a: ****
b: 5 b: *****
c: 6 c: ******
d: 3 d: ***
e: 2 e: **
Considere el problema de construir un algoritmo que haga un histograma para una
lista de hasta 100 valores, donde cada valor es un número entero comprendido en el
intervalo 1 al 5.
Las entradas (datos conocidos) para el algoritmo son:
El número de datos de la colección
La colección misma
La salida esperada (dato desconocido)
El histograma de la colección
16. Suponga que se quiere construir un algoritmo que califique un examen de selección
múltiple presentado por un estudiante de Programación de Computadores. En cada
una de las preguntas del examen, el estudiante debió elegir una de cinco opciones,
identificadas con las letras A,B,C,D y E. Las entradas (datos conocidos) para el
algoritmo son:
El número de preguntas que tenía el examen
Cada una de las respuestas dadas por el estudiante
Las respuestas correctas
La salida esperada (dato desconocido) es:
31. Crear un programa que mediante un menú admita reservar o cancelar asientos de un
avión, así como mostrar qué asientos están ocupados y libreas actualmente. El array
tendrá 25 filas y 4 columnas.
32. Crear un programa que cree un array con 1000 letras mayúsculas aleatorias y que
cuenta cuántas veces aparece cada letra en el array.
33. Crear un programa llamado vendedores que cree un array de 18 X 10 indicando que
poseemos una empresa de 18 vendedores cada uno de los cuales vende 10
productos. El array 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.
34. Crear un programa llamado paresImpares que cree un array 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, además debe ordenar
de menor a mayor por el métodos de inserción. Después, volver a mostrar el array.
35. Escribe el código de la función public int mayor(int A[ ],int inf, int sup), que
recibe un arreglo de enteros y dos valores enteros inf y sup. La función regresa el
mayor valor del arreglo dentro del rango definido por inf y sup. Por ejemplo, si
tenemos el siguiente arreglo: A = [10 12 2 0 4 35 24], la instrucción mayor(A, 0, 3)
regresa 12 y mayor(A, 0, 6) regresa 35.
36. Escribe el código de la función public int posMayor(intA[ ],int inf, int sup) que recibe
un arreglo de enteros y dos valores enteros inf y sup. La función regresa la
posición de la localidad que contiene al mayor valor del arreglo. Por ejemplo, si
tenemos el arreglo: A = [10 12 2 0 4 35 24], la instrucción posMayor(A,0,3) regresa 1
y posMayor(A, 0, 6) regresa 5.
37. Escribe el código del procedimiento public void ordena2(int A[ ]), que recibe un
arreglo de enteros y el procedimiento ordena los valores del arreglo de mayor a
menor. Por ejemplo, si tenemos el arreglo A = [10 29 4 23 31 24 15 6], después de
evaluar ordena2(A), el arreglo se modifica de la siguiente manera: A = [31 29 24 23
15 10 6 4].
38. Se cargan datos a una matriz de enteros de 3x4, se pide informar:
Los datos cargados en la matriz.
Promedio General.
Porcentajes positivos.
Sumatoria de los N pares ingresados en la matriz.
39. Las diferencias finitas de una serie de tiempo son la secuencia de todas las diferencias
entre un valor y el anterior.
Por ejemplo, si los valores de la serie son {5,2,2,8,−4,−1,2}{5,2,2,8,−4,−1,2} entonces
las diferencias finitas son: (2−5)(2−5), (2−2)(2−2), (8−2)(8−2), (−4−8)(−4−8),
(−1+4)(−1+4) y (2+1)(2+1).
descremada es una buena fuente de proteínas, pero contiene mucho calcio. Por esto,
se usó harina de soya (que tiene poco calcio) para proveer las proteínas; sin embargo,
tiene proporcionalmente mucha grasa, por lo que se agregó suero de leche a la dieta,
que desafortunadamente contiene muchos carbohidratos... como se hace evidente,
el delicado problema de balancear los nutrientes es complejo.
La siguiente tabla muestra el aporte en nutrientes por cada 100 gramos de cada uno
de los tres ingredientes (leche descremada, harina de soya y suero de leche):
Escriba un programa que pregunte al usuario cuáles son las poblaciones de la ciudad
y los suburbios en el año 2011, y entregue una tabla con las poblaciones proyectadas
para los siguientes 10 años:
46. Considere ahora la siguiente variación. Suponga que todos los años hay 14000
personas que se mudan a la ciudad desde fuera de la región (no desde los suburbios)
y 9000 personas abandonan la región; además, hay 13000 personas que se mudan
anualmente a los suburbios desde fuera de la ciudad.
Modifique el programa anterior para resolver este problema.
47. En un informe anual de SansanoGas S.A., el presidente informa a sus accionistas la
cantidad anual de producción de barriles de 50 litros de lubricantes normal, extra y
súper, en sus dos refinerías:
49. Determine cuál es la matriz que entrega el consumo de todos los elementos que
forman parte de un lubricante, en cada refinería (teniendo en cuenta el enunciado
del ejercicio 47).
50. Para preparar aperitivos, un barman almacena en tres baldes distintas medidas de
vino, ginebra y jugo de limón, según la siguiente tabla:
Por otro lado, se tiene la información de los precios por litro de cada líquido:
Escriba un programa que muestre cuál es el precio de cada uno de los baldes.
51. Escriba un programa que muestre el precio total de 10 baldes A, 4 baldes B y 5 baldes
C.
52. Crear un programa que lea nombres y los ordena alfabéticamente.
53. Por medio de un programa introducir una palabra y que devuelva la forma plural de
esta
54. Realizar la búsqueda binaria o dicotómica de un valor.
55. Se necesita un programa que imprima por pantalla el número mayor y menor de un
vector y las veces que se repiten.
56. Una matriz a es simétrica si para todo par de índices i y j se cumple que a[i,j]==a[j,i].
Escriba la función es_simetrica(a) que indique si la matriz a es simétrica o no. Cree
algunas matrices simétricas y otras que no para probas su función.
57. Una matriz a es antisimétrica si para todo par de índices i y j se cumple que
a[i,j]==-a[j,i]. Escriba la función es_antisimetrica(a) que indique si la matriz a es
antisimétrica o no. Cree algunas matrices simétricas y otras que no para probas su
función.
58. Una matriz a es diagonal si todos sus elementos que no están en la diagonal principal
tienen el valor cero. Por ejemplo, la siguiente matriz diagonal:
72. La Universidad del Valle requiere un programa que le permita conocer cómo
califican los estudiantes la comida de la cafetería central. Para ello definió una
escala de 1 a 10 (1 denota horrible y 10 denota excelente). El programa debe ser
capaz capturar la calificación de cualquier número de estudiantes (no se sabe
cuántos estudiantes se encuestarán, así que cuando el encuestador ingrese la
calificación de 0, se sabrá que la encuesta habrá concluido). El programa deberá
mostrar en su salida cuántos estudiantes fueron encuestados así como el resumen
de la encuesta con histograma así:
Estudiantes encuestados: 111
Frecuencia de las calificaciones:
Calificación núm. Estudiantes Histograma
1 3 ***
2 2 **
3 10 **********
… … ...
8 9 *********
9 15 ***************
10 7 *******
Utilice un arreglo de enteros de 10 elementos para almacenar la frecuencia con la que
ocurre cada calificación
73. En una competencia de natación se desea implementar una aplicación para almacenar el
tiempo por cada competidor y además determinar con base en todos los tiempos de los
competidores cual es el ganador. El usuario debe especificar cuantos tiempos
(competidores) desea ingresar. Desarrolle un programa que recorra un arreglo de enteros,
evalúe si sus datos son múltiplos de 7 y los muestre en pantalla.
74. Un instituto desea controlar los resultados de los alumnos en las distintas asignaturas
de la facultad de Ingeniería. El programa debe ingresar las calificaciones de los
alumnos y visualizar en pantalla la media de notas por alumno y la media de notas
por asignatura. Las asignaturas están codificadas de 1 a 6 y hay 30 alumnos.
75. En teoría de la computación, la función de Ackermann es una función recursiva que
toma dos números naturales como argumentos y devuelve un único número natural.
Escriba un programa que determine la serie de Ackerman cuando se proporcionan
los parámetros m y n. Como norma general se define como sigue:
Utilizar para este ejercicio un menú de entrada que me permita seleccionar la acción
a realizar.
81. Definir una función que toma como parámetros dos tablas. La primera con los 6
números de una apuesta de la primitiva, y la segunda con los 6 números ganadores.
La función debe devolver el número de aciertos.
82. Diseñar la función opera_tabla, a la que se le pasa dos tablas, el número de elementos
útiles y que operación se desea realizar: sumar, restar, multiplicar o dividir (mediante
un carácter: 's', 'r', 'm', 'd'). La función debe devolver una tabla con los resultados.
83. Definir una función a la que se le pasa como parámetro una tabla que debe rellenar.
Se leerá por teclado una serie de números: guardaremos solo los pares e ignoraremos
los impares. También hay que devolver la cantidad de impares ignorados.
84. Diseñar una función que calcule la distancia euclídea de dos puntos.
85. Diseñar una función que realice la búsqueda dicotómica en una tabla.
86. Diseñar una función que toma una tabla bidimensional de enteros, representando un
tablero de ajedrez. Disponemos de las constantes PB (peón blanco), TN (torre negra),
etc. (P, T, C, A, R, D). Dicho módulo debe devolver un valor booleano, que indique si
el rey negro está amenazado.
87. Igual que el ejercicio anterior, pero indicando si existe jaque mate a las negras.
88. Se pretende realizar un programa para gestionar la lista de participaciones en una
competición de salto de longitud. El número de plazas disponible es de 10. Sus datos
se irán introduciendo en el mismo orden que vayan inscribiéndose los atletas. Diseñar
el programa que muestre las siguientes opciones:
a. Inscribir un participante.
b. Mostrar listado de datos.
c. Mostrar listado por marcas.
d. Finalizar el programa.
Si se selecciona 1, se introducirán los datos de uno de los participantes: Nombre,
mejor marca del 2002, mejor marca del 2001 y mejor marca del 2000. Si se elige la
opción 2, se debe mostrar un listado por número de dorsal. La opción 3 mostrará un
listado ordenado por la marca del 2002, de mayor a menor. Tras procesar cada
opción, se debe mostrar de nuevo el menú inicial, hasta que se seleccione la opción
4, que terminará el programa.
89. Crear una matriz “marco” de tamaño 8x6: todos sus elementos deben ser 0 salvo los
de los bordes que deben ser 1. Mostrarla.
90. Crear una tabla de tamaño 7x7 y rellenarla de forma que los elementos de la diagonal
principal sean 1 y el resto 0.
91. Utilizando dos tablas de tamaño 5x9 y 9x5, cargar la primera y trasponerla en la
segunda.
92. En un arreglo se tienen registradas las ventas de cinco empleados durante cinco días
de la semana. Se requiere determinar cuál fue la venta mayor realizada. Realice un
algoritmo para tal fin.
93. La empresa de transportes “The Big Old” cuenta con N choferes, de los cuales se
conoce su nombre y los kilómetros que conducen durante cada día de la semana, esa
información se guarda en un arreglo de N x 6. Se requiere un algoritmo que capture
esa información y genere un vector con el total de kilómetros que recorrió cada
chofer durante la semana.
94. Escribir un programa que permita visualizar el triángulo de pascal. En el triángulo de
pascal cada número es la suma de los dos números situados encima de él.
95. Se desea escribir un programa que permita manejar la información de habitantes de
un complejo habitacional. El mismo posee 7 torres; a su vez cada torre posee 20 pisos
y cada piso 6 departamentos. Se desea saber:
a. Cantidad total de habitantes del complejo.
b. Cantidad promedio de habitantes por piso de cada torre.
c. Cantidad promedio de habitantes por torre
96. Construir una función que reciba una matriz 5x5 y retorne la cantidad de veces que
se repite su moda.
97. Construir una función que reciba como parámetro una matriz 4x4 entera y retorne la
posición exacta en donde se encuentre almacenado el mayor número primo.
98. Construir una función que reciba como parámetro un vector de 10 posiciones enteras
y retorne la cantidad de números terminados en 3 que contiene el vector.
99. Construir una función que reciba como parámetro una matriz 4x4 entera y retorne el
número de la columna en donde se encuentre por primera vez el número mayor de
la matriz.
100. Construir una función que reciba como parámetro dos enteros y retorne 1 si
la diferencia entre los dos valores es un número primo. Deberá retornar 0 si no es así.