Ejercicios de programación sobre funciones

Las funciones se usan en programación muy ampliamente, aunque dependiendo del lenguaje pueden llamarse de otro modo o cambiar un poco su filosofía. Las que en estos ejercicios te planteo son funciones básicas, que deberás plantear

Los ejercicios están ordenados por dificultad, así que te recomiendo que si los ves muy fáciles aumentes el nivel de dificultad avanzando, y al contrario si los ves muy difíciles.

  1. Escribe una función que permita calcular el cubo de un número real
  2. Crea una función que transforme distancias de yardas a metros (1 yarda = 0,9144 metros)
  3. Programa una función que transforme distancias de millas a kilómetros (1 milla = 1,852 kilómetros)
  4. Desarrolla una función que calcule el máximo entre dos números.
  5. Implementa una función que calcule el mínimo entre dos números.
  6. Función que reciba un número y devuelva 1 si es positivo, 0 si es 0 y -1 si es negativo.
  7. Crear una función que devuelva la suma de los primeros N números naturales, con N como parámetro.
  8. Elabora una calculadora simple, que mediante un menú muestre las opciones disponibles: 1. Sumar, 2. Restar, 3. Multiplicar, 4. Dividir, 5. Salir. Utiliza para el menú una función que devuelva la opción elegida.
  9. Realizar una función, a la que se le pase como parámetro un número N, y muestre por pantalla N veces, el mensaje: “Módulo ejecutándose”
  10. Implementa una función que calcule el máximo de 3 números.
  11. Programa una función a la que se le pasa un número entero y devuelve si es primo o no.
  12. Elabora una función a la que se le pasan dos enteros y muestra todos los números comprendidos entre ellos, inclusive.
  13. Escribe una función que muestra en pantalla el doble del valor que se le pasa como parámetro.
  14. Función a la que se le pasa un número entero y devuelve la cantidad de divisores primos que tiene.
  15. Crear una función que devuelva la suma de los primeros N números naturales, con N como parámetro. La función anterior debe recibir como parámetro además la variable donde deberá ir el resultado.
  16. Elabora una función que calcule el máximo de una tabla de n elementos. Puedes usar parámetros variables para la función.
  17. Función a la que se le pasa un número entero y devuelve en un array los divisores primos que tiene.
  18. Escribe una función que calcule el máximo común divisor de dos números.
  19. Desarrolla una función que calcule el máximo común divisor de tres números.
  20. Implementa una función que calcule el máximo común divisor de N números.
  21. Crea una función que calcule el mínimo común múltiplo de dos números.
  22. Escribe una función que calcule el mínimo común múltiplo de tres números.
  23. Elabora una función que calcule el mínimo común múltiplo de N números.
  24. Función que calcule a elevado a n
  25. Implementa una función que devuelva en cuántos factores primos se puede descomponer un número entero dado. Por ejemplo, 6 tiene se puede descomponer en 2 factores primos: 2 y 3 (2 * 3 = 6). 36 se puede descomponer en 2*2*3*3, 4 factores primos. 2 sólo tiene 1 factor primo, el mismo. Importante tener en cuenta que el 1 no lo tomamos como factor primo a la hora de la descomposición.
  26. Función que elimine los espacios en blanco a izquierda y derecha de una cadena.
  27. Crea una función que determine si una cadena está vacía o no. Se considera cadena vacía la que no tiene ningún carácter, aquella que sólo tiene espacios en blanco o la que es nula.
  28. Escribe una función llamada indexOf que reciba una cadena, y un carácter y nos diga la primera posición de ese carácter, o -1 si no está. Comprobadlo pidiendo una palabra y un carácter al usuario.
  29. Mejorar la función indexOf de forma que tenga un parámetro más, que indicaría a partir de qué posición debe buscar la función el carácter dentro de la cadena.
  30. Crea una función que devuelva Verdadero si dos cadenas son iguales, sin importar las mayúsculas y las minúsculas, y falso en caso contrario. NOTA: no se puede usar la comparación cadena1 = cadena2, hay que hacerlo carácter a carácter.
  31. Desarrolla una función que compara si una palabra es la inversa de otra.
  32. Crea una función que nos dice si una palabra es o no un palíndromo. Un palíndromo es una palabra que se lee igual de izquierda a derecha que de derecha a izquierda.
  33. Implementa las funciones inserta(cadena,subcadena,posicion), borra(cadena,subcadena). El parámetro ‘cadena’ será por referencia y los otros por valor. La función inserta añadirá la subcadena en cadena a partir de la posición especificada. La función borra eliminará la subcadena indicada de la cadena. Tener en cuenta los posibles errores de usuario.
    Ejemplo de inserta: inserta(«patata»,»lo»,3) –> «palotata»
    Ejemplo de borra: borra(«casita»,»it») –> casa
  34. Crea una biblioteca de funciones matemáticas que contenga las siguientes funciones. Recuerda que puedes usar unas dentro de otras si es necesario.
    • esCapicua: Devuelve verdadero si el número que se pasa como parámetro es capicúa y falso en caso contrario.
    • esPrimo: Devuelve verdadero si el número que se pasa como parámetro es primo y falso en caso contrario.
    • siguientePrimo: Devuelve el menor primo que es mayor al número que se pasa como parámetro.
    • potencia: Dada una base y un exponente devuelve la potencia.
    • digitos: Cuenta el número de dígitos de un número entero.
    • voltea: Le da la vuelta a un número.
    • digitoN: Devuelve el dígito que está en la posición n de un número entero. Se empieza contando por el 0 y de izquierda a derecha.
    • posicionDeDigito: Da la posición de la primera ocurrencia de un dígito dentro de un número entero. Si no se encuentra, devuelve -1.
    • quitaPorDetras: Le quita a un número n dígitos por detrás (por la derecha).
    • quitaPorDelante: Le quita a un número n dígitos por delante (por la izquierda).
    • pegaPorDetras: Añade un dígito a un número por detrás.
    • pegaPorDelante: Añade un dígito a un número por delante.
    • trozoDeNumero: Toma como parámetros las posiciones inicial y final dentro de un número y devuelve el trozo correspondiente.
    • juntaNumeros: Pega dos números para formar uno.
      Ahora:
    • Muestra los números primos que hay entre 1 y 1000 usando la función esPrimo.
    • Muestra los números capicúa que hay entre 1 y 99999 usando la función esCapicúa.
  35. Escribe una función que pase de binario a decimal.
  36. Implementa una función que pase de decimal a binario.
  37. Une y amplía los dos programas anteriores de tal forma que se permita convertir un número entre cualquiera de las siguientes bases: decimal, binario, hexadecimal y octal.
  38. Función que devuelva un array ordenado.
  39. Crea una biblioteca de funciones para arrays (de una dimensión) de números enteros que contenga las siguientes funciones:
    • generaArrayInt: Genera un array de tamaño n con números aleatorios cuyo intervalo (mínimo y máximo) se indica como parámetro.
    • minimoArrayInt: Devuelve el mínimo del array que se pasa como parámetro.
    • maximoArrayInt: Devuelve el máximo del array que se pasa como parámetro.
    • mediaArrayInt: Devuelve la media del array que se pasa como parámetro.
    • estaEnArrayInt: Dice si un número está o no dentro de un array.
    • posicionEnArray: Busca un número en un array y devuelve la posición (el índice) en la que se encuentra.
    • volteaArrayInt: Le da la vuelta a un array.
    • rotaDerechaArrayInt: Rota n posiciones a la derecha los números de un array.
    • rotaIzquierdaArrayInt: Rota n posiciones a la izquierda los números de un array.
  40. Crea una biblioteca de funciones para arrays bidimensionales (de dos dimensiones) de números enteros que contenga las siguientes funciones:
    • generaArrayBiInt: Genera un array de tamaño n x m con números aleatorios cuyo intervalo (mínimo y máximo) se indica como parámetro.
    • filaDeArrayBiInt: Devuelve la fila i-ésima del array que se pasa como parámetro.
    • columnaDeArrayBiInt: Devuelve la columna j-ésima del array que se pasa como parámetro.
    • coordenadasEnArrayBiInt: Devuelve la fila y la columna (en un array con dos elementos) de la primera ocurrencia de un número dentro de un array bidimensional. Si el número no se encuentra en el array, la función devuelve el array {-1, -1}.
    • esPuntoDeSilla: Dice si un número es o no punto de silla, es decir, mínimo en su fila y máximo en su columna.
    • diagonal: Devuelve un array que contiene una de las diagonales del array bidimensional que se pasa como parámetro. Se pasan como parámetros fila, columna y dirección. La fila y la columna determinan el número que marcará las dos posibles diagonales dentro del array. La dirección es una cadena de caracteres que puede ser “nose” o “neso”. La cadena “nose” indica que se elige la diagonal que va del noroeste hacia el sureste, mientras que la cadena “neso” indica que se elige la diagonal que va del noreste hacia el suroeste.

Vuelve al listado general de ejercicios de programación.