Ver índice de contenidos del libro

18.11. Ejercicios

Ejercicio 18.11.1. Escribir una función que reciba un número positivo n y devuelva la cantidad de dígitos que tiene.

Ejercicio 18.11.2. Escribir una función que simule el siguiente experimento: Se tiene una rata en una jaula con 3 caminos, entre los cuales elige al azar (cada uno tiene la misma probabilidad), si elige el 1 luego de 3 minutos vuelve a la jaula, si elige el 2 luego de 5 minutos vuelve a la jaula, en el caso de elegir el 3 luego de 7 minutos sale de la jaula. La rata no aprende, siempre elige entre los 3 caminos con la misma probabilidad, pero quiere su libertad, por lo que recorrerá los caminos hasta salir de la jaula.

La función debe devolver el tiempo que tarda la rata en salir de la jaula.

Ejercicio 18.11.3. Escribir una función que reciba 2 enteros n y b y devuelva True si n es potencia de b. Ejemplos:

>>> es_potencia(8,2)
True
>>> es_potencia(64,4)
True
>>> es_potencia(70,10)
False

Ejercicio 18.11.4. Escribir una funcion recursiva que reciba como parámetros dos strings a y b, y devuelva una lista con las posiciones en donde se encuentra b dentro de a. Ejemplo:

>>> posiciones_de("Un tete a tete con Tete", "te")
[3, 5, 10, 12, 21]

Ejercicio 18.11.5. Escribir dos funciones mutualmente recursivas par(n) e impar(n) que determinen la paridad del numero natural dado, conociendo solo que:

  • 1 es impar.
  • Si un número es impar, su antecesor es par; y viceversa.

Ejercicio 18.11.6. Escribir una función que calcule recursivamente el n-ésimo número triangular (el número 1 + 2 + 3 + ... + n).

Ejercicio 18.11.7. Escribir una función que calcule recursivamente cuántos elementos hay en una pila, suponiendo que la pila sólo tiene los métodos apilar y desapilar, y no altere el contenido de la pila. ¿Implementarías esta función para un programa real? ¿Por qué?

Ejercicio 18.11.8. Escribir una funcion recursiva que encuentre el mayor elemento de una lista.

Ejercicio 18.11.9. Escribir una función recursiva para replicar los elementos de una lista una cantidad n de veces. Por ejemplo, replicar ([1, 3, 3, 7], 2) = ([1, 1, 3, 3, 3, 3, 7, 7])

Copyright (c) 2011-2014 Rosita Wachenchauzer, Margarita Manterola, Maximiliano Curia, Marcos Medrano, Nicolás Paez. La copia y redistribución de esta página se permite bajo los términos de la licencia Creative Commons Atribución - Compartir Obras Derivadas Igual 3.0 siempre que se conserve esta nota de copyright.