funciones, vectores y matrices

Anuncio
Ejercicios programación estructurada (funciones, vectores y matrices)
1. El juego de dados conocido como “craps” (tiro perdedor) es muy popular, realice un programa
que simule dicho juego, a continuación se muestran las reglas para los jugadores:
• Un jugador tira dos dados. Cada dado tiene seis caras. Las caras contienen 1, 2, 3, 4, 5 y 6
puntos.
• Una vez que los dados se hayan detenido, se calcula la suma de los puntos en las dos caras
superiores.
• Si a la primera tirada, la suma es 7, o bien 11, el jugador gana.
• Si a la primera tirada la suma es 2, 3 o 12 (conocido como “craps”), el jugador pierde (es
decir la casa “gana”).
• Si a la primera tirada la suma es 4, 5, 6, 8, 9 ó 10, entonces dicha suma se convierte en un
“punto”.
• Para ganar, el jugador deberá continuar tirando los dados hasta que haga 7 “puntos”.
2. Para calcular la trayectoria de un proyectil podemos usar las ecuaciones:
X=(V cos θ)t
y=(V sen θ) t−1/2 g t 2
Donde V es la velocidad inicial del proyectil (m/s), θ es el ángulo de inclinación (en radianes), t
es el tiempo, g es la aceleración de la gravedad (9.8 m/s 2), y x y y son las coordenadas del
proyectil en el tiempo t. Escriba una función que acepte los parámetros para V y θ y despliegue
las coordenadas del proyectil en intervalos de 0.1s hasta que el proyectil llegue a tierra.
3. Escriba funciones para calcular seno, coseno hiperbólicas. Las funciones hiperbólicas se
definen de la siguiente forma:
e x −e−x
senh ( x)=
2
e x +e−x
cosh (x )=
2
Donde:
2
3
x x x
e x =1+ + + +... Esta función evaluada en 1.0 genera 2.7182818284590455. La
1 ! 2! 3 !
función exp de la biblioteca math genera 2.718281828459045.
4. Construya una función recursiva que retorne la cantidad de dígitos de un número entero
positivo; por ejemplo, entrada: 9309, salida: 4.
5. Implemente una función recursiva que calcule xy con el uso de multiplicaciones sucesivas.
6. Implemente una función recursiva que calcule A x B, con el uso de sumas sucesivas.
7. Construya una función recursiva que calcule el enésimo número de la serie Fibonacci de un
entero ingresado por teclado.
8. Construya una función recursiva que calcule el máximo común divisor (MCD) de dos enteros
positivos.
9. Implemente una función recursiva que calcule el término enésimo de la secuencia de
Lucas...tañeda: 1,3,4,7,11,18,29,47,...
10. Leer un vector x de “n” valores y calcular:
• Valor máximo
• Valor mínimo
• Mitad del intervalo:
Valor máximo+Valor mínimo
Mitad delintervalo=
2
•
Media aritmética :
n
∑ Xi
•
•
•
x= i=1
n
Mediana: valor ubicado en el medio de una cantidad de “n” ordenada de valores. Se calcula
del siguiente modo: Si “n” es impar, se define como el valor que se encuentra en la posición
central; si “n” es par entonces corresponde al promedio de los valores centrale.
Media armónica:
n
Media armónica= n
∑ x1
i=1 i
Media cuadrática:
Media cuadrática=
•
•
√
n
∑ X 2i
i=1
n
Moda: es el valor que se presenta con mayor frecuencia.
Desviación estándar de la muestra:
S=
√
n
∑ ( X i−X )2
i=1
n−1
11. Implementar un programa que determine si un vector ingresado por teclado es simétrico o no,
un vector es simétrico si el elemento de la i-ésima posición es igual al elemento de la posición
n – i-ésima; por ejemplo: X = [1,2,3,4,3,2,1].
12. Conocida la producción mes por mes de papa en el departamento de Nariño durante los últimos
cinco años (año por año), se necesita saber en qué mes y año se registró la mayor y menor
producción. Intercalar los cinco años en un sólo vector para tener ordenada y compilada toda la
información.
13. Desarrolle una aplicación que almacene en un vector el nombre del país y en otro su capital.
Implemente un sistema de búsqueda que ingresando el nombre del país visualice su
correspondiente capital o viceversa. Nota: si usa python prueba usando un diccionario.
14. Leer dos vectores X y Y de “n” valores y calcular la ecuación de regresión con las ecuaciones
planteadas a continuación:
• Ordenada del origen:
n
n
n
i=1
i=1
n
(∑ Y i )( ∑ X 2i )−( ∑ X i)(∑ X i Y i)
b0 =
i=1
i=1
n
n
i=1
i=1
2
n( ∑ X 2i )−( ∑ X i)
•
Pendiente:
n
n
n
n( ∑ X i Y i)−( ∑ X i)(∑ Y i )
b1=
i=1
i=1
i=1
n
n
i=1
i=1
2
n( ∑ X 2i )−(∑ X i )
•
Ecuación de regresión:
̂y =b 0+ b1 x
Ejemplo:
Datos de entrada:
X 53.0 67.5 72.0
72.0
73.5
68.5
73.0
37.0
Y 80
344
416
348
262
360
332
34
Resultados:
b 0=−351.659
b1=9.659
^y =−351.659+9.659 x
15. Llene dos vectores numéricos A y B (el tamaño de los dos no necesariamente debe ser igual) y
realice las siguiente operaciones con conjuntos:
• Unión: conjunto que contiene (sin repetir) los elementos de A y B
• Intersección: conjunto que contiene los elementos comunes que aparecen en los conjuntos A
y B.
• Diferencia (A-B): conjunto formado por los elementos que pertenecen al conjunto A y no
pertenecen al conjunto B.
• Diferencia (B-A): similar al anterior.
16. La fábrica de muebles “El hermano gorgojo” tiene en el proceso de construcción de sillas de
oficina en 5 fases (A,B,C,D,E) que se pueden realizar en 6 máquinas diferentes (1..6), se
necesita calcular el costo máximo y mínimo tanto para fases como para máquinas; en la tabla
siguiente se muestra la relación costo-proceso-máquina que estos eventos conllevan:
A
B
C
D
E
1
6
5
9
19
11
2
45
23
21
17
30
3
15
7
23
25
2
4
75
26
38
49
19
5
2
15
76
1
45
6
92
82
4
20
13
17. Escriba un programa que encuentre el cuadrado mágico para cualquier n donde 3 < n < 10 de
orden impar. Un cuadrado mágico es una cuadrícula en general de n x n, en la que se acomodan
ciertos números que cumplen que la suma de cualquier renglón, la suma de cualquier columna y
la suma de cualquiera de las dos diagonales es siempre la misma. Si el cuadrado es de 3 x 3,
entonces tendrá 9 casillas y los números que se acomodan en él son todos los números del 1 al
9. Si el cuadrado es de 4 x 4, entonces tendrá 16 casillas y los números que se acomodan en él
son del 1 al 16. En general, si el cuadrado es de n x n, entonces tendrá n cuadrada casillas y los
números que acomodaremos en él serán del 1 a n². El orden de un cuadrado mágico es el
número de renglones o el número de columnas que tiene. Así un cuadrado de 3 x 3 se dice que
es de orden 3.
18. Construya una aplicación que realice las siguientes operaciones con matrices: multiplicación de
dos matrices (producto punto), multiplicación de una matriz por un escalar, inversa de una
matriz.
19. Con el uso de matrices cuadradas de orden “n” (n controla el tamaño de los caracteres) con
ceros y unos, elabore el abecedario, los números del 0 al 9 y los caracteres especiales: signos de
admiración, interrogación, puntuación, etc. Con el uso de estas estructuras implemente un
programa que simule un tablero electrónico de publicidad, el cual lea una cadena de caracteres,
el tamaño de los caracteres (n) y despliegue la información animada de derecha a izquierda de
la pantalla. Por ejemplo, si se ingresa la cadena “HOLA” y como tamaño 5, en la pantalla se
visualizará de forma animada una gráfica de forma similar a lo siguiente:
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
20. Desarrolle un programa que de solución al problema de las 8 reinas, este trata de calcular todas
las posibles configuraciones para situar 8 reinas en un tablero de ajedrez de forma tal que
ninguna de ellas sea atacada por otra, lo que indica que no pueden estar posicionadas dos o más
reinas en la misma fila, columna o diagonal.
21. Construya un programa que lea una serie de palabras y las almacene en un vector, con el uso de
una matriz de “n” x “n” genere una sopa de letras con el vector ingresado, organizando
aleatoriamente las palabras en sentido horizontal (derecha a izquierda o viceversa), vertical
(arriba hacia abajo o viceversa) y diagonal (en todos los sentidos). Las casillas restantes se
deben llenar de forma aleatoria con los caracteres del alfabeto.
22. Construir un programa que genere “n” tableros de juego para BINGO. Cada tablero es una
matriz de 5 filas por 5 columnas, la cual se llena con cifras aleatorias (no repetidas) en un rango
determinado por el número de columna así:
Columna
Rango
1(B)
1..15
2(I)
16..30
3(N)
31..45
4(G)
46..60
5(O)
61..75
Se tiene una restricción especial en la columna 3(N) en la cual sólo se generan 4 filas aleatorias,
porque en la tercera fila se ubica el número del tablero:
B
I
N
G
O
1
19
45
47
70
4
17
33
60
61
11
28
0696
49
68
13
20
36
53
74
2
22
43
48
73
23. Construya una solución que genere en su respectivo recorrido en espiral las matrices cuadradas
de orden “n” (n impar >= 5) mostradas en el siguiente figura:
24. El almacén “Los monitos” con sede en Popayán, tiene como línea de venta una amplia gama de
productos para perros y gatos (de todas las “marcas” tamaños, colores y sabores), que varían
desde alimentos y medicinas, hasta vestidos, chaquetas, zapatos, bolsos, gorras, camas,
biberones, etc. Debido a la baja en las ventas por la crisis económica por la que atraviesa
nuestro sufrido país, han tenido que diversificar su línea de ventas, por ello montaron una
distribuidora de libros que aunque lenta pero con paso firma, está poco a poco sacando adelante
la empresa. Por esta razón se necesita crear una solución computacional que minuciosamente
controle los procesos de:
• Entrada y salida (facturación) de productos para mascotas (ver tabla)
• Información general de proveedores de productos para mascotas.
• Información general de productos para mascotas.
• Información general de categorías de productos para mascotas.
• Entrada y salida (facturación) de libros.
• Información general de editores de libros.
• Información general de proveedores de libros.
• Contenido y características de libros.
• Información de autores.
• Categorías de libros.
• Inventario actualizado de libros.
Factura No:
Cliente:
Telefono:
Vendedor:
Fecha:
Cantidad
Detalle o producto
Vr. Unitario
Vr. Parcial
Subtotal
IVA (16%)
Total
25. La cadena de salas de cine “Charles Chaplin” necesita que usted desarrolle una aplicación para
la reserva y venta de sillas a sus funciones, éstas disponen de tres tipos de salas con la siguiente
distribución de silletería a saber: A. Clásica = 10 filas x 6 columnas, B. Express = 12 filas x 10
columnas, C. Sensorama 3D = 15 filas x 20 columnas; la ubicación de cada asiento se define de
forma a una hoja de cálculo, indicando primero la columna (rotulada con una letra que inicia
desde A) y luego la fila (que comienza en 1). El programa debe brindar información sobre los
sitios disponibles para que el cliente escoja. Cuando se venda un cupo se debe pedir el número
de identificación, y el nombre del cliente; para el caso de una reserva se pide además el teléfono
de contacto; y el precio de la silla tiene un 2% de incremento. El costo de cada función se cobra
conforme a la siguiente tabla:
Clásica
Express
Sensorama 3D
No. Fila Costo
No. Fila
Costo
No. Fila Letra Columna Costo
1 al 3
U$8
1 al 2
U$10
12 al 15
A,B,S,T
U$4
4 al 7
U$6
3 al 5
U$8
8 al 14
C..G, N..R
U$8
8 al 10
U$3
6 al 10
U$6
1 al 7
H..M
U$10
11 al 12
U$2
El programa debe realizar los siguiente procesos: generar la colilla de pago para una o varias
sillas de acuerdo al tipo de sala y su ubicación, y consultar de forma individual o en conjunto la
información de la(s) persona(s) que ocupa(n) una determinada silla o rango de éstas.
Calcular para cada una y por todas las salas:
• Total ventas por fila y columna.
• Promedio de ventas por fila y columna.
• Fila y columna de silletería más y menos vendida.
• Sala que reporta más ganancias.
• Sala que reporta menos ganancias.
26. La fábrica “El juanete Feliz” tiene como linea de producción la creación de hormas para zapato,
usted ha sido contratado(a) para la construcción de un sistema de información que controle todo
lo relacionado con sus procesos de producción. Todos los requerimientos (expuestos a nivel
muy general) se relacionan a continuación:
• Información general de proveedores de materias primas: resortes, hormas, tornillos,
empaques, entre otros.
• Información personal de los empleados.
• Información general de productos. Características físicas como: código, nombre,
dimensiones, peso, composición, fecha de creación, diseñador, número de patente, entre
otras.
Información general de categorías de productos: hormas dama, hormas niño, hormas
caballero. Mucho cuidado no confundir las categorías con los contenidos de las categorías,
ejemplo de un contenido de las categorías pueden ser las tallas 12,13,14 …. 56, o los tipos
de calzado para las que han sido diseñadas las hormas como: alparg
27. El gimnasio “Entrenen duro que dan lástima” lo(a) ha contratado para que construya una
solución computacional que automatice los procesos de manejo de información que se llevan a
cabo en sus dependencias.
•
Procesos:
• Control de inscripciones y pago de mensualidades de usuarios.
• Control de asistencia de usuarios al gimnasio.
• Control de asistencia de usuarios a clases de aeróbicos.
• Control de asistencia de usuarios a servicios extendidos del gimnasio: masajes,
hidromasajes, jacuzzi, lodo volcánico.
• Control de datos personales de usuarios.
• Control de rutinas de entrenamiento.
• Control de progresos de usuarios. Medidas antropométricas.
• Control de asistencia de entrenadores de aeróbicos.
• Control de asistencia de entrenadores de fisicoculturismo.
• Control de asistencia de entrenadores de pesas.
• Horarios de aeróbicos.
Requerimientos: El módulo de control de incripciones y pago de mensualidades de usuarios
debe permitir generar los siguientes reportes:
• Recibo de pago por usuario.
• Recibo de pago totales por día.
• Recibo de pago totales por semana.
• Recibo de pago totales por mes.
• Recibo de pago totales por año.
El módulo de control de asistencia de usuarios debe generar los reportes sobre la cantidad de
usuarios que ingresen en los horarios de la mañana, la tarde, la noche, los sábados y domingos.
Estos reportes deben contener: código, nombre del usuario, y fecha de vencimiento de su
mensualidad.
Un usuario debe tener una única rutina que cambia en un tiempo determinado debido al control
de las medidas antropométricas. Varios usuarios pueden tener la misma rutina.
Con el fin de ampliar la información que se maneja, a continuación se relaciona un ejemplo que
ilustre sobre algunos de sus procesos:
Ejemplo de datos personales de usuario:
Nombre del usuario
: Luis Jimenez
Código
: M – 0095
Tipo de documento de identidad
: Cédula de ciudadanía
Número
: 54.963.988 de Popayán (Cauca)
Fecha de nacimiento
: 4 de junio de 1982
Sexo
: Masculino
Estatura
: 1.69 m
Tipo de sangre
: O+
Antecedentes médicos
Medicamentos que consume
Dirección
Teléfono fijo
Celular
Email
Código de rutina
: Hipertensión arterial
: Ninguno
: Cll 33 N #12-125 B/Los Olivos
: 8-996598
: 314-1592653
: [email protected]
: MB-001
Ejemplo de control de medidas antropométricas:
Código de usuario: M-0095 (M significa que es de sexo masculino y 0095 el código)
Medida 1
Medida 2
Medida 3
Fecha
12/11/2009
12/12/2009
12/01/2010
Peso
120 Kg
100 Kg
90 Kg
Hombro
140 cm
120 cm
110 cm
Pecho (busto)
150 cm
130 cm
100 cm
Brazo
45 cm
40 cm
35 cm
Antebrazo
37 cm
33 cm
30 cm
Cintura
145.5. cm
135 cm
110 cm
Cadera
100.10 cm
95 cm
90 cm
Pierna superior
95.7 cm
90 cm
85.6 cm
Pierna media
90.4 cm
85.3 cm
80.5 cm
Pantorrilla
56.5 cm
50.5 cm
49.5 cm
Ejemplo de rutina:
Código del rutina: MB-001 (M significa que es de sexo masculino, B que está diseñada para
bajar de peso y 001 el número de la rutina, si por ejemplo fuera FS-001 indicaría que es de sexo
femenino y que diseñada para subir de peso “S”). A continuación se presenta un modelo de
rutina para cuatro días:
Día 1
Ejercicio
Repeticiones
Press de banco plano
12-10-8-8
Press mancuerna inclinado
10-10-8-8
Peck deck
10-10-8-8
Curl alternado mancuerna
10-8-6
Curl barra Z
8-8-8
Abdominales máquina
5 x 30
Día 2
Ejercicio
28. Repeticiones
Sentadilla
15-12-10-8
Extensión pierna
15-12-10-8
Press pierna
15-12-10-8
Pollo asado
15-12-10-8
Curl femoral
15-8-6-8
Abductores
20-15-10-8
Abdominales exprimidas
5 x 30
Abdominales laterales
5 x 30
Día 3
Ejercicio
29. Repeticiones
Remo polea horizontal
15-12-10-8
Remo polea vertical atrás
15-12-10-8
Remo T abajo
15-12-10-8
Tríceps polea
15-12-8-6
Tríceps copa
15-15-10-8
Abdominales exprimidas
5 x 50
Abdominales laterales
5 x 30
Día 4
Ejercicio
30. Repeticiones
Press militar atrás
15-12-10-8
Press militar delante
15-12-10-8
Press militar mancuerna
15-12-10-8
Laterales mancuerna
15-12-10-8
Exprimidas con apoyo
4 x 50
Giros con palo
15 minutos
Abdominales exprimidas
5 x 50
Abdominales laterales
Ejemplo de control de asistencia de usuarios:
Código de usuario: M-0095
Mes: Diciembre de 2009
Domingo
Lunes
Martes
Miércoles
6
x
13
20
7
x
14
x
21
x
5 x 30
Jueves
Viernes
1
2
x
3
4
8
9
x
10
11
17
x 18
24
x 25
15
x
16
22
x
23
x
x
Sábado
5
x
12
x
19
x
26
x
27
x 28
x
29
x 30
x 31
Las “x” contiguas a cada fecha indican que el usuario asistió ese día al gimnasio, el horrio de
asistencia a clases de aeróbicos, y control de asistencia de instructores funcionan de manera
similar al proceso de control de asistencia de usuarios.
Los procesos que hacen falta por ilustrar, los deberá implementar de acuerdo al análisis y
criterios de diseño que usted escoja.
31.
Descargar