Está en la página 1de 3

CC102 / 2012-II

FC - UNI INTRODUCCI

ON A LA PROGRAMACI

ON OCT, 2012
SEXTO LABORATORIO DIRIGIDO - FUNCIONES
1. Elabore una funcion con la siguiente declaracion:
int EstaEnCuadro(int, int, int, int, int)
a la que se le proporcionara la coordenada superior izquierda, la co-
ordenada inferior derecha y una coordenada arbitraria, y seg un esto
determinara si la coordenada esta en el area del rectangulo denido
por las dos primeras coordenadas.
2. Escribe un programa en C que incorpore una funcion que recibira como
dato un n umero entero N, para obtener el resultado de la siguiente serie:
1
1
2
2
+ 3
3
4
4
+ + N
N
3. Escribir un programa que utilize una funcion para convertir coorde-
nadas polares a rectangulares.
4. Calcular el coeciente del binomio con una funcion factorial

m
n

=
m!
n!(m n)!
5. Realizar una funcion que calcule (muestre en pantalla) el area o el
volumen de un cilindro, seg un se especique. Para distinguir un caso
de otro se le pasara el caracter a (para area) o v (para el volumen).
Ademas hemos de pasarle a la funcion el radio y la altura.
6. Realice un programa que realice las funciones que a continuacion se
indican. Todas las opciones deben ser presentadas al usuario a traves
de un men u de opciones:
Escriba una funcion en la que se introduzcan 10 enteros y deter-
mine cuales de estos enteros son pares y cuales son impares. Un
n umero entero es un n umero perfecto si sus factores, incluyendo
al 1 (pero excluyendo en el nmero mismo), suman igual que el
n umero. Ejemplo: 6 es un n umero perfecto porque 6= 1+2+3.
1
Escriba una funcion que regrese los primeros 100 n umeros perfectos.
Esta funcion debe tener una funcion anidada que determine al
n umero perfecto
7. El juego de dados conocido como craps (tiro perdedor) es muy pop-
ular, realice un programa que simule dicho juego, a continuacion se
muestran las reglas para los jugadores:
Un jugador tira dos dados. Cada dato 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 el punto o en la tirada .
Para ganar, el jugador debera continuar tirando los dados hasta
que haga su tirada .
El jugador perdera si antes de hacer su tirada sale una tirada de
7.
FUNCIONES RECURSIVAS
8. Escriba una funcion recursiva potencia(base, exponente), con ex-
ponente entero positivo, que al ser invocada regrese base
exponente
. Por
ejemplo potencia(3,4)=3*3*3*3. Luego extienda su programa para con-
siderar el caso con exponente cero o negativo.
9. La serie Fibonacci
0, 1, 1, 2, 3, 5, 8, 13, 21,
empieza con los terminos 0 y 1 y tiene la propiedad que cada termi-
no siguiente es la suma de los dos terminos precedentes. Escriba una
funcion recursiva bonacci(n) que calcule el n umero de bonacci de
orden n.
2
10. Escrbase un programa recursivo que eval ue el n umero combinatorio

m
n

. Calcularlo mediante llamadas al factorial da lugar a valores inter-


medios exageradamente altos, que se deben evitar. Resolverlo utilizando
unicamente recursividad lineal. Para ello habra que expresar

m
n

en
funcion de

m
n1

.
11. Realizar un programa que determine si un cierto n umero natural es
cuadrado perfecto perfecto(x). Cabe recordar que un n umero natural
se dice cuadrado perfecto precisamente cuando su raz cuadrada es
entera.
12. Escriba una funcion recursiva MCD que regrese el maximo com un di-
visor de x y de y. El maximo com un divisor de los enteros x e y es el
n umero ms grande que divide en forma completa tanto a x como a y.
El gcd de x y de y, se dene en forma recursiva como sigue: Si y es
igual a 0, entonces gcd (de x, y) es x; de lo contrario gcd (de x, y) es
igual a gcd(y, x % y).
3

También podría gustarte