Вы находитесь на странице: 1из 12

EJERCICIOS

ARREGLOS DE UNA DIMENSIN .

"" 1. En un-arreglo se ha almacenado el nmero total de toneladas de cereales cosechadas durante cada mes del ao anterior. Se desea la siguiente informacin: -i. . ) El promedio anuaPde toneladas cosechadas, . b) Cuntos meses -tuvieron una cosecha superior al promedio anual? c) Cuntos 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) b) ; -c} i) El promedio general del grupo.- ' : / . . ' 'Nmero de alumnos aprobados y nmero de alumnos reprobados. Porcentaje de alumnos aprobados y porcentaje de alumnos reprobados, Nmero de alumnos cuya calificacin fue mayor o igual a 8. ['

3. Dada una cadena de/caracteres, como dato, se desea saber el nme-ro de veces que aparecen las letras 'a', 'b',.. .,'z' y 'A', 'E',.. .,'Z' en dicha cadena. a) b) c) Escriba un programa que resuelva el problema. Si us arreglos, cuntos necesit? Por qu? Existe otra forma de resolverlo? ~

4. Una compaa almacena la informacin relacionada a sus proveedores en los siguientes arreglos: ....':<
PROVEEDORES . -.

p,

Pl

P)

Cada p es. el nombre del proveedor .Este arreglo est ordenado alfabticamente.
CIUDAD
c,

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


NUMERO DE ARTCULOS

Cada a es el nmero de artculos 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 en la que reside y el nmero de artculos que provee. b) Actualizar el nombre.de la ciudad, en caso de que un proveedor cambie de domicilio. Los datos sern el nombre del proveedor y el nombre - de la ciudad a la cual se mud. c) Actualizar el nmero de artculos, manejados por un proveedor en caso de que ste aumente o disminuya. Los datos sern el nombre del proveedor y la cantidad en la que aumenta (+) o disminuye (-) el total de ' artculos que provee. >''.': d) La compaa incorpora un nuevo proveedor. Actualizar los arreglos sin alterar el orden de PROVEEDORES. Los datos sern el nombre del proveedor, el nombre de la ciudad y el total de arriciaos que provee. e) La compaa da de baja a un proveedor. Actualizar los arreglos. El dato ser el nombre del proveedor.

5. ' Una inmobiliaria tiene informacin sobre departamentos en renta almacenada en dos arreglos:
EXTENSIN

e,

e,

El arreglo EXTENSIN almacena la superficie, en metros cuadrados, de cada uno de los N departamentos.
PRECIO

p,

'.

p,

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

rf) El nombre del centro turstico que ms restaurantes tiene con relacin al nmero de habitaciones. 7 Se tienen tres arreglos: SUR, CENTRO y NORTE que almacenan los nom'. bres de los pases de Sur, Centro y Norteamrica respectivamente. Los tres arreglos estn ordenados alfabticamente. Escriba un programa que mezcle los tres arreglos anteriores, formando un cuarto arreglo, AMRICA, en el cual aparezcan los nombres de todos los pases del continente ordenados alfabticamente. 8. Se tienen dos arreglos: CINES y TEATROS. El primero almacena los nombres de todos los cines de la ciudad. Est ordenado alfabticamente de manera ascendente: CINES[1] < CINES[2] < ... < CINES[N] El segundo arreglo guarda los nombres de todos los teatros de la ciudad. Est ordenado alfabticamente de manera descendente: ' TEATROS[1] > TEATROS[2] > ... > TEATROS[fC]

Escriba un programa que mezcle estos arreglos formando un tercero, ENTRETENIMIENTOS, que quede ordenado alfabticamente de manera ascendente. 9. Se tienen registradas las calificaciones obtenidas en un examen por 50 alumnos. Los datos son cal^, cal2, ... , calsa, donde cal, es un nmero entero comprendido entre los valores O y 10 (O < ccil < 10). Escriba un programa que calcule e imprima la frecuencia de cada uno de los posibles valores. La salida del programa debe ser como la que se muestra a continuacin:
Calificacin 0 1 2 3 4 10 Frecuencia 1 ALUMNOS 4 ALUMNOS 2 ALUMNOS 3 ALUMNOS

10. Escriba sus propios algoritmos para insertar, eliminar o modificar un elemento de un arreglo: a) b) Si el arreglo est desordenado. Si el arreglo est ordenado.

a)

b)

Llega un cliente a la inmobiliaria y solicita rentar un departamento.'Si existe alguno con superficie mayor o igual a la buscada y precio menor o igual al buscado, se dar de baja al departamento seleccionado. Se vence un contrato y el cliente no desea renovarlo. Se deben actualizar los arreglos.
-

Se tiene la siguiente informacin:


CT a,

En el arreglo CT se almacenan los nombres de N centros tursticos del pas.


H

En el arreglo H se almacena el nmero de habitaciones de cada tipo (sencilla o doble) de cada centro turstico. Por ejemplo: H[l] guarda H[2] guarda H[3] guarda H[4] guarda etc. el nmero el nmero el nmero el nmero de habitaciones sencillas del centro 1. de habitaciones dobles del centro 1. de habitaciones sencillas del centro 2. de habitaciones dobles del centro 2.

TR
C,

En el arreglo TR se almacena el nmero total de restaurantes por centro turstico. Deber hacer un programa que pueda proporcionar la siguiente informacin: a.) b) c) El nombre del centro turstico que cuenta con ms restaurantes. El nombre del centro turstico que cuenta con ms habitaciones (teniendo en cuenta las sencillas y las dobles). Dado el nombre de un centro turstico como dato, informar cuntas habitaciones tiene (sencillas, dobles y el total).

ARREGLOS MULTIDIMENSIONALES 11. Sean los arreglos bidimensionales A(M X N) y B(M, X N) Donde: 1 < M < 10, 1 < N < 20, aj 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 qjlene de ceros una matriz A(N X N) excepto en la diagonal principal donde debe asignar 1. Si N = 4, la matriz debe quedar:
2 3
0 0 0 0 0

1
2 3 4

1 0 0 0

V
0 0

1
0

14. Escriba un programa que intercambie por rengln los elementos de un arreglo bidimensional. Los elementos del rengln 1 deben intercambiarse con. los del rengln N, los del rengln 2 con los del N - 1, y as sucesivamente. Por ejemplo, si A es:

1
2 3 4

1 0 2 9

4
87

5 1
10
7

-5

4 5

El resultado de la operacin debe ser:

1
2 3
4

9
2

5 4 87 4

7 10 1 8

5 . 3 0 -5

0 1

Detienen los costos de produccin de tres departamentos (dulces, bebidas v ;:~;-r :_ ; irrresrrr.dier.res a los 12 meses del ano anterior.
_ :
bebidas conservas

,:,-:

: -------

Escriba ur_ rrrerar^a ue rue_a rr:r :r a) b) c) d)

a ;:ru:;":i :rj:r~;;:n:

En qu mes se registr el mayor costo de produccin de dulces? Promedio anual de los costos de produccin de bebidas. En qu mes se registr el mayor costo de produccin en bebidas, y en qu mes el menor costo? Cul fue el rubro que tuvo el menor cosco de produccin en diciembre?

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

30

19. Sean A(M X N) y B(N) dos arreglos de dos y una dimensin respectivamente. Escriba un programa que asigne valores a A, partir de B teniendo en cuenta los siguientes criterios: o) a,; = (n> b) fl~ = 0 Si;<,. Si,>,.

20. Dado el problema planteado en la seccin 1.3 escriba un programa que pueda proporcionar la siguiente informacin:
a

) Cul fue el departamento que ms produccin obtuvo al cabo de los 4 aos? b) En qu mes del segundo aos se alcanz el mayor nivel de produccin? c ) En qu ao se produjo ms? 2) En qu departamento, mes y ao se tuvo el mayor nivel de produccin de la compaa?

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: Ei rrrzr.edi: el grupo de profesores. .'.: ~ r:; i -:. rrcfesor ms joven del grupo. c ) NcKiibre ddprofesor de ms edad. -' Xrr.er: e rr:reseras con edad mayor al promedio. -- Nrr.er: r;e rr: :e;:r5 con edad menor al promedio. 22. Resuelva el problema 21 con tres arreglos paralelos. Compare sus soluciones.
NOM3RE EDAD

Escriba un programa para calcular: * a) El promedio general de calificaciones de los 30 alumnos (considerando los 6 exmenes). - b) El alumno que obtuvo la mayor calificacin en el tercer examen. a c) El alumno (si lo hubiera) que obtuvo la mayor calificacin en el primero y en el sexto examen, rf) Dado el nmero que identifica a un alumno, informar en qu examen logr la menor calificacin. e) En cul examen fue ms alto el promedio de los 30 alumnos? . . 17. Escriba un programa que genere e imprima un cuadrado mgico de dimensin N (N es entero, positivo e impar). Un cuadrado -mgico es una matriz cuadrada de orden N, que contiene a los nmeros naturales del uno al N * N, y donde la suma de cualquiera de los renglones, columnas o diagonales principales es siempre la misma. Puede utilizar los siguientes pasos para generar un cuadrado mgico: a) El nmero 1 se coloca en la casilla central del primer rengln. b) El siguiente nmero se coloca en la casilla correspondiente al rengln anterior y columna posterior. c) El rengln anterior al primero es el ltimo, y la columna posterior a la ltima es la primera. d) Si el nmero es un sucesor de un mltiplo de N, no se aplica la regla 2, sino que se coloca en la casilla del rengln posterior y en la misma columna. Si N = 5, el cuadrado generado debe quedar:

1
2 3 4 5

17 23

24

1 '
7

8
14 20 21

15 16 22

5 6
12 18

4
10

13 19 25

3 9

11'

18. Sean A(M X N) y B(N) arreglos de dos y una dimensin respectivamente. Escriba un programa que asigne valores "a B, a partir de A teniendo en cuenta los siguientes criterios: Si; es impar

Si es

'

23. En una escuela, de cada alumno se tienen los siguientes .da tos: . Nombre Matrcula Nmero de semestres cursados Calificacin promedio por semestre, . . ."

Escriba un programa que, dada la informacin de N alumnos, pueda realizar las siguientes operaciones: a) b) c) Listar nombre y matrcula de estudiantes con promedios generales mayores o iguales a ocho. Actualizar los campos que correspondan cuando un estudiante ha concluido un semestre. Listar nombre y matrcula de estudiantes que hayan obtenido 9. o msde calificacin en todos los semestres cursados hasta- el momento.

24. Una compaa distribuye N productos a distintos comercios de la ciudad. Para ello a almacena en un arreglo toda la informacin relacionada con su mercanca: . Clave Descripcin Existencia Mnimo 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 correspondan, y verificar que la nueva existencia no est por debajo del mnimo. (Datos: clave, cantidad vendida.) b) Reabastecimiento de un.producto: se deben actualizar los campos que correspondan. (Datos: clave, cantidad comprada.) c) Actualizar el precio de un producto. (Datos: clave, porcentaje de aumento.) ti) Informar sobre un producto: se deben proporcionar todos los datos relacionados con un producto. (Dato: clave.) 25. Al momento de su ingreso al hospital, a un paciente se le solicitan los siguientes datos: Nombre Edad Sexo Domicilio: Calle Nmero Ciudad

. ,.' . -.

Telfono Seguro (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 categoras (dadas, por la edad): Nios: hasta 13 aos. Jvenes: mayores de 13 aos y menores de 30 aos. Adultos: mayores de 30 aos. 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 mdico. 26. Una inmobiliaria tiene informacin sobre departamentos en renta. De cada departamento se conoce: > Clave: es un entero que identifica al inmueble. * Extensin: superficie del departamento, en metros cuadrados. Ubicacin: (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 informacin. Escriba un programa capaz de realizar las siguientes operaciones sobre la informacin disponible: 0j Liste los datos de todos los departamentos disponibles que tengan un precio inferior o igual a un cierto valor P. fr). Liste los datos de los departamentos disponibles que tengan una superficie mayor o igual a un cierto valor dado E y una ubicacin excelente. el; Liste el monto de la renta de todos los departamentos alquilados. ") Llega un cliente solicitando rentar un departamento. Si existe un departamento con una superficie mayor o igual a la deseada, con'un precio y una ubicacin que se ajustan a las necesidades del cliente, el departamento se renta. Actualizar los datos que correspondan. e) Se vence un contrato, si no se renueva, actualizar los datos que correspondan.

y)

Se ha decidido aumentar las rentas en un X%. Actualizar los precios de las 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 expresiones: ) ,)
c)

d) e) f) S) /i) ) y) 29. 30.

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

31. 32.

Escriba un subprograma que determine la cardinalidad de un conjunto.' Escriba un programa que lea dos cadenas de caracteres y forme un conjunto con los caracteres que pertenecen a una de las dos cadenas, pero no a ambas. Escriba un programa que lea 3 nmeros enteros cualesquiera entre 100 y 1 000, y forme un conjunto con los dgitos comunes a dichos nmeros. Una galera de arte tiene informacin sobre las actividades desarrolladas por un grupo de 15 pintores, a lo largo de los 12 meses/de los ltimos 10 aos.JLas tareas a desempear por un pintor son: exponer, pintar, terminar _obra, inspirarseJEn un mes puede realizar varias de estas tareas.La estructura para almacenar la informacin ser un arreglo de^dimensiones!]} Nota: decida de qu manera manejar los nombres de los 15 pintores.
/ j ^f^ '
X""

X"
/

^ /s

/
f

^s

n'

x^

/"

s ^ ^

Lx"
x

sf

1 1

x^
^

/ ,xT
X

^^ "\ Lx

15
Meses: ene feh mar
dic

^ k 1 O aos / / ^

Escriba un programa que pueda dar los siguientes datos de inters: n) b) c) d) e) /) g) El nombre del pintor que desarroll las mismas actividades tocos los iiat5s.ru/xo K En qu mes y en qu ao el pintor X se inspir? *** Cul fue el ao en el cual se terminaron menos obras de arte? El nombre de los pintores que expusieron durante todos los meses del ao K. El mes y el ao en el cual todos los pintores terminaron alguna obra. En qu ao el pintor X dedic ms meses a pintar? En qu mes y en qu ao no se termin ninguna obra de ningn pintor?

PROBLEMAS INTERESANTES
(Decida el lector qu estructura de datos debe utilizar para resolverlos.) 33. Escriba un programa que lea un nmero romano, e imprima su equivalente en arbigo. Recuerde que:

i=

i V;

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

. ,

34. Escriba un programa que calcule e imprima los nmeros perfectos comprendidos entre dos nmeros A y B. Un nmero es perfecto si la suma de sus divisores, excepto l mismo, es igual al propio nmero. 35. Escriba un subprograma que reciba como datos el nombre de un da de la semana y un nmero entero N (positivo o negativo), e imprima el da de la-semana correspondiente a N das despus (positivo) o N das antes (negativo) del da 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 nmeros primos menores que cierto nmero dado N. 38. Escriba un programa que calcule e imprima los nmeros primos gemelos menores que un cierto nmero dado N. Dos nmeros son primos gemelos si son nmeros primos con una diferencia entre ellos de exactamente 2. Por ejemplo 3 y 5 son primos gemelos.

Вам также может понравиться