Ejercicios Vectores - Matrices Struct

12
EJERCICIOS ARREGLOS DE UNA DIMENSIÓN . , . "" 1. En un-arreglo se ha almacenado el número total de toneladas de cereales cosechadas durante cada mes del año anterior. Se desea la siguiente infor- mación: -i- .. «) El promedio anuaPde toneladas cosechadas, . b) ¿Cuántos meses -tuvieron una cosecha superior al promedio anual? c) ¿Cuántos meses tuvieron una cosecha inferior al promedio anual? Escriba un programa que proporcione estos datos. .'-..'•:'' 2. En un arreglo se almacenan las calificaciones finales de N alumnos. Escriba un programa que calcule e'imprima: . a) El promedio general del grupo.-- ' : /• . .' •'- b) Número de alumnos aprobados y número de alumnos reprobados. ; -c} Porcentaje de alumnos aprobados y porcentaje de alumnos reprobados, ¡i) Número de alumnos cuya calificación fue mayor o igual a 8. [' 3. Dada una cadena de/caracteres, como dato, se desea saber el núme-ro de veces que aparecen las letras 'a', 'b',.. .,'z' y 'A', 'E',.. .,'Z' en dicha cadena. a) Escriba un programa que resuelva el problema. b) Si usó arreglos, ¿cuántos necesitó? ¿Por qué? c) ¿Existe otra forma de resolverlo? ~ 4. Una compañía almacena la información relacionada a sus proveedores en • los siguientes arreglos: .... ':< PROVEEDORES . -.í p, Pl P) Cada es. el nombre del proveedor ¡.Este arreglo está ordenado alfabética- mente. CIUDAD c,

description

ejercicios para ayudarte a mejorar en programacion (ojo una profesora me los dio son muy buenos)

Transcript of Ejercicios Vectores - Matrices Struct

Page 1: Ejercicios Vectores - Matrices Struct

EJERCICIOS

ARREGLOS DE UNA DIMENSIÓN . ,.

"" 1. En un-arreglo se ha almacenado el número total de toneladas de cerealescosechadas durante cada mes del año anterior. Se desea la siguiente infor-mación: -i-

. . «) El promedio anuaPde toneladas cosechadas,. b) ¿Cuántos meses -tuvieron una cosecha superior al promedio anual?

c) ¿Cuántos meses tuvieron una cosecha inferior al promedio anual?

Escriba un programa que proporcione estos datos. . ' - . . ' • : ' '

2. En un arreglo se almacenan las calificaciones finales de N alumnos. Escribaun programa que calcule e'imprima: .

a) El promedio general del grupo.-- • ' : /• . . ' •'-b) Número de alumnos aprobados y número de alumnos reprobados.

; -c} Porcentaje de alumnos aprobados y porcentaje de alumnos reprobados,¡i) Número de alumnos cuya calificación fue mayor o igual a 8. [' •

3. Dada una cadena de/caracteres, como dato, se desea saber el núme-ro deveces que aparecen las letras 'a', 'b',.. .,'z' y 'A', 'E',.. .,'Z' en dicha cadena.

a) Escriba un programa que resuelva el problema.b) Si usó arreglos, ¿cuántos necesitó? ¿Por qué?c) ¿Existe otra forma de resolverlo? ~

4. Una compañía almacena la información relacionada a sus proveedores en •los siguientes arreglos: ....':<

PROVEEDORES . -.í

p, Pl P)

Cada p¡ es. el nombre del proveedor ¡.Este arreglo está ordenado alfabética-mente.

CIUDAD

c,

Page 2: Ejercicios Vectores - Matrices Struct

Cada c¡ es el nombre de la ciudad en la que reside el proveedor,-.

NUMERO DE ARTÍCULOS

Cada a¡ es el número de artículos diferentes que provee el proveedor,-.

Escriba un programa que pueda llevar a cabo las siguientes transacciones:

a) Dado el nombre de un proveedor, informar el nombre de la ciudad enla que reside y el número de artículos que provee.

b) Actualizar el nombre.de la ciudad, en caso de que un proveedor cam-bie de domicilio. Los datos serán el nombre del proveedor y el nombre

- de la ciudad a la cual se mudó.c) Actualizar el número de artículos, manejados por un proveedor en caso

de que éste aumente o disminuya. Los datos serán el nombre del pro-veedor y la cantidad en la que aumenta (+) o disminuye (-) el total de 'artículos que provee. > • • ' ' . ' • :

d) La compañía incorpora un nuevo proveedor. Actualizar los arreglossin alterar el orden de PROVEEDORES. Los datos serán el nombre delproveedor, el nombre de la ciudad y el total de arriciaos que provee.

e) La compañía da de baja a un proveedor. Actualizar los arreglos. El datoserá el nombre del proveedor. •

5. ' Una inmobiliaria tiene información sobre departamentos en renta almace-nada en dos arreglos:

EXTENSIÓN

e, e,

El arreglo EXTENSIÓN almacena la superficie, en metros cuadrados, decada uno de los N departamentos.

PRECIO

p, '. p,

El arreglo PRECIO almacena los precios de alquiler de los N departamen-tos. Este arreglo está ordenado de manera creciente. Considere que no exis-ten departamentos con igual superficie y distintos precios.Escriba un programa que pueda llevar a cabo las siguientes.operaciones:

Page 3: Ejercicios Vectores - Matrices Struct

rf) El nombre del centro turístico que más restaurantes tiene con relaciónal número de habitaciones.

7 Se tienen tres arreglos: SUR, CENTRO y NORTE que almacenan los nom-'. bres de los países de Sur, Centro y Norteamérica respectivamente. Los tres

arreglos están ordenados alfabéticamente.Escriba un programa que mezcle los tres arreglos anteriores, formando

un cuarto arreglo, AMÉRICA, en el cual aparezcan los nombres de todoslos países del continente ordenados alfabéticamente.

8. Se tienen dos arreglos: CINES y TEATROS. El primero almacena los nom-bres de todos los cines de la ciudad. Está ordenado alfabéticamente de ma-nera ascendente:

CINES[1] < CINES[2] < ... < CINES[N]

El segundo arreglo guarda los nombres de todos los teatros de la ciu-dad. Está ordenado alfabéticamente de manera descendente:

' TEATROS[1] > TEATROS[2] > ... > TEATROS[fC]

Escriba un programa que mezcle estos arreglos formando un tercero, EN-TRETENIMIENTOS, que quede ordenado alfabéticamente de manera as-cendente.

9. Se tienen registradas las calificaciones obtenidas en un examen por 50 alum-nos. Los datos son cal^, cal2, ... , calsa, donde cal, es un número entero com-prendido entre los valores O y 10 (O < ccil¡ < 10).

Escriba un programa que calcule e imprima la frecuencia de cada unode los posibles valores.

La salida del programa debe ser como la que se muestra a continua-ción:

Calificación Frecuencia

0 1 ALUMNOS1 —2 —3 4 ALUMNOS4 2 ALUMNOS

10 3 ALUMNOS

10. Escriba sus propios algoritmos para insertar, eliminar o modificar un ele-mento de un arreglo:

a) Si el arreglo está desordenado.b) Si el arreglo está ordenado.

Page 4: Ejercicios Vectores - Matrices Struct

a) Llega un cliente a la inmobiliaria y solicita rentar un departamento.'Siexiste alguno con superficie mayor o igual a la buscada y precio menoro igual al buscado, se dará de baja al departamento seleccionado.

b) Se vence un contrato y el cliente no desea renovarlo. Se deben actuali-zar los arreglos.

-

Se tiene la siguiente información:

CT

a,

En el arreglo CT se almacenan los nombres de N centros turísticos del país.

H

„ í

En el arreglo H se almacena el número de habitaciones de cada tipo (senci-lla o doble) de cada centro turístico.Por ejemplo:

H[l] guarda el número de habitaciones sencillas del centro 1.H[2] guarda el número de habitaciones dobles del centro 1.H[3] guarda el número de habitaciones sencillas del centro 2.H[4] guarda el número de habitaciones dobles del centro 2.etc.

TR

C,

En el arreglo TR se almacena el número total de restaurantes por centroturístico.Deberá hacer un programa que pueda proporcionar la siguiente informa-ción:

a.) El nombre del centro turístico que cuenta con más restaurantes.b) El nombre del centro turístico que cuenta con más habitaciones (te-

niendo en cuenta las sencillas y las dobles).c) Dado el nombre de un centro turístico como dato, informar cuántas

habitaciones tiene (sencillas, dobles y el total).

Page 5: Ejercicios Vectores - Matrices Struct

ARREGLOS MULTIDIMENSIONALES

11. Sean los arreglos bidimensionales A(M X N) y B(M, X N)

Donde: 1 < M < 10,1 < N < 20,a¡j y fe, • son reales.

Escriba un programa que calcule C(M X N) = A(M X N) + B(M-X N).

12. Sean los arreglos bidimensionales A(M X N) y B(N X P)

Donde: 1 < M < 10,1 < N < 10,1 < P < 5,íi,-y- y b,-; son reales. '"•

j

Escriba un programa que calcule C(M X P) = A(M X N) * B(N X P)

13. Escriba un programa qüéjlene de ceros una matriz A(N X N) excepto en ladiagonal principal donde debe asignar 1. Si N = 4, la matriz debe quedar:

2 3

1

2

3

4

1

0

0

0

0

V

0

0

0

0

1

0

0

0

0

1

14. Escriba un programa que intercambie por renglón los elementos de un arre-glo bidimensional. Los elementos del renglón 1 deben intercambiarse con.los del renglón N, los del renglón 2 con los del N - 1, y así sucesivamente.

Por ejemplo, si A es:

1

2

3

4

1

0

2

9

4

87

4

5

5

1

10

7

-5

0

5

El resultado de la operación debe ser:

Page 6: Ejercicios Vectores - Matrices Struct

1

2

3

4

9

2

0

1

5

4

87

4

7

10

1

8

5

. 3

0 •

-5

Detienen los costos de producción de tres departamentos (dulces, bebidasv ;:~;-r :_ ; irrresrrr.dier.res a los 12 meses del ano anterior.

_ : bebidas conservas

,:,-:

: -------

Escriba ur_ rrrerar^a ue rue_a rr:r :r a ;:ru:;":i :rj:r~;;:¿n:

a) ¿En qué mes se registró el mayor costo de producción de dulces?b) Promedio anual de los costos de producción de bebidas.c) ¿En qué mes se registró el mayor costo de producción en bebidas, y en

qué mes el menor costo?d) ¿Cuál fue el rubro que tuvo el menor cosco de producción en diciem-

bre?

16. Se tiene una tabla con las calificaciones obtenidas por 30 alumnos en seis"^ exámenes diferentes:

30

Page 7: Ejercicios Vectores - Matrices Struct

19. Sean A(M X N) y B(N) dos arreglos de dos y una dimensión respectiva-mente.

Escriba un programa que asigne valores a A, á partir de B teniendo en cuentalos siguientes criterios:

o) a,; = (¿n> Si;<,.b) fl~ = 0 Si ,>, .

20. Dado el problema planteado en la sección 1.3 escriba un programa que puedaproporcionar la siguiente información:

a) ¿Cuál fue el departamento que más producción obtuvo al cabo de los 4años?

b) ¿En qué mes del segundo años se alcanzó el mayor nivel de produc-ción?

c) ¿En qué año se produjo más?2) ¿En qué departamento, mes y año se tuvo el mayor nivel de produc-

ción de la compañía?

PARALELOS-REGISTROS

O departamento de personal de una escuela tiene registros del nombre,r - : í dad de cada uno de los profesores adscritos al mismo.

NOMBRE SEXO EDAD

^.-::.:: ._- rr: crsrr.a que calcule e imprima los siguientes datos:

E¿i¿ rrrzr.edi: ¿el grupo de profesores..'.: ~ r:; i -:. rrcfesor más joven del grupo.

c) NcKiibre ddprofesor de más edad.-' Xúrr.er: ¿e rr:reseras con edad mayor al promedio.-- Núrr.er: r;e rr: :e;:r¿5 con edad menor al promedio.

22. Resuelva el problema 21 con tres arreglos paralelos. Compare sus solu-ciones.

NOM3RE EDAD

N N

Page 8: Ejercicios Vectores - Matrices Struct

Escriba un programa para calcular:

* a) El promedio general de calificaciones de los 30 alumnos (consideran-do los 6 exámenes).

- b) El alumno que obtuvo la mayor calificación en el tercer examen.•a c) El alumno (si lo hubiera) que obtuvo la mayor calificación en el prime-

ro y en el sexto examen,rf) Dado el número que identifica a un alumno, informar en qué examen

logró la menor calificación.» e) ¿En cuál examen fue más alto el promedio de los 30 alumnos? . .

17. Escriba un programa que genere e imprima un cuadrado mágico de di-mensión N (N es entero, positivo e impar). Un cuadrado -mágico es unamatriz cuadrada de orden N, que contiene a los números naturales del unoal N * N, y donde la suma de cualquiera de los renglones, columnas odiagonales principales es siempre la misma. Puede utilizar los siguientespasos para generar un cuadrado mágico:

a) El número 1 se coloca en la casilla central del primer renglón.b) El siguiente número se coloca en la casilla correspondiente al renglón

anterior y columna posterior.c) El renglón anterior al primero es el último, y la columna posterior a la

última es la primera.d) • Si el número es un sucesor de un múltiplo de N, no se aplica la regla 2,

sino que se coloca en la casilla del renglón posterior y en la mismacolumna.

Si N = 5, el cuadrado generado debe quedar:

1

2

3

4

5

17

23

4

10

11'

24

5

6

12

18

1 •'

7

13

19

25

8

14

20

21

2

15

16

22

3

9

18. Sean A(M X N) y B(N) arreglos de dos y una dimensión respectivamente.Escriba un programa que asigne valores "a B, a partir de A teniendo en cuen-ta los siguientes criterios:

Si; es impar

Si' es

Page 9: Ejercicios Vectores - Matrices Struct

23. En una escuela, de cada alumno se tienen los siguientes .da tos: .•

• Nombre• Matrícula . .• Número de semestres cursados • ."• Calificación promedio por semestre,

Escriba un programa que, dada la información de N alumnos, pueda reali-zar las siguientes operaciones:

a) Listar nombre y matrícula de estudiantes con promedios generales ma-yores o iguales a ocho.

b) Actualizar los campos que correspondan cuando un estudiante ha con-cluido un semestre.

c) Listar nombre y matrícula de estudiantes que hayan obtenido 9. o más-de calificación en todos los semestres cursados hasta- el momento.

24. Una compañía distribuye N productos a distintos comercios de la ciudad.Para ello amercancía:Para ello almacena en un arreglo toda la información relacionada con su

. Clave• Descripción• Existencia• Mínimo a mantener de existencia -,.• Precio unitario

Escriba un programa que pueda llevar a cabo las siguientes operaciones:

a) Venta de un producto: se deben actualizar los campos que correspon-dan, y verificar que la nueva existencia no esté por debajo del mínimo.(Datos: clave, cantidad vendida.)

b) Reabastecimiento de un.producto: se deben actualizar los campos quecorrespondan. (Datos: clave, cantidad comprada.)

c) Actualizar el precio de un producto. (Datos: clave, porcentaje de au-mento.)

ti) Informar sobre un producto: se deben proporcionar todos los datosrelacionados con un producto. (Dato: clave.)

25. Al momento de su ingreso al hospital, a un paciente se le solicitan los si-guientes datos:

• Nombre• Edad• Sexo• Domicilio: — Calle

— Número . ,.' . •-.— Ciudad

Page 10: Ejercicios Vectores - Matrices Struct

TeléfonoSeguro (este campo tendrá el valor VERDADERO si el paciente tiene

o y FALSO en otro caso) •

Escriba un programa que pueda llevar a cabo las siguientes operaciones:

n)~ Listar los nombres de todos los pacientes hospitalizados.b) Obtener el porcentaje de pacientes hospitalizados en las siguientes ca-

tegorías (dadas, por la edad):

Niños: hasta 13 años.Jóvenes: mayores de 13 años y menores de 30 años.Adultos: mayores de 30 años.

cj i Obtener el porcentaje de hombres y de mujeres hospitalizados.dy Dado el nombre de un paciente, listar todos los datos relacionados con

/dicho paciente.e) Calcular el porcentaje de pacientes que poseen seguro médico.

26. Una inmobiliaria tiene información sobre departamentos en renta. De cadadepartamento se conoce:

• > Clave: es un entero que identifica al inmueble.• * Extensión: superficie del departamento, en metros cuadrados.• Ubicación: (excelente, buena, regular, mala). •• * Precio: es un real.*• « Disponible: VERDADERO si está disponible para la renta y FALSO si

ya está rentado.

Diariamente acuden muchos clientes a la inmobiliaria solicitando informa-ción.

Escriba un programa capaz de realizar las siguientes operaciones sobrela información disponible:

0j£ Liste los datos de todos los departamentos disponibles que tengan unprecio inferior o igual a un cierto valor P. •

fr). Liste los datos de los departamentos disponibles que tengan una su-perficie mayor o igual a un cierto valor dado E y una ubicación exce-lente.

el; Liste el monto de la renta de todos los departamentos alquilados.") Llega un cliente solicitando rentar un departamento. Si existe un de-

partamento con una superficie mayor o igual a la deseada, con'un pre-cio y una ubicación que se ajustan a las necesidades del cliente, eldepartamento se renta. Actualizar los datos que correspondan.

e) Se vence un contrato, si no se renueva, actualizar los datos que corres-pondan.

Page 11: Ejercicios Vectores - Matrices Struct

y) Se ha decidido aumentar las rentas en un X%. Actualizar los precios delas rentas de los departamentos no alquilados.

27. Resuelva el problema 6 utilizando arreglos de registros.

CONJUNTOS

28. Determine el valor de verdad (falso o verdadero) de las siguientes expre-siones:

„) [1,2,3] = [3,2,1]í,) [12,14,16] < [12,14,16]c) [3,6,7] = [3,6,7] * [1..10]d) [1-20] > [1..30]e) [2,4,6,8,10] * [1.. 10]f) [1,2,3,4,5,6,7,8,9,10] * [1..10]S) 'B' e ['C .. T]/i) rojo e ([azul, rojo, blanco] - [azul])í) 3 e ([1..10] - [1,3,5,7^9])y) 'M' e ['a' .. 'z']

29. Escriba un subprograma que determine la cardinalidad de un conjunto.'30. Escriba un programa que lea dos cadenas de caracteres y forme un conjun-

to con los caracteres que pertenecen a una de las dos cadenas, pero no aambas.

31. Escriba un programa que lea 3 números enteros cualesquiera entre 100 y1 000, y forme un conjunto con los dígitos comunes a dichos números.

32. Una galería de arte tiene información sobre las actividades desarrolladaspor un grupo de 15 pintores, a lo largo de los 12 meses/de los últimos 10años.JLas tareas a desempeñar por un pintor son: exponer, pintar, terminar_obra, inspirarseJEn un mes puede realizar varias de estas tareas.¿La es-tructura para almacenar la información será un arreglo de^dimensiones!]}

Nota: decida de qué manera manejará los nombres de los 15 pintores.

n'

1

1

15

j¿^f^

X""

/

' £x^sf

X"

//"

^

^ /

/sx^

fs

^ ^/X

^ ^s

s Lx"^ " \^ Lx,xT xT

^ k

^/

1 O años

Meses: ene feh mar dic

Page 12: Ejercicios Vectores - Matrices Struct

Escriba un programa que pueda dar los siguientes datos de interés:

n) El nombre del pintor que desarrolló las mismas actividades tocos losiiat5s.ru/xo K

b) ¿En qué mes y en qué año el pintor X se inspiró? ***c) ¿Cuál fue el año en el cual se terminaron menos obras de arte?d) El nombre de los pintores que expusieron durante todos los meses del

año K.e) El mes y el año en el cual todos los pintores terminaron alguna obra./) ¿En qué año el pintor X dedicó más meses a pintar?g) ¿En qué mes y en qué año no se terminó ninguna obra de ningún pin-

tor?

PROBLEMAS INTERESANTES

(Decida el lector qué estructura de datos debe utilizar para resolverlos.)

33. Escriba un programa que lea un número romano, e imprima su equivalenteen arábigo.

Recuerde que:

i = i V;V = 5X = 10L = 50C = 100D = 500M = 1 000

-

34. Escriba un programa que calcule e imprima los números perfectos com-. , prendidos entre dos números A y B. Un número es perfecto si la suma de

sus divisores, excepto él mismo, es igual al propio número.35. Escriba un subprograma que reciba como datos el nombre de un día de la

semana y un número entero N (positivo o negativo), e imprima el día dela-semana correspondiente a N días después (positivo) o N días antes (ne-gativo) del día dado.

36. Lo mismo que en el problema 35, pero ahora con respecto a un mes.37. Escriba un programa que calcule e imprima los números primos menores

que cierto número dado N.38. Escriba un programa que calcule e imprima los números primos gemelos

menores que un cierto número dado N. Dos números son primos geme-los si son números primos con una diferencia entre ellos de exactamente 2.Por ejemplo 3 y 5 son primos gemelos.