FP1 - Práctica 5

Fecha entrega 21-11-2002

Las soluciones no son únicas, estas son las que yo he programado para el laboratorio, no son las mejores seguramente.

PROBLEMAS

(*) 1. Escribir una función potencia(x, y) que calcule el valor de x elevado a y mediante

multiplicaciones, sabiendo que y siempre es un valor natural. No se puede utilizar la función pow.

Solución

 

(*) 2. Escribir una función que genere números aleatorios con valor comprendido en el intervalo

definido por dos números naturales, incluido el inicio y sin incluir el final.

Solución

 

3. Escribir una función que redondee un número real al número de decimales que le digamos,

redondeando siempre al número más bajo. Por ejemplo, para el número 2.1352 y 2 decimales

devolverá 2.13. Para realizar el redondeo utilizar la conversión explícita de real a entero, que

elimina los decimales. Para el ejemplo la operación a realizar sería: int(10^2 * 2.1352) / 10^2.

Solución

 

(*) 4. Escribe una función que transforme un punto en coordenadas polares a coordenadas

rectangulares. La fórmula para realizar la transformación es la siguiente:

x = r * cos(á) y = r * sin(á)

Solución

 

(**) 5. Escribir un programa que permita generar automáticamente combinaciones aleatorias para

jugar a la lotería primitiva y a la quiniela. El programa deberá mostrar en pantalla el siguiente

menú:

1- Lotería primitiva

2- Quiniela de futbol

3- Salir

y deberá repetirse hasta que se elija la opción 3.

Para la opción 1 el programa mostrará por pantalla 6 números con valor entre 1 y 49 más el

complementario, también entre 1 y 49. Para la opción 2 mostrará 14 caracteres que sólo podrán

valer '1', 'X' o '2', .

Solución

 

RECURSIVIDAD

(*) 6. Realizar una función recursiva que calcule el factorial de un número entero. La primera

sentencia de la función deberá escribir en pantalla el valor del cual se va a calcular el factorial y la

última sentencia antes del return deberá escribir el resultado por pantalla.

Solución

 

(*) 7. Realizar un programa que pida un entero positivo por teclado y llame a una función recursiva

para visualizar el número en orden inverso. Ejemplo: 234 --> 432

Solución

 

8. Escribir una función recursiva que convierta un entero a binario. A la función se le pasará un

entero (por ejemplo 6) y devolverá como resultado el número en binario (para 6, 110).

Solución

 

9. Realizar una función que lea una serie de caracteres por teclado y los visualice en orden

inverso. Para leer los caracteres se utilizará el método cin.get().

Solución

 

(*) Práctica obligatoria.

(**) Práctica obligatoria en la que hay que entregar el diagrama de flujo completo.