You are on page 1of 3

Universidad de Talca

Facultad de Ingeniera
n
Ingeniera Civil en Computacio

Soluci
on Algortmica
Gua de Trabajo # 6: Ejercicios de desarrollo con iteraciones
03 de octubre de 2006
Indicaci
on: Para cada uno de los siguientes ejercicios, analice el problema, elabore el modelo para los
datos, elabore un plan de pruebas y dise
ne el algoritmo que resuelva el problema.
Los ejercicios del 1 al 7 deben ser entregados en el informe acostumbrado con el plan de pruebas y el
diagrama de flujo el da jueves 12 de octubre. El resto de los ejericios deben ser entregados el lunes 16 de
octubre al inicio del laboratorio. No olvide quedarse con una copia para trabajar en el laboratorio.
1. El n
umero de permutaciones que pueden generarse a partir de un conjunto de n elementos se
conoce como el factorial de n, y se representa como n!. El factorial de n se calcula con la formula:
n! = 1 2 3 . . . n. Por ejemplo, 5! = 1 2 3 4 5 = 120. Dise
ne un algoritmo que permita
calcular el factorial de un n
umero.
2. Construya un programa en lenguaje C que reciba como entrada un n
umero entero, al que llamaremos
n. Su programa debe generar una de las tres siguientes salidas, dependiendo del valor de la entrada
n:
la suma de los terminos desde 1 hasta n, si n es mayor que cero, es decir:
1 + 2 + 3 + + n.
la suma de los terminos negativos desde 1 hasta n, si n es menor que cero, es decir:
1 2 3 (n).
cero si n es cero.
3. Don Pepe tiene los datos de temperaturas del u
ltimo mes y desea saber cuantos das la temperatura
maxima fue 25 C, menor que 25 C y mayor que 25 C. Puede suponer que un valor de temperatura
99 C o -99 C indica el fin de los datos.
4. Memo hace un mes abrio una cuenta corriente en el banco Sacaplata y est
a tratando de cuadrar
su cuenta. El recuerda haber abierto la cuenta con una cantidad determinada de dinero y luego
empezo a utilizarla haciendo varios giros y depositos que tiene anotados. Lo que el no saba era que
por cada giro el banco le hace un cargo de $146. Podra ayudar a Memo a calcular su nuevo saldo
considerando que los valores positivos son abonos y los negativos son giros. El no ha sacado la cuenta
cuantos movimientos son as es considere que un valor 0 indica que no hay mas movimientos.
5. Tito despues de leer El c
odigo Da Vinci ha tomado la costumbre de desafiar a sus amigos para que
resuelvan distintos problemas de secuencias secretas. En particular el problema de hoy consiste en
generar la secuencia de 50 valores de los cuales le dieron los 4 primeros que son 1, 3, 6, 10 . . .. Puede
UD. resolver el problema generando el resto de los valores de la serie?
6. Resuelva el problema de simular el aumento de temperatura de un term
ometro, esto es, que muestre
como se mueve la columna de mercurio suponiendo que originalmente marcaba 0 hasta alcanzar
la temperatura que tiene el elemento que se est
a observando. Ejemplo: Suponiendo que la mezcla
este a 37 , cuando el term
ometro alcanza ese valor se vera:
0
10
20
30
40
|
|
|
|
|
-------------------------------------*

50
|

7. Se tiene un cuadrado y dentro del cuadrado una pulga da saltos hacia la derecha. Cuando llega
al borde del cuadrado la pulga desaparece y reaparece por el borde izquierdo. La pulga puede dar
saltos de 1, 2 o 3cms, en forma aleatoria con igual probabilidad cada uno. Si la pulga da n saltos,
cu
anto cms recorre pulga? Considere que el tama
no del cuadrado es variable.
Ademas construya una simulaci
on gr
afica del problema anterior.
8. Se tiene una tabla con los datos de matrcula, peso, estatura y sexo de los alumnos de la Universidad
de Talca. Construya un algoritmo que calcule y genere como salida el promedio de los pesos y de
las estaturas. Su algoritmo debe entregar estos valores considerando todos los individuos y tambien
diferenciando por sexo. Considere fin de datos la matrcula en cero (0).
9. Los n trabajadores de la empresa PagaPocolograron obtener un aumento de sueldo en el u
ltimo
mes. Este aumento de sueldo se determino por tramo, de acuerdo a la siguiente tabla:

tramo
A
B
C
D

sueldo
0-50000
50001-100000
100001-250000
250001-..

%aumento
7
5
3
1

Don Lalo, due


no de la empresa que conoce el sueldo de cada uno de sus trabajadores desea calcular
el nuevo sueldo de ellos y tambien est
a interesado en saber cuanto mas va a gastar la empresa
despues del aumento.
10. Construya un programa que permita evaluar la siguiente funci
on definida por tramos:

3 x + 36

x4 10
f (x) =
x8 1

si 0 x 2,5
si 2,5 x 4,7
si 4,7 x 6
eoc

El programa debe permitir evaluar la funci


on en tantos puntos como el usuario defina.
11. Una compa
na telefonica cobra las llamadas de forma diferenciada utilizando una poltica peculiar.
Los primeros minutos siempre son mas caros que los siguientes, de acuerdo al siguiente criterio:
Los primeros 10 minutos $100 por minuto
Del minuto 11 en adelante $50 por minuto
Escriba un algoritmo que permita calcular el total de la boleta telefonica de un cliente. No se sabe
cuantas llamadas se hicieron, pero s se conoce la duraci
on de cada llamada efectuada. Por ejemplo,
si el cliente efectuo 5 llamadas, con duraci
on 4, 16, 40, 5, 20, el total de la boleta debera ser 6200,
pues es el resultado de sumar el costo de las 5 llamadas que se hicieron:
400 + 1300 + 2500 + 500 + 1500.
12. La multiplicaci
on rusa permite calcular el producto de dos n
umeros enteros. Al primer n
umero
se le llama multiplicador y al segundo multiplicando. En cada paso es necesario dividir por 2 el
multiplicador y multiplicar por 2 el multiplicando, hasta que el multiplicador llega a ser 1. Durante el
proceso deben sumarse aquellos multiplicandos asociados con multiplicadores impares. El resultado
de esta suma es el resultado del producto.
Por ejemplo, la siguiente tabla muestra el c
alculo de 37 12, en donde 37 es el multiplicador y 12 es
el multiplicando. Observe que se suman solo los multiplicandos que corresponden a multiplicadores
impares: 12 + 48 + 384 = 444.

Multiplicador
37
18
9
4
2
1

Multiplicando
12
24
48
96
192
384

Suma
12
0
48
0
0
384
444

Queremos contar con un algoritmo para calcular el producto de dos n


umeros enteros aplicando el
metodo de la multiplicaci
on rusa.
13. Indice de Contaminacion Ambiental
Las autoridades de Santiago est
an evaluando la posibilidad de incluir en la restriccion, los vehculos
catalticos. Como antecedente se cuenta con el valor del ndice de contaminacion para la ciudad
de los u
ltimos 6 meses. Esta dura medida restrictiva no sera llevada a efecto si el promedio de
contaminacion en los u
ltimos n das es menor que un valor determinado y el da que registra mayor
contaminacion dentro del periodo no supera un cierto valor permitido y se repite menos de una cierta
cantidad de veces. Desarrolle una solucion algortmica que ayude a las autoridades a determinar si
incluir los vehculos con convertidor cataltico en las restricciones de circulaci
on.
14. Definiendo algoritmos para el juego Toque y Famas
Pepito y Lalo est
an cansados de estudiar y est
an pensando en implementar una versi
on simple del
juego de Toque y Fama, el cual consiste en que un jugador adivine la secuencia de n
umeros definida
por su oponente, recibiendo de este como indicaci
on solo el total de Toques y Famas. Se considera
que el jugador ha obtenido una Fama, cuando en la secuencia que ingresa existe un elemento que
est
a en la secuencia que se debe adivinar, y ambos elementos est
an en la misma posicion.
Como Pepito no confa mucho en Lalo, est
a dispuesto a jugar siempre y cuando Lalo se limite
a definir una secuencia de valores, pero todo el proceso de an
alisis de Famas lo lleve a cabo el
computador de la casa. Desarrolle una solucion algortmica que permita que un jugador defina una
secuencia de N n
umeros y el otro jugador la pueda adivinar. La solucion debe considerar que el
jugador que adivina puede hacer varios intentos con un maximo de 10 para tratar de adivinar la
secuencia de valores y en cada caso el computador debe indicar la cantidad de famas obtenidas.
Ejemplo:
Defina secuencia para adivinar(2 3 4 6) // estos valores no se ven...
Ingrese 4 valores m
as: 3 5 7 9
Tiene 0 famas.
Ingrese 4 valores m
as: 3 5 4 6
Tiene 2 famas.
15. Toques
Construya una solucion algortmica que permita implementar la parte deteccion de Toques del juego
Toque y Fama. Un toque se obtiene si al comparar cada dgito de la secuencia ingresada coincide
con alguno de la secuencia a adivinar, pero est
an en posiciones diferentes. La solucion debe ser
compatible con la solucion del problema anterior.
Ejemplo:
Defina secuencia para adivinar(2 3 4 6) // estos valores no se ven...
Ingrese 4 valores m
as: 3 5 7 9
Tiene 1 toque.
Ingrese 4 valores m
as: 3 5 4 6
Tiene 1 toque.
Ingrese 4 valores m
as: 6 5 3 2
Tiene 3 toque.

You might also like